2017-10-11 1 views
1

支払いリクエストapiを統合しようとしていますが、ここに何かがありません。 APIを使用して行われた支払いを確認するにはどうすればよいですか? ユーザーが自分のコールバックを支払うと、支払いが完了したことをどのようにして知ることができますか? ここに私のコードです。Google Payment Request APIの有効性を確認する

paymentRequest.show() 
    .then((paymentResponse) => { 
     fetch('http://validate-payment/api') 
     .then((response) => { 
      return response.json(); 
     }) 
     .then((json) => { 
      return paymentResponse.complete('fail'); // Hardcode fail 
     }) 
     .catch((error) => { 
      reject(); 
     }) 
    }) 
    .catch((error) =>{ 
     console.log(error.message) 
    }); 
+0

チェックし、それが本当なら、')( 'response.jsonを呼び出します。それ以外の場合は '.complete( 'fail')'を呼び出します。 – sideshowbarker

+0

このAPIは「支払いリクエストAPI」であり、Googleとは関係ありません。この「Google Payment Request API」とは呼ばないでください。 https://medium.com/dev-channel/addressing-common-misconceptions-about-the-payment-request-api-4d0db51dae75 – agektmr

答えて

2

paymentResponseオブジェクトを受け取った場合、これは支払いが行われたことを意味しません。支払いを処理するために、情報を支払ゲートウェイに転記する必要があります。

paymentResponse.detailsでお支払いの詳細を取得し、支払いゲートウェイにPOSTしてください(あなたのコードでは、 "validate-payment/api"とすることができます)。

支払いゲートウェイからの応答は、支払いが成功したかどうかを示します。

このAPIを使用している場合(特に生のクレジットカード情報を処理する場合)は、PCI準拠を遵守してください。ストライプ(例:does this on behalf of you)がありますが、多くの支払いゲートウェイではまだ類似していません。 response.ok` `ため

paymentRequest.show() 
    .then((paymentResponse) => { 
     var details = paymentResponse.details; 
     fetch('https://validate-payment/api', { 
      method: 'POST', 
      body: JSON.stringify(details) 
     })... 
関連する問題