Ok, please do this:
In the form piece, you have this piece of code
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
ff_validate_submit();
JQuery('#paypalbutton').css('display', 'none');
bfToggleFields('on','section','regular_submit_button',bfDeactivateField);
});
}
Please change it so it looks exactly like this
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
console.log("Order Approve:");
console.log(details);
//ff_validate_submit();
//JQuery('#paypalbutton').css('display', 'none');
//bfToggleFields('on','section','regular_submit_button',bfDeactivateField);
});
}
Then before paying, right click on the screen and choose "inspect", then open the "console" tab. I want to track what details returns.
Then pay normally with a paypal account and copy the text in the "console" you see underneath "Order Approve:" and paste it somewhere for later.
Then pay with credit card and do the same.
Then post both texts in your next reply.
Then revert your code back to what it was.
Once I see what it returns, we can basically decide what happens when.
Regards,
Markus