iOS RN Plugin for In-App Payments SDK causes rn_apple_pay_not_supported error

Hello,

Our team is trying to integrate Apple Pay into our Expo React Native app using the RN Plugin for In-App Payments SDK, but we keep running into this error: [Error: Something went wrong. Please contact the developer of this application and provide them with this error code: rn_apple_pay_not_supported] whenever we call SQIPApplePay.requestApplePayNonce.

Details:

  • I am using an Expo bare project and have gotten Google Pay to work, but iOS is giving me the above error.
  • I am testing Apple Pay on an iPhone SE (3rd gen)
  • When calling SQIPApplePay.canUseApplePay() I am getting returned false. In the ios sim however, I do get it to return true - but app crashes on sim and I have the same issue as described in this issue
  • I have followed the setup described here and here, and here
  • I am using the sample coded provided in the starter guide as following:
    await SQIPApplePay.initializeApplePay(APPLE_MERCHANT_ID);
    let digitalWalletEnabled = await SQIPApplePay.canUseApplePay();
    console.log('digitalWalletEnabled', digitalWalletEnabled); // returning false
    const applePayConfig = {
        price: '0.00',
        summaryLabel: 'Test Item',
        countryCode: 'US',
        currencyCode: 'USD',
        paymentType: SQIPApplePay.PaymentTypeFinal,
    };
    try {
        SQIPApplePay.requestApplePayNonce(
          applePayConfig,
          (cardDetails) => {},
          (errorInfo) => {},
          () => {},
        )
        .then((response) => {})
        .catch((er) => {
            // error being thrown here
        })
    } catch(ex) {}

So to conclude, I have set everything up according to the docs, but I am getting this error: [Error: Something went wrong. Please contact the developer of this application and provide them with this error code: rn_apple_pay_not_supported] when I try to call SQIPApplePay.requestApplePayNonce on an ios device. I am not sure if this issue is related to the digitalWalletEnabled returning false (from SQIPApplePay.canUseApplePay()) or if it’s a setup issue somewhere, but I’ve followed the docs and re-set everything up multiple times with the same error still. Any suggestions on what could be causing this error?

Are you possibly initialize Apple Pay before this? ie

await SQIPApplePay.initializeApplePay('REPLACE_WITH_APPLE_PAY_MERCHANT_ID');

Also what’s your application ID? :slightly_smiling_face:

Thanks for your response,

I am only initializing apple pay once, just where I have it in the code above:

Here is my application id: sq0idp-_OpWFbMJ0nQp7vhmCjzoKw.

Thanks! :slight_smile: