Can not hide shopify payments using Payment Customization functions

It seems that “HideOperation” from payment customizations does not get applied to Shopify payments.

The example below should hide all payments.

Here’s the payment list returned from the function input:

{ "paymentMethods": [
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/0",
      "name": "Deferred"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/1",
      "name": "Shopify Payments"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/2",
      "name": "Apple Pay"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/3",
      "name": "Google Pay"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/4",
      "name": "Shop Pay"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/5",
      "name": "Redeemable payment method"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/6",
      "name": "Bank Deposit"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/7",
      "name": "Money Order"
    },
    {
      "id": "gid://shopify/PaymentCustomizationPaymentMethod/8",
      "name": "Pix"
    }
  ]
}

Here’s the output from our function:

{
  "operations": [
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/0",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/1",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/2",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/3",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/4",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/5",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/6",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/7",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    },
    {
      "hide": {
        "paymentMethodId": "gid://shopify/PaymentCustomizationPaymentMethod/8",
        "placements": [
          "ACCELERATED_CHECKOUT",
          "PAYMENT_METHOD"
        ]
      }
    }
  ]
}

Instead this is what shows up in checkout:

As you can see, every payment has been hidden, except what seems to be the field for Shopify payments.

I assume this was done on purpose by the dev team, but I wish there was a warning in the documentation, so that we can show the BFS review team, in case they say our warning about it should be removed.

Hi David - digging into this, it’s possible this is an intentional limitation, but will confirm.

Hi David - just to confirm, are you testing this on a Plus store?

No this is on a store that is not in the plus plan.

For plus plan stores we just use the checkout ui extension.

@David_Arbias - did you find a solution to this?

I think this would only be possible for merchants on a Plus plan.

Hey, so sorry it might not feel relevant but how did you printed payment list return from function input ?? It can be printed in a dev store, but how do I get that payment list for a live store where I used shopify app deploy to deploy the function ?

You have to share logs in settings → payments → Payment method customizations. Unfortunatelly the button to share logs only becomes available if your function throws an error.

@David_Arbias

Hi, nice to meet you, here carlos.

Following the topic of hiding shopify payments, and having so many applications that claim to be able to hide this payment method by country or marketplace.

Did you find any way to disable this method without being in the plus plan?