Currency detection validation? CURRENCY_NOT_SUPPORTED_FOR_CARD_TYPE

Created on 18 December 2023, 11 months ago
Updated 2 January 2024, 11 months ago

We have PayPal Checkout (Preferred) for credit cards setup. (PayPal Commerce Platform features: Accept credit cards) - For some orders on checkout, the Paypal modal just spins infinitely and never loads further, nor does it ever show an error message. All of our products are set to USD, but have international buyers.

In the Paypal developer error log it shows the following response message:

{
  "debug_id": "0474a635b4295",
  "details": [
    {
      "description": "Currency code not supported for direct card payments using this card type. Please refer https://developer.paypal.com/docs/checkout/advanced/#link-eligibility for list of supported currency codes.",
      "issue": "CURRENCY_NOT_SUPPORTED_FOR_CARD_TYPE"
    }
  ],
  "links": [
    {
      "href": "https://developer.paypal.com/docs/api/orders/v2/#error-CURRENCY_NOT_SUPPORTED_FOR_CARD_TYPE",
      "method": "GET",
      "rel": "information_link"
    }
  ],
  "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
  "name": "UNPROCESSABLE_ENTITY"
}

Do we have something setup wrong somewhere or does the module need to have some additional validation built in?

🐛 Bug report
Status

Active

Version

1.0

Component

PayPal Checkout

Created by

🇺🇸United States kruser

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @kruser
  • 🇺🇸United States kruser

    After checking with Paypal Support, they discovered that the issue was caused by using a currency that is not supported for American Express transactions in Canada. Specifically, USD is not valid for this type of transaction.

    They have a list of card types and currencies that are supported in Canada and other countries - https://developer.paypal.com/docs/checkout/advanced/#link-eligibility

    To resolve this issue, there needs to be a way to ensure that you only pass certain currencies based on the card the person chooses and their billing country. Or a way to hide certain cards based on the billing country they select.

  • 🇮🇱Israel jsacksick

    Not really sure how we should approach this? What does this mean in preactice?

Production build 0.71.5 2024