2017-09-04 8 views
0

ここでデモとしてクライアント側のチェックアウトを実装しましたhttps://developer.paypal.com/demo/checkout/#/pattern/client。サンドボックスアカウントでテストしてもうまく動作します。しかし、私は、支払いが実際にサーバー側から行われたかどうかをどのように検証できるかについて懸念しています。 たとえば、ユーザーが注文番号 'X'の支払いを実行した場合、支払いが成功したことを確認したいと思います。私は理解してトランザクションIDは支払いが経験してきたと私たちは支払いのためのパラメータでIdはコールバックを実行することを受け取ることができた場合にのみペイパルによって生成されるnoteiced:サーバーからのクライアント側のエクスプレスチェックアウトを確認する

actions.payment.execute().then(function (payment) { // where payment.transactions[0].related_resources[0].sale.id is some value say 'xxx' }); 

同じ固有のIDがで見ることができますサンドボックス取引の詳細ページ(https://www.sandbox.paypal.com/webscr?cmd=_history-details-from-hub&id=xxx)を一意のトランザクションIDxxxとして追加します。サーバーサイドコールでこれを確認する方法(paypalエンドポイント)はありますか?これは、サーバで受け取ったトランザクションIDがpaypalからの有効なものであることを示しています。

私の無知を実感してください、これを行うためのWebhookイベントですか?

+0

非常に可能であることがわかった。販売/取引のステータスを持つhttps://developer.paypal.com/docs/api/payments/#sale_getに示すように、販売の詳細を取得することができます。上記のリクエストを作成するために、paypalからoauthトークンを取得する必要があります: https://developer.paypal.com/docs/api/overview/#make-your-first-call –

答えて

0

あなたはIPN/Webhooksを使用することができます。その後、PayPalは、支払いID、お支払いの詳細をすべてのお支払いに通知します。その情報を使用して支払いを確認することができます。

+0

それはそのようになります。イベントが起こったときに何か変なことが起こった場合。私たちがそれを検証できるpaypal API /エンドポイントがあれば良いでしょう –

関連する問題