Ivan Milic - Networks expert Ivan Milic CEO Ivan Milic

Top Menu

× To post a question you must be signed in.

Could not process order because it was not possible to save the payment on PayPal

21 May 2022 06:15 - 21 May 2022 06:25 #6164 by Tomas Thorne
Hi Holest Team. 

we know this is not related to your products but we have a massive problem that will ruin our business if we don't do something about it. I remember how you handle your support before so it came to my mind you can help me. So I beg and throw myself in the mercy of you for your help.
We had to swap from WooCommerece PayPal standard to WooCommerece PayPal payments plugin. Now every second purchase turns out FAILED. In order log I see this message:

"Could not process order because it was not possible to save the payment on PayPal. Order status changed from On hold to Failed."

I contacted PayPal and they say this is not their problem. I also contacted PayPal payment plugin support and they claim this is OK - not sure how.

I'm desperate! Please help me! 

P.S. we are committed users of your SellingCommander platform. We have 3 sites and we use it on all of them to manage and synchronize products. Most of our staff even does not know how to edit products in the default WooCommerce backend because they are just used to table input and SellingCommander is more natural for them because it has tabular input as office apps they are used to.  We will forever be your faithful customers - especially if you help us now!

 

Please Log in or Create an account to join the conversation.

21 May 2022 06:50 #6165 by Super User
Hi,

we don't give support for other companies' products but in this case, we will make an exception because we know you and we had a similar problem recently so we have a solution out of the box.

Plugin developers told you this is ok. This is somehow true. We have also involved in the payments industry (on the domestic market) so we understand them. You probably sell subscriptions. So what happens is that this module cancels payment (although it originally succedes) because it can not save the customer's credit card vault. Vault is a kind of token that PayPal can use to charge customers' credit cards in the future without the need for customers to enter CC PAN/EXP/CCV again (in the background). This method is called C.O.F. - Card-On-File. Plugin cancels subscription in order to protect your business interests if PayPal can not save the vault (so it can charge customers for subscription regularly). If the customer chooses not to save a card or in some cases because of his bank policy or type of cart PayPal will not be able to save the vault and this happens.

Now, what if you don't care about this - If you can just cancel the service if the customer does not pay you or if you have other means to limit use - then you of course want to charge the customer and you will just pause services if he does not settle payments. There comes a problem because WooCommerece PayPal payments plugin does not have an option for this. In that case, you can do this:

- Open for editing:
/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-vaulting/src/PaymentTokenChecker.php

-  Around line 117 you will see code like this:
$tokens = $this->payment_token_repository->all_for_user_id( $customer_id );
if ( $tokens) { 

- Change it like this:
$tokens = $this->payment_token_repository->all_for_user_id( $customer_id );
if ( $tokens || true) { //HOLEST FIX

- Save file

You will have to do (repeat) this after each WooCommerece PayPal payments plugin update (until they add an option for this so you don't have to change code)

After this plugin will stop canceling succeded payments if the vault could not be saved by PayPal.

Thanks,

 

Please Log in or Create an account to join the conversation.

Time to create page: 0.130 seconds