PaymentRequest API не определен

Я пытаюсь запустить пример API запроса платежа, как показано на https://www.youtube.com/watch?v=yelPlCVZLEE. Я следил за процессом, как они описывают, и я также выполнил следующий код:

function go() {
   console.log('Pay');
   var request = new PaymentRequest([{
            supportedMethods:['urn:payment:visa','urn:payment:mc','urn:payment:amex']
         }],
         {
            total: {
            label: "Total due",
            amount: { currencyCode: "USD", value: "60.00" }, // US$60.00
         }
     }
   );

request.show()
  .then(function(response) {
    // process transaction response here
    return response.complete(true);
  })
  .then(function() {
    alert("Buy!");
  })
  .catch(function(e) {
    alert(e.name);
  });
 }

и я получаю следующую ошибку: Uncaught ReferenceError: PaymentRequest не определен.

Если я запустил тест из: http://github.adrianba.net/paymentrequest-demo/tests/payment-tests.html Он говорит, что определено. Что я делаю не так?


person remind_hill    schedule 16.06.2016    source источник


Ответы (1)


Сайт, на который вы указали, http://github.adrianba.net/paymentrequest-demo/tests/payment-tests.html, извлекает файл:

<script src="../lib/paymentrequest.js"></script>

который определяет собственную реализацию PaymentRequest:

function PaymentRequest(methodData,details,options) {
  // Constructor code
  if(!Array.isArray(methodData) || methodData.length===0) throw new TypeError("methodData must be a non-empty sequence of PaymentMethodData");
  methodData.forEach(d => {
  ...

http://github.adrianba.net/paymentrequest-demo/lib/paymentrequest.js

Чтобы получить PaymentRequest в Chrome, вы должны включить его в chrome: // flags / # enable-experimental-web-platform-features.

person jeffcarp    schedule 24.06.2016
comment
Спасибо вам большое за ваш ответ. Я сделал это, и это сработало, но теперь, после выполнения шагов на w3.org/TR/payment -request и вызов api, выполнив: - person remind_hill; 28.06.2016
comment
Спасибо! Думал, надо включить флаг #web-payments - но нет! Ваше здоровье :) - person Darragh Enright; 24.06.2017