0

新しい PaymentRequest API に関するチュートリアルに従っていますが、エラーが発生します。

キャッチされていない TypeError: 'PaymentRequest' の構築に失敗しました: イテレータ ゲッターは呼び出し可能ではありません。支払開始時 ((index):45)

function startPayment(){
  if (!window.PaymentRequest) {
    // PaymentRequest API is not available. Forwarding to
    // legacy form based experience.
    location.href = '/checkout';
    return;
  }

  const methods = {
    supportedMethods: "basic-card",
    data: {
      supportedNetworks: [
        'visa', 'mastercard', 'amex', 'discover',
        'diners', 'jcb', 'unionpay'
      ]
    },
  }
  const details = {
    total: {
      label: 'Tyle musisz zabulić',
      amount: { currency: 'PLN', value : '22.15' }
    },
    displayItems: [{
      label: 'Narkotyki',
      amount: { currency: 'PLN', value: '22.15' }
    }],
  }
  const options = {
    requestShipping: true,
    requestPayerEmail: true,
    requestPayerPhone: true,
    requestPayerName: true,
    shippingType: 'delivery'
  };
  const request = new PaymentRequest(methods, details, options) // this line fails
  request.show().then(response => {
    // [process payment]
    // send to a PSP etc.
    response.complete('success');
  });
}

それはどういう意味ですか、どうすれば修正できますか? MacOS Chrome バージョン: 72.0.3626.121 64bit

4

1 に答える 1

0

支払い方法は配列でなければなりません:

  const methods = [
     {
      supportedMethods: "basic-card",
      data: {
        supportedNetworks: [
          'visa', 'mastercard', 'amex', 'discover',
          'diners', 'jcb', 'unionpay'
        ]
      },
    }
  ]
于 2019-03-10T15:43:44.493 に答える