Why isn't my payment customization code hiding certain methods for Spain?

Solved

Why isn't my payment customization code hiding certain methods for Spain?

javieralarcn10
Shopify Partner
9 2 3

I have the following code which in theory should hide a payment method if the shipping country is Spain or not, but it doesn't work, does anyone know what could be wrong?

Thank you very much in advance.

 

 

 

// @TS-check
// Use JSDoc annotations for type safety
/**
* @typedef {import("../generated/api").RunInput} RunInput
* @typedef {import("../generated/api").FunctionRunResult} FunctionRunResult
*/

/**
* @type {FunctionRunResult}
*/

// The configured entrypoint for the 'purchase.payment-customization.run' extension target
/**
* @Anonymous {RunInput} input
* @returns {FunctionRunResult}
*/
export function run(input) {


  // Find the payment method to hide
  const moneiPaymentMethod = input.paymentMethods
    .find(method => method.name.includes("Pagar con tarjeta u otros métodos de pago"));

  const klarnaPaymentMethod = input.paymentMethods
    .find(method => method.name.includes('Klarna'));

  const sequraPaymentMethod = input.paymentMethods
    .find(method => method.name.includes('seQura'));

  const isSpain = input.cart.deliveryGroups
    .find(code => code.deliveryAddress?.countryCode == 'ES')

  const operationsData = []

  if (moneiPaymentMethod) {
    operationsData.push({
      rename: {
        name: 'Bizum',
        paymentMethodId: moneiPaymentMethod.id
      }
    })
  }

  if (klarnaPaymentMethod && isSpain?.deliveryAddress?.countryCode == 'ES') {
    operationsData.push({
      hide: {
        paymentMethodId: klarnaPaymentMethod.id
      }
    })
  }

  if(sequraPaymentMethod && isSpain?.deliveryAddress?.countryCode != 'ES'){
    operationsData.push({
      hide: {
        paymentMethodId: sequraPaymentMethod.id
      }
    })
  }

  // The @Shopify/shopify_function package applies JSON.stringify() to your function result
  // and writes it to STDOUT
  return {
    operations: operationsData
  };
};

 

 

Accepted Solution (1)

javieralarcn10
Shopify Partner
9 2 3

This is an accepted solution.

Replies 4 (4)

javieralarcn10
Shopify Partner
9 2 3

This is an accepted solution.

Fixed

dbelmonte
Shopify Partner
25 0 3

Hello bro, is this code you are using to hide the payment methods?

I am working on a similar code, but I still have some errors.

 

I would be very helpful with your solution.

 

Best Regards

javieralarcn10
Shopify Partner
9 2 3

Show me your code and what is failing you to see if I can help you.

Kele_Nakamura
Shopify Partner
27 0 6

sorry what was the solution that fixed it for you?