現在、IBINTによる定期的な銀行振込との組み合わせで、Braintree PayPalの支払いに苦労しています。基本的に、訪問者にはPayPal(Braintree経由)とIBAN取引の2つの購読オプションがあります。Braintreeのセカンダリー支払いオプションとしてPayPal
PayPalの方法は、正常に動作しますが、我々は、ペイパルが、IBAN銀行振込を選択していないとき、私たちは次のコンソールエラーを取得している:
私たちは、これは以来、正しい行動であることを理解PayPalの項目には、が入力されていませんが、項目が入力されていないときにエラーを投げずに、オプションの支払い方法としてPayPalを使用することはできますか?
私たちはDropUI経由で基本的なjs実装を使用しています。
<div class="bt-drop-in-wrapper" id="showpaypalfields">
<div id="bt-dropin" class="paypaldiv"></div>
</div>
<script src="https://js.braintreegateway.com/js/braintree-2.27.0.min.js"></script>
<script>
var client_token = "123TOKEN";
braintree.setup(client_token, "dropin", {
container: "bt-dropin"
});
</script>
UPDATE: どちらの形式は、即座にページ上に表示されている、彼らはアヤックスまたは任意の種類を経由して、その後にロードされていません。したがって、BraintreeによるPayPalオプションは、たとえばチェックボックスが設定されているかどうかを検証するだけです。たとえば、以下のスクリーンショットで示されたチェックボックス(両方のフィールドセットの表示を切り替えます)。
UPDATE#2: 最終的なソリューションに興味がある人のために:
var btInstance;
$('input#paymentmethod-1').change(function(){
if ($(this).is(':checked') == true) {
teardown();
}
});
$('input#paymentmethod-2').change(function(){
if ($(this).is(':checked') == true) {
setup();
}
});
function setup() {
if (btInstance) {
return;
} else {
var client_token = "<ps:braintreetoken />";
braintree.setup(client_token, "dropin", {
container: "bt-dropin",
onReady: function (bt) {
btInstance = bt;
}
});
}
}
function teardown() {
if (!btInstance) {
return;
}
btInstance.teardown(function() {
btInstance = null;
});
}
あなたのUXワークフローに関する詳細情報が必要です。両方の支払いフォームが同時に表示されますか?それらはイベントハンドラで表示されますか? [Braintreeの開発者のドキュメント](https://developers.braintreepayments.com/guides/drop-in/javascript/#validation-errors)は、エラーメッセージが[標準レスポンス]であることを示しています(https://developers.braintreepayments.com/ドロップイン/ javascript /#エラーフィールドオブジェクト)のドロップインUIフォームが、カード番号、cvv、有効期限、または郵便番号の情報なしで送信されたときに表示されます。私たちがトラブルシューティングに役立つ両方の支払いフォームを表示するあなたのHTMLを共有することができれば。 – Shea
@シーア私は私の質問を更新しました。しかし、はい、彼らは同時にページにいます。 – Andreas