When a customer places an order from the shop (Magento 2.3.2) using PayPal PayFlow Credit Card payment method but sometimes payment failed for some of the customers and there is no any message displaying on the checkout page.
When place order button hit PayPal generates the secure token to for the further transaction. Let me explain you step by step.
Place order button hit
PayPal generates securetoken and securetokenid
PayPal authorize the transaction with AMT : 0
PayPal response with the error message on step : 3 requests.
'RESPMSG' => 'Field format error: 10004-The transaction id is not valid',
I see the API docs from the PayPal but PayPal not stated clearly any specific error message. They have written generic error message. Please check in this screen shot.
https://i.imgur.com/2od4nIr.png
If anyone help on this to know exact reason for the transaction failed that will help us or customer to understand in better way rather then to show a generic message from the PayPal error message.
Looking forward to hearing for a solution.
I suggest you contact support for this issue as changes were put in place due to rate limiting and other item for merchants who are on Magento due to this issue, https://support.magento.com/hc/en-us/articles/360025515991-PayPal-Payflow-Pro-active-carding-activity.
Related
I am in the process of setting up an Express Checkout button which allows both one-time and recurring payments in one button. The single payments are working fine in the sandbox but I am running into problems when setting up billing agreement payments.
I am able to create a billing agreement which returns the JSON for the agreement, but then redirecting the flow to the login/payment screen doesn't work and shows an error message:
"Things don't appear to be working at the moment. Please try again later."
Before the error, the URL is:
"https://www.sandbox.paypal.com/checkoutnow?version=4&locale.x=en_GB&fundingSource=paypal&sessionID=5..."
So something is wrong when processing the request, but there are no errors returned in the console log.
Can anyone give some advice how to fix this please? Much appreciated
We are a big webshop provider, and we have thousands of webshops in our system.
We have a case where we get an error in DoExpressCheckout with PaymentAction of Authorization here is the error
Ack: FAILURE
Build: 000000
Version: 117.0
Timestamp: 2017-04-06T08:54:36Z
CorrelationID: 4d6d16d1d30fa
ErrorCode: 10423
SeverityCode: ERROR
ShortMessage: Transaction refused because of an invalid argument. See additional error messages for details.
LongMessage: This transaction cannot be completed with PaymentAction of Authorization.
We have no clue what is wrong. Because it happens for specific paypal account of a specific customer.
We have two shops / one of a customer of us. Where we get the error. We made another shop in our system where we connected a paypal verified business account and then with another real personal account we bought an item from that shop and it all works. No errors.
We tried to the the same for this problematic customer and we get the error. We are sure that the code we use is the same in both cases and there is no difference in our handling. So the question is what could be wrong on the other paypal business account?
Could it be an SDK problem?
Did you even try to google it? I googled 'paypal 10423' and found:
Issue PayPal returned API error code 10423 - This transaction cannot be completed with PaymentAction of Authorization. Cause You set PaymentAction to "Sale" with SetExpressCheckout at the first API call.
Not sure if this article may help you:
https://www.paypal-knowledge.com/infocenter/index?page=content&expand=true&locale=en_US&id=FAQ1015
Apparently its because your setting the payment action to sale on a SetExpressCheckout then switching to Authorization. Paypal doesn't allow this and advises to set the PaymentAction to Authorization with the SetExpressCheckout then swap to Sale when setting the DoExpressCheckout call.
This is how we post the request to SetExpressCheckout:
SetExpressCheckoutRequestDetailsType req = new SetExpressCheckoutRequestDetailsType();
.....
PaymentDetailsType paymentDetails = new PaymentDetailsType();
paymentDetails.PaymentAction = PaymentActionCodeType.AUTHORIZATION;
paymentDetails.ShipToAddress = ....
req.PaymentDetails.Add(paymentDetails);
So we are 100% sure we use Authorize, and we do the same for DoCheckout, so it seems like PayPal is thinking we did Sale as PaymentAction why is that?
I have a client who is using sage pay as their payment provider, it gives the option to pay by paypal when clicking through to sagepay.
It appears for some transactions where the user has selected "Paypal", sagepay is not receiving a confirmation back that the payment was successful.
Therefore the website is seeing the transaction as failed.
This isn't happening with every paypal transaction but enough that it is starting to cause an issue.
Is anyone else having this problem
How do I start to think about handling it?
We are using the secure token method to process credit card payments with PayPal hosted pages. We generate the secure token by providing the required information
[TRXTYPE=S, AMT=xxx, TENDER=C, ORDERID=xxxxxxxxxxxx, CURRENCY=USD, CREATESECURETOKEN=Y, SECURETOKENID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, PARTNER=Paypal, VENDOR=xxxxxx, USER=xxxxxx, PWD=xxxxxx]
We get the success result as follows:
{"RESULT"=>"0", "SECURETOKEN"=>"xxxxxxxxxxxxxxxxxxxxxxxxx", "SECURETOKENID"=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "RESPMSG"=>"Approved"}
We then send this back to PayPal where the user can choose to pay with credit card and or PayPal.
When someone pays with credit card, all is fine, when someone chooses to pay using "PayPal" it asks user for PayPal credentials and once provided it shows another screen to accept the charges. Once the user accepts, we get the following error message:
{"TYPE":"S","RESPMSG":"Original transaction ID not found: xxxxxxxxxxxx","TAX":"0.00","PNREF":"xxxxxxxxxxxx","TENDER":"P","AVSDATA":"XXN","METHOD":"P","SECURETOKEN":"xxxxxxxxxxxxxxxxxxxxxxxxx","AMT":"1.00","SECURETOKENID":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","TRANSTIME":"2014-01-02 06:09:02","ORDERID":"xxxxxxxx36U1","RESULT":"19","DUPLICATE":"2","TRXTYPE":"S","action":"create","controller":"payment_notifications"}
The help I got from PayPal folks says "Looking at the logs it seems like the transaction was declined with the result code 19 which means that the transaction ID you entered for this transaction is not valid. When searched for the original transaction, I could not find any. So, it seems like the original transaction is not valid. Provide an valid original transaction ID and it should go through fine."
However nowhere in their documentation do they suggest to send this "transaction ID" variable and without it we have been processing Credit Card payments just fine.
My question:
What do i need to change in my process that I can accept Credit Card and PayPal payments?
Any help will be greatly appreciated.
It seems the issue was on PayPal side and they have yet to come back to us with an answer. Once thing which they do not openly advertise is that they have the ability to remove the Pay with PayPal button form the hosted pages so if someone else runs across the same issue they should ask PayPal to remove the Pay with PayPal button from their end, made sure to confirm that you are not disabling the service from express checkout just hiding the button.
Hi I'm setting up paypal pro for a client. I need reference transactions to work as we would have to bill the customer each month and sometimes the amount may vary.
Credit card payment
The code flow has been tested with paypal sandbox and it completely works. But with the real account we get the following error.
"This transaction cannot be processed. Please contact PayPal Customer Service."
Paypal Account Payment/Express Checkout
It did not work with paypal sandbox too owing to reference transactions not being enabled. i'm facing a similar situation with the paypal pro account too. I get the error
"Merchant not enabled for reference transactions"
We sent a request to paypal asking them to enable reference transactions. They replied back assuring they did but I still get the same error. I even tried removing the current api signature and recreating a new one. But I still get the same error.
Has anyone faced a similar situation ?
Is there any sure way of verifying if reference transactions is enabled?
If it is not, is there a way to enable it other than going through paypal's customer service (it's appalling) ?
Yes it's easy.
Just try to make a payment with a billing agreement.
Just above the confirmation message on the PayPal website it will show:
Use PayPal for future payments to XXX Inc. Payments will be made with
your default payment method unless you select a preferred payment
method. To make changes, go to My money in your Profile, and update
the My preapproved payments section.
If you don't see that message they're not enabled (or your request is wrong). But of course you can check in the sandbox to make sure the request is correct.