Маркер оплаты становится неопределенным после процесса Android Pay (getPaymentToken)

Я сослался на это - https://github.com/naoufal/react-native-payments

Вот мой код (отредактированный):>

           const METHOD_DATA = [{
            supportedMethods: ['android-pay'],
            data: {
              merchantIdentifier: 'merchant.co.guru.media',
              supportedNetworks: ['visa', 'mastercard', 'amex'],
              countryCode: 'US',
              currencyCode: 'USD',
              environment: PaymentMethodKeys.environment,
              merchantInfo: {
                // A merchant ID is available after approval by Google.
                // @see {@link https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist}
                merchantId: '0xxxxxxxxxxx6',
                merchantName: 'Application_Merchant'
              },
              paymentMethodTokenizationParameters: {
                tokenizationType: 'GATEWAY_TOKEN',
                parameters: {
                  gateway: 'braintree',
                  "braintree:apiVersion": "v1",
                  "braintree:sdkVersion": '2.4.0',
                  "braintree:merchantId": "jxxxxxxxxxxxxt5",
                  "braintree:clientKey": "03xxxxxxxxxxxxxxe99",
                  'braintree:tokenizationKey': 'production_xqs_jbxxxxxxbx8249xxxxxx5',
                  publicKey: 'jxxxxxxxxxxxxxxxqt',
                }
              }
            }
          }];

 const DETAILS = {
        id: 'demo',
        displayItems: [
          {
            label: 'Movie Ticket',
            amount: { currency: 'USD', value: '15.00' }
          },
          {
            label: 'Shipping',
            amount: { currency: 'USD', value: '0.00' }
          }
        ],
        total: {
          label: 'Merchant Name',
          amount: { currency: 'USD', value: '15.00' }
        },
        shippingOptions: [
          {
            id: 'economy',
            label: 'Economy Shipping',
            amount: { currency: 'USD', value: '0.00' },
            detail: 'Arrives in 3-5 days',
            selected: true
          },
          {
            id: 'express',
            label: 'Express Shipping',
            amount: { currency: 'USD', value: '5.00' },
            detail: 'Arrives tomorrow'
          }
        ]
      };

      const OPTIONS = {
        requestPayerName: true,
        requestPayerPhone: true,
        requestPayerEmail: true,
        requestShipping: true
      };

      const paymentRequest = new PaymentRequest(METHOD_DATA, DETAILS, OPTIONS);
      paymentRequest.show()
        .then(paymentResponse => {
          const { getPaymentToken } = paymentResponse.details;
          console.log('paymentResponse', JSON.stringify(getPaymentToken))
          console.log('paymentResponse', JSON.stringify(paymentResponse))
          return getPaymentToken()
            .then(paymentToken => {
              console.log('paymentToken paymentResponse', JSON.stringify(paymentToken))
                       
            });
        });

Проблема в том, что при попытке запустить Android Pay возвращается "Запись не найдена"

Полученный ответ выглядит следующим образом

{"serializedPaymentToken":"{\"error\":{\"message\":\" Запись не найдена \"},\"fieldErrors\":[]}","paymentToken":{"error":{"message":"Запись не найдена"},"fieldErrors":[]},"serializedPaymenToken":"{\"error\":{\"message\":\" Запись не найдена \"},\"fieldErrors\":[]}","paymenToken":{"error":{"message":"Запись не найдена"},"fieldErrors":[]}}'

Таким образом, токен становится неопределенным. Пожалуйста, дайте мне знать, где проблема может быть скрыта. Я должен упомянуть, что я пробовал этот код на реальном устройстве (с реальной учетной записью Google Pay) и SandBox, и во всех случаях это не удается.

Заранее спасибо.

1 ответ

Использование https://google.com/pay под supportedMethods вместо android-pay чтобы использовать Google Pay через API Запрос платежей.

Посмотрите на эти пару примеров для дальнейшего использования: официальные документы, пример от команды Chrome.

Другие вопросы по тегам