Challenges in Payment Customization API Implementation

Topic summary

Developers are struggling with Shopify’s Payment Customization Function API due to inconsistencies between payment method names displayed in checkout versus those sent in the API’s input data.

Core Issue:

  • The API receives internal names (e.g., “(for testing) Bogus Gateway”, “PayPal Express Checkout”) that differ from customer-facing labels (“Credit card”, “PayPal”)
  • Merchants copy visible checkout names for configuration, but these don’t match the API identifiers, causing rules to fail
  • Some payment methods like “Deferred” appear in the API without clear explanation

Specific Problems:

  • Cannot hide or reorder credit card methods when merchants use the displayed name
  • Alphabetical sorting fails due to name mismatches
  • Position changes don’t work as expected
  • Workarounds like substring matching work for PayPal but not for credit cards

Additional Context:

  • One respondent notes that credit card customization in the U.S. and Canada requires Shopify Plus plan; other plans can only customize non-credit card methods
  • Community members report Shopify shows little interest in addressing these API documentation gaps

Status: The discussion remains unresolved with no official solution provided.

Summarized with AI on October 28. AI used: claude-sonnet-4-5-20250929.

We have developed an application that is based on the Payment Customization Function API, which allows for conditional operations on shipping payments:

  • Sorting payment method names
  • Hiding/showing selected payment methods
  • Changing the position of a payment method (e.g., setting it to the first position)

The application is functional, we have installations, however, we encounter some challenges that may cause it to appear as if the application is not functioning correctly for sellers.

The entire source of the problems stems from the data sent in the Input function, specifically the PaymentCustomizationPaymentMethod field. Sample data sent in this API:

"paymentMethods": [
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/0",
      "name": "(for testing) Bogus Gateway"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/1",
      "name": "PayPal Express Checkout"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/2",
      "name": "Deferred"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/3",
      "name": "Cash on Delivery (COD)"
    }
  ]

And a preview in the checkout looks like what’s shown on the screen.

It can be seen that what we receive in our function is different from what we see in the checkout. This generates a whole host of problems for customers. In the client’s intention, they have no idea what is being sent to us in the background, so they simply copy the name from the checkout and use it:

  1. They see Credit card, but in reality, it is (for testing) Bogus Gateway.
  2. They see PayPal , but in reality, it is PayPal Express Checkout.
  3. Deferred appears out of nowhere, and it is unclear what it is.

Manually added payment methods such as Cash on Delivery (COD) work correctly.

Example scenarios where a customer configures rules:

  • The customer wants to hide Credit card for specific conditions. They enter such a value in the application’s configuration, and it doesn’t work. From the script’s perspective, there is no payment named Credit card.
  • The customer wants to alphabetically sort payment methods and is unable to achieve it.
  • The customer wants to move a selected shipping method to a specific position (e.g., they want to move Credit card to the last position).

In the case of PayPal, you can use a mechanism to check if the phrase contains a string, but in the context of Credit card, this would not work.

2 Likes

Hi,
Have you got any solution to hide, reorder Bogus gateway. i checked with actual name but still its not working.

For stores on the Shopify Plus plan:
If your store is on the Shopify Plus plan, you have the added capability to fully customize credit card fields. This includes hiding, renaming, reordering, or sorting credit card options, in addition to other payment methods.

For stores on any other Shopify plan:
If your store is on the Basic Shopify plan or higher (but not on the Shopify Plus plan), you still have access to payment method customization apps. However, in the United States and Canada, these customizations are limited to non-credit card payment methods. You can hide, rename, reorder, or sort alternative payment methods, but any custom settings applied to credit card fields won’t take effect during checkout. Credit card options will remain standard, as offered by Shopify.

To enable customizations for credit card fields in the U.S. and Canada, upgrading to the Shopify Plus plan is required.

Are you currently using the Shopify Plus plan? If not, this might explain the challenges you’re facing when trying to hide or reorder credit card payment methods.

It seems they have 0 interest in improving this I guess: