私は現在、dropinチェックアウトを介してSagePayを統合しています。私たちのサイトは、ユーザーがsagepayで支払いを選択できるようなものです。その場合、ドロップインチェックアウトをインスタンス化しますが、ページを更新せずにチェックアウトを削除/破棄する必要がある別の支払い方法に切り替えることができます。私は、ドキュメントごとにこれを実装しました:sagepayCheckoutでdestroy()メソッドを呼び出した後にイベントがまだ添付されています
sp = sagepayCheckout({
merchantSessionKey: sagepaySessionKey
});
sp.form();
// and
sp.destroy();
をしかし。 destroyメソッドを呼び出した後にチェックアウトフォームを送信しようとすると、sagepay-dropin.jsファイルの中にエラーが発生しています(下記参照)。ドキュメンテーションでは、destroy() "コンテナからiFrameを削除し、登録されている可能性のあるイベントの登録を解除します。"しかし、フォーム提出にはまだいくつかのイベントが添付されているようです。
あなたがこれを克服する方法を示唆することができるので、ユーザーがsagepayを選択してから別の支払い方法に切り替えると、チェックアウトフォームを送信することができます。ありがとう。
sagepay-dropin.js:11 Uncaught TypeError: Cannot read property 'postMessage' of null
at Object.a [as sendMessage] (sagepay-dropin.js:11)
at v (sagepay-dropin.js:11)
at T (sagepay-dropin.js:11)
at HTMLFormElement.<anonymous> (sagepay-dropin.js:11)