Payment Method Placement in Non-Shopify Plus Stores

Hi, I’m having trouble understanding the discrepancy between the documentation and the actual data I’m receiving.

In the documentation for the “placements” field in “paymentMethods” it states the following:
Placements supported by this payment method. Only available for API clients installed on a Shopify Plus store.
I’m particularly interested in the phrase: Only available for API clients installed on a Shopify Plus store because, in reality, I’m constantly receiving “placements” for a store with a “Basic” plan!

So I have two questions:

  1. Is this an incorrect or outdated description, or does the issue happen due to the legacy setup, or is there another reason why I’m getting this data in the input even though the documentation says I shouldn’t? Documentation link
  2. The “placements” property is also available for the “FunctionRunResult” → “HideOperation”. The documentation doesn’t mention any restrictions here. Is this value available for passing in the result for non-Shopify Plus stores? Documentation link

We’re developing an app, and I want to avoid a situation where we rely on this data and display it in the UI for non-Shopify Plus stores, but then at some point, this data stops being available.

Here’s an example of the data I’ve tested with API versions “2024-10” and “2025-01

{
  "paymentMethods": [
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/0",
      "name": "Deferred",
      "placements": [
        "PAYMENT_METHOD"
      ]
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/1",
      "name": "Shopify Payments",
      "placements": [
        "PAYMENT_METHOD"
      ]
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/2",
      "name": "Apple Pay",
      "placements": [
        "ACCELERATED_CHECKOUT"
      ]
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/3",
      "name": "Google Pay",
      "placements": [
        "ACCELERATED_CHECKOUT"
      ]
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/4",
      "name": "Shop Pay",
      "placements": [
        "PAYMENT_METHOD",
        "ACCELERATED_CHECKOUT"
      ]
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/5",
      "name": "Shop Pay Installments",
      "placements": [
        "PAYMENT_METHOD"
      ]
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/6",
      "name": "Redeemable payment method",
      "placements": [
        "PAYMENT_METHOD"
      ]
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/7",
      "name": "Cash on Delivery (COD)",
      "placements": [
        "PAYMENT_METHOD"
      ]
    }
  ],
  "paymentCustomization": {
    "metafield": {
      "jsonValue": {
        "operations": []
      }
    }
  }
}


Correct me if i am wrong but it seems that you are using the Shopify functions. They are available either for public apps, or for Shopify plus stores. If you can use the Shopify function and get the results probably means that you are using development store which for most of dev specific parts has same options available as the Shopify plus tore

You are absolutely right that these are functions. The app is public. The data I shared is NOT from a development store but from a production store on the Basic plan. However, I get the same data in a development store.
Can you share where the information comes from that this data is available for public apps OR Shopify Plus stores? Unfortunately, I can’t find such information. As I mentioned above, I see “Only available for API clients installed on a Shopify Plus store.
Will be waiting for your feedback!

@Liam-Shopify could you please help me?
I appreciate your feedback!

HI Vladyslav,

Connecting with the product team on this.

1 Like

do you have any updates? Just let me know!

Hi Vladyslav,

From connecting with our internal teams, it does seem like our reference documentation should clarify the limitation, which is described on the About the Payment Customization Function API:

  • When the Payment Customization API usage is restricted, the function input will still contain all payment methods, however output operations that target restricted payment methods will not take effect on the checkout.

Thank you for your feedback. And sorry for not noticing that detail on time on my own!

Has your team considered gathering the limitations for each function into a separate section? The issue is that within the context of a single function, different limits are found in different sections, which sometimes causes confusion and makes it difficult to find this information.