HotcakesCommerce / hotcakes-commerce-core

The core of the e-commerce part of the overall solution. This is an ecommerce shopping cart solution built on top of the DNN (DotNetNuke) CMS. Anyone can do commerce online now!
https://mmmcommerce.com
MIT License
70 stars 55 forks source link

SI: INVALID_PARAMETER_SYNTAX PayPal Payments Pro #479

Closed gnossosp closed 11 months ago

gnossosp commented 1 year ago

Sponsorship

If this request requires additional support (e.g., such as direct email/phone/meeting/development), I have the following interest in helping to sponsor the effot via GitHub Sponsors:

Describe the bug

Payments with comma in price (1,000.00) throw format error message in sandbox.

Software Versions

To Reproduce

Steps to reproduce the behavior:
Place an order in sandbox over 999.00 generates error

Expected behavior

should be able to place orders for products over 1,000.00

Actual behavior

Placing Order with prices up to 999.00 works fine $1,000.00 triggers a format error.

Screenshots

If applicable, add screenshots to help explain your problem.

Error log

Note: Debug DLL's
Please replace the current extension DLL's with the debug DLL's (if these are available with the release) and reproduce the error with the debug DLL's before pasting the error log.

Request "purchase_units": [ { "amount": { "breakdown": { "item_total": { "currency_code": "USD", "value": "1,000.00" } Response { "description": "The value of a field does not conform to the expected format.", "field": "/purchase_units/@reference_id=='default'/amount/breakdown/item_total/value", "issue": "INVALID_PARAMETER_SYNTAX", "location": "body", "value": "xxxxxx" }

Additional context

Is there a way to strip the comma out of prices sent from hotcakes?

WillStrohl commented 1 year ago

Thank you for reporting this, @gnossosp , and also for being a sponsor! We've put this into our development queue to see if we can reproduce the issue.

gnossosp commented 1 year ago

Yeah.. it's an issue with Hotcakes, at least it is on the two instances I've installed and tested. I'm hoping that this will be an easy fix, but sometimes things just aren't.

Here is response from PayPal Tech Support.

Thank you for contacting PayPal Global Technical Support. I understand you are having an issue with processing payments over $1K in Sandbox. I can understand this issue is frustrating and I do apologize for any inconvenience.

You cannot add special characters in the amount. So if you are processing a payment of $1K you need to input the amount as 1000.00 instead of 1,000.00. USD uses two decimals and no commas for the amount.

If you continue to receive errors, please send your complete request and complete response in a .txt attachment.

I apologize for the inconvenience this issue has caused. Thank you for using PayPal and have a wonderful day!

Sincerely,

Jennifer Global Technical Support PayPal, Inc.

libanlsilva commented 11 months ago

Hello @gnossosp I've managed to replicate the issue you described. This happens because PayPal's API doesn't accept comma-separated formats for payment amounts. We're working to resolve this situation as quickly as possible. Thank you very much for reporting this.

Regards, CC: @WillStrohl

WillStrohl commented 11 months ago

FYI - The PR is merged and this update will be available in the next release.

WillStrohl commented 11 months ago

This update is now available in the latest release.