Issue with PayPal Standard Plugin

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
7 years ago
Version: nopCommerce 3.80

Error Type: PayPal IPN

Error on customer's side: During the checkout, when customer is navigated to the PayPal site, it says "Things don't appear to be working at the moment. Please try again later."

Order status: The order status is left Pending

Customization: NO

Settings in administration section: Billing address is disabled in this case during checkout process. Billing address can't be mandatory in this case because of some products with $0 price and some paid. It will be a bad user-experience to ask for billing address for products with $0 price.

Website Log:

Log level
Error
Short message
PayPal IPN. Order is not found
Full message
Nop.Core.NopException: Paypal IPN: mc_gross: XX.00 invoice: XXXX- XXXX - XXXX - XXXX - XXXX protection_eligibility: Eligible address_status: confirmed item_number1: payer_id: XXXXXXXX tax: X.00 address_street: XXXX payment_date: XXXXX+2017+PDT payment_status: Completed invoice_id: XXXX-XXXX-XXXX-XXXX charset: windows-1234 address_zip: XXXXXX  first_name: XXXX mc_fee: X.00 address_country_code: US address_name: XXXX notify_version: 3.8 custom: 0 payer_status: verified business: XXXXXX.com address_country: United+States num_cart_items: 1 address_city: XXXXX verify_sign: XXXXXX payer_email: XXXXXX.com txn_id: XXXXXXX payment_type: instant payer_business_name: XXXXX last_name: XXXX: TX item_name1: XXXXXX receiver_email: XXXXX.com payment_fee: X.00 quantity1: 1 receiver_id: XXXXX txn_type: invoice_payment mc_gross_1: XX.00 mc_currency: USD residence_country: US transaction_subject: invoice_number: XXXX payment_gross: XX.00 ipn_track_id: XXXXX New payment status: Paid
7 years ago
I reached out to PayPal tech support regarding this error and this is what they said:


Thank you for contacting PayPal Merchant Technical Support.

PayPal has recently updated our checkout to a more streamlined experience. While most integrations work with this new PayPal checkout automatically, some integrations have issues that cause the user experience to fail. Some of the most common reasons for failed validation checks are:

Passing currency symbols ("$", "£", etc.) or values other than integers (1, 2, 3, etc.) and decimal points (“.”) in the amount field. For example, "1234.50" is correct, but "$1,234.50" isn't allowed.
Passing country code values greater than two letters. For example, "FR" is correct, but "France" or "fr_FR" isn't allowed.
Passing more than 127 characters in the item_number field. For example, don't use the item_number field for "Note to Buyer" information.
Passing more than 64 characters in the option fields (on0, on1, etc.).
Passing duplicate empty parameters.
Passing address_override=1 without passing an address.

The most pressing thing, and what is causing the error, is that your request is sending address_override=1, but no address is being passed. The minimum requirement is to send the shipping country, however it is recommended to pass values for address1, city, state, and zip as well. Alternatively, you can remove the address_override parameter and let the customer enter the shipping details themselves on the PayPal site.

In addition, there are several parameters being passed which are not a part of the PayPal Payments Standard library. These are currently being discarded from the request, but could cause problems in a future update. The unrecognized parameters are: PDT, AutoReturn, IPN, and login_email.

You can review the PayPal Payments Standard HTML library here:

https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/

Also, there is a microsite which explains the recent changes in greater detail here:

https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ2067&expand=true&locale=en_US
7 years ago
L.K wrote:
Error Type: PayPal IPN
...
Error on customer's side: During the checkout, when customer is navigated to the PayPal site, it says "Things don't appear to be working at the moment. Please try again later."

1. Could you please clarify when it happens? When a customer is redirected to PayPal (right after a store site)? Or when an order is paid on PayPal site and later on the IPN page. Please note that a customer cannot see results of IPN page because it's invoked by PayPal notification system


2. Does it start working fine hwne you enable billing address?
7 years ago
a.m. wrote:

1. Could you please clarify when it happens? When a customer is redirected to PayPal (right after a store site)? Or when an order is paid on PayPal site and later on the IPN page. Please note that a customer cannot see results of IPN page because it's invoked by PayPal notification system


2. Does it start working fine hwne you enable billing address?



1) This happens when a customer is checking out from the nopCommerce 3.80 site and redirected to PayPal site to make the payment (right after a store site). In other words, customer never gets an opportunity to actually make the payment.


2) Yes, I just tested with disable billing address UNCHECKED (& in Customer settings - 'Street address' enabled, 'Zip / postal code' enabled, 'City' enabled, 'Country' enabled, 'State/province' enabled)

In this case, I was able to get to the PayPal site (payment page) without any error.


3) I also tested point#2 with Customer settings - 'Country' enabled ONLY - I got the same error when I was redirect to PayPal site right after a store site: "Things don't appear to be working at the moment. Please try again later."


It seems like with the new changes/updates on PayPal side, "disable billing address" option in nopCommerce throws an error and passing billing address seems to be a mandatory step in order for customer to make a payment successfully.
7 years ago
Are you sure that you received that IPN message (copied from the order details page > order notes tab) for that order? I mean the order when a customer even doesn't have an opportunity to enter payment details after redirection (the error is displayed). I'm asking it because IPN should be sent only when some event happens (e.g. payment is complete, or refund, etc). It doesn't happen right after customer redirection to PayPal site
7 years ago
a.m. wrote:
Are you sure that you received that IPN message (copied from the order details page > order notes tab) for that order? I mean the order when a customer even doesn't have an opportunity to enter payment details after redirection (the error is displayed). I'm asking it because IPN should be sent only when some event happens (e.g. payment is complete, or refund, etc). It doesn't happen right after customer redirection to PayPal site


IPN error message is in the system log (this error is about the same order# that was in "Pending" status when customer was unable to pay on PayPal site and the status was changed to PAID and COMPLETED manually as customer paid outside the website). I am not sure if one of the site events (or manual events) in this order triggered the IPN message to show up in the log?


There are only 3 notes/event statements in the order notes for all "Pending / Unsuccessful" order due to the PayPal issue:

"Order placed" email (to customer) has been queued. Queued email identifier:
"Order placed" email (to store owner) has been queued. Queued email identifier:
Order placed


Note: As of now, there is no new IPN message in the log (or order notes). When customer receives the error message on PayPal site "Things don't appear to be working at the moment. Please try again later." nothing shows up in the system log (or order notes except 3 event statements listed above). PayPal standard plugin seems to be not working when NO billing address is passed from nopCommerce site to PayPal.
7 years ago
I just received a new response from PayPal tech support as well.


Under normal circumstances, your customers enter their billing information on the PayPal site or log in to their existing PayPal account to supply the billing info. However, in your checkout, you are passing a parameter, address_override, which tells PayPal that you want to use the address that you designate instead of allowing the customer to enter their billing address. This disables the billing address fields so the customer is unable to edit them on PayPal. If they are blank because your site is not sending an address, then the transaction cannot process. This is why the checkout is giving an error, because the information being provided is incomplete to process the transaction. The best solution is to remove the address_override parameter from your checkout altogether (when your site's Disabled Billing Address is active), and it will work normally.
7 years ago
Update: I just reproduced this same issue in nopCommerce 3.90 version as well.

PayPal standard plugin seems to be not working when billing address is disabled (along with all the customer fields disabled)
6 years ago
Hi Lavish,

Thanks for detailed posts! We'll investigate and try to fix it - https://github.com/nopSolutions/nopCommerce/issues/2310
6 years ago
Thanks Andrei!

I will keep an eye on this topic for the fix / update on this issue.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.