0

我已经提到了这个 - https://github.com/naoufal/react-native-payments#readme

这是我的代码(已编辑):>

           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":[]}}'

因此,令牌变得未定义。你能告诉我问题可能隐藏在哪里吗?我应该提一下,我在真实设备(使用实际的谷歌支付帐户)和沙盒上尝试了这段代码,但在所有情况下它都失败了。

提前致谢。

4

1 回答 1

0

使用https://google.com/payundersupportedMethods而不是android-pay为了通过 Payment Request API 使用 Google Pay。

查看这两个示例以供进一步参考:官方文档来自 Chrome 团队的示例

于 2019-01-01T17:37:45.333 回答