I am using magento 2.3.3 and I have enabled default magento Payflow Pro with Express checkout payment method. I have configured all required paypal merchant account details in admin area within payment method settings.
Now, if I try to place order with Express checkout method then it works fine. However, when I try to place order with credit card method then first paypal authorization request fired successfully with 0 amount. But then nothing happens and loader keeps spinning. I have also enabled debug mode and check logs in all log files but nothing relevant error information found.
This is default magento and I believe that there is no problem with paypal merchant account details configured at admin side otherwise Express method won't work. I have also found this issue created by someone on github magento2 repo at https://github.com/magento/magento2/issues/4408. However, no one had provided any exact solution over there as well.
Does anybody faced this issue in any project? Please help me as I am trying to resolve it since last few days.
Thanks in advance!
Best Answer
After lot of googling, I have also got multiple findings which can be the solution and might help someone looking for the same issue. Here I am listing all those one by one:
1) You need to configure Return URL Method in your manager.paypal.com account: Service Settings -> Hosted Checkout Pages -> Set Up -> Payment Confirmation section.
2) Go to your manager.paypal.com,
i) Then go at "Home --> Service Summary --> Hosted Checkout Pages -->Set up" and set Cancel URL Method to POST;
ii) Return URL Method: POST;
iii) Enable Secure Token: Yes;
This will capture the real amount after authorize the amount 0, this action works immediately.
3) Go to "Paypal Manager --> Account Administration --> Transaction Settings" and set Allow reference transactions to Yes. This action will take effect in an hour.
Hope this might be useful to others.