Pancakeswap Addliquidity function not working on testnet


I deployed my experimental smart contract on BSC testnet. Oddly, my addliquidity function does not work. I have tried several times deploying different smart contract, even copied from open-source solidity codes, but there is some problem with the function. Contract address on bsc testnet: 0x6220eC7F45d0533549dD4300Dd3F18231eEcAc55
There you can have also look at addliquidity function.

function _addLiquidity() payable public {
           uint256 _amountToken = balanceOf(address(this));
            uint256 _amountETH = msg.value;
          (amountToken, amountETH, liquidity) =_router.addLiquidityETH{
              value: _amountETH
            emit CreatedLiquidity (amountToken, amountETH, liquidity);

Can anyone help why it might not work ?

Check that your contract has given the pancakeswap router sufficient allowance to take _amountToken out of the contract.

The function involves calling approve function as you can see below:


So I do not think that is the problem.