Nop 4.0 and Paypal Direct Error

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
6 years ago
Hi

I am using 4.0.
I am getting the following error

Error while placing order. Error 1: Payment error: PayPal error: Invalid request. See details. (VALIDATION_ERROR). Error 2: Payment error: transactions[0].amount.currency Value is not supported..

Configurations as below
Client ID  (copied from my paypal account)  
Client secret   (copied from my paypal account)  
Webhook ID  (empty)
Transaction mode  (Authorized)  
Use Sandbox  (ticked)
Pass purchased items  (ticked)
Additional fee   (0.00)
Additional fee. (unticked)

Where did I miss?

Thanks in advance,
Wilson
6 years ago
Anyone please?
6 years ago
wilsonteo wrote:
currency Value is not supported

Hi Wilson,

According to error info, your value is not supported. Which value you are using? Try with USD on sandbox mode.

Regards,
Tomasz
6 years ago
Hello,

Please check amount which is going to PayPal from nop.

It is converting issue.

For an instance.

Amount is not convert properly decimal or float to string.
Or
Your amount is "12.40" and passed "12.0" amount to PayPal.

May be it is currency related issue.

Further, you also see this https://developer.paypal.com/docs/classic/api/currency_codes/.

It would help for you.

Thanks,
6 years ago
Thank you very much for your kind replies, Tomasz and sk5202.

Below is my Nop 4 setup and I wonder if it is where it causes the conversion issue.
The plugin is PayPal.Direct

1. Nop 4 is hosted in US Server
2. My PayPal Business account is in Malaysia which is able to accept USD and MYR
3. The store default currency is MYR. According to PayPal.develper portal document, it is supported.
4. I am using a Malaysia credit card to test (currency in MYR)

As for the conversion issue mentioned by sk5202, I am debugging it to find out (have some issue in debugging the plugin and I am working on it).

Kindly advice whether the setup in the payment module is workable? I want the store currency to be MYR.

Thanks in advance,
Wilson
6 years ago
I found the payment error() issue.

I followed Tomasz's advice and changed the primary currency to USD, the error has gone.

But now, my next issue is,
I simply keyed in a credit card info in during checkout and it confirmed the order without error. Doesn't it will verify the credit card before confirming the order?
5 years ago
We are having issues with PayPal Direct integration on Nop 4.0 'Payment error: PayPal error: Unauthorized payment. (UNAUTHORIZED_PAYMENT)'. I could not find a real solution on any boards. Did anyone have similar issues? Does it work with PayPal Payments Pro? Do I have to upgrade my PayPal account for it to work? Thank you.
5 years ago
PayPal Direct only works with a PayPal Pro business account. We are using it this way with version 3.4
PayPal is forcing us however to TLS 1.2 only, the absolute deadline is June 30th.

If I understand it right PayPal is deprecating their whole REST API that they had for Direct payments(direct = customers does not leave your website when he pays), they allow us to use it still because we were already using it for some years.

They are now clearly directing each new customer with direct banking card entry needs towards Braintree (they aquired this company some years ago, it is a PayPal company) so I suggest you look for Braintree integration instead.

There is a catch however, there are two methods to accept direct payments:

A./ I think, all the available plugins work this way: The customer enters his card data on YOUR website, YOUR server forwards it to the payment processor (PayPal, Braintree, Stripe or whatever). This way you are in posession of sensible card data (we are not storing them, but theoretically we could), you have to be PCI DSS compliant on Level C for this. To get this certification is not easy, and I think for small companies almost impossible, and not worth it either. (there are four levels of PCI from A to D, A is the easiest)

B./  Braintree (and Stripe + maybe some others) are advising their split solution, this is when you are not touching the customer's card data: Your server sends a form to your customers with a link to a javascript file on the payment processor's server. The customers browser runs this javascript, this script uploads his card data directly and ecrypted to the processors server, and gets back a 'nonce' (Stripe calls it 'token') that identifies the payment session. You get back only this token from the customer, append the sum, and your other selling info to it, and send this to the processor for collecting the money. This way you are not touching the customer's card. You still need to be PCI DSS compliant for this, but only on Level A. This is az easy thing, you just fill out a form yearly. The approval is almost certain and immediate.

Right now I am now working on solution B for our new nop4.0 (4.1?) website we are moving our webshop to
Four reasons I am doing this:
1. I was not able to find a ready-made plugin using method B, and I definitely need the source code, (not just for fine-tuning, but would be concerrned to sign the PCI form if I am not 100% aware of what that code is doing, same thing when you are asked at the airport if it was you personally who packed your suitcase)
2. It is not clear how long PayPal will keep this API working for us, we are having troubles with TLS1.2 anyway.
3. We are getting tired of the more-and-more complicated PCI DSS Level C certifications.
4. With the GDPR in mind, and also for good sense, I will sleep better if we are not touching unnecessary data like credit card numbers.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.