私はAdvanced In-Context Checkout integrationを使用しています。コンテキスト内チェックアウト:ポストメッセージ応答エラーの応答ハンドラが見つかりません
私はAJAXを行うと、そのドキュメントは、それを説明するのと同様に、これらの機能を利用:
paypal.checkout.setup()
paypal.checkout.initXO()
paypal.checkout.startFlow()
paypal.checkout.closeFlow()
を私は常にExecute the payment step後、この迷惑なエラーを取得します。彼らはどこにでも彼らのAPIドキュメントを説明するのは気にならなかった。それはちょうど行方不明です。
新しいエラー(「投稿メッセージの返信に対して応答ハンドラが見つかりません」+「+ window.location.href」の「+ t.name +」;
エラーは何を意味しますか?ポストメッセージ応答のためのどのような種類の応答ハンドラが必要ですか?それを提供する方法?
私のクライアント側のコードは、次のように簡単です:次のように
onCheckoutBtnClick(ev) {
paypal.checkout.initXO();
$.post('/checkout', {
user: JSON.stringify(this.props.user),
data: JSON.stringify(this.props.WCs),
})
.done(res => {
paypal.checkout.startFlow(res.approval_url);
})
.fail(err => {
paypal.checkout.closeFlow();
});
},
そして、サーバ側は次のとおりです。
router.post('/checkout', (req, res, next) => {
var payment_json = {
// huge config to create a payment
// the pivotal value is "return_url"
redirect_urls: {
"return_url": "http://example.com:3000/complete_payment",
"cancel_url": "http://example.com:3000/cancel_payment"
},
}
});
そしてreturn_url
コード
router.get('/complete_payment', (req, res, next) => {
paypal.payment.execute(req.query.paymentId, execute_payment_json, function (err, payment) {
// After this step the error in thrown on the client
res.redirect('http://example.com:3000/show_complete_page_to_buyer');
})
})