2017-04-11 5 views
1

現在、IBINTによる定期的な銀行振込との組み合わせで、Braintree PayPalの支払いに苦労しています。基本的に、訪問者にはPayPal(Braintree経由)とIBAN取引の2つの購読オプションがあります。Braintreeのセカンダリー支払いオプションとしてPayPal

PayPalの方法は、正常に動作しますが、我々は、ペイパルが、IBAN銀行振込を選択していないとき、私たちは次のコンソールエラーを取得している:

enter image description here

私たちは、これは以来、正しい行動であることを理解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オプションは、たとえばチェックボックスが設定されているかどうかを検証するだけです。たとえば、以下のスクリーンショットで示されたチェックボックス(両方のフィールドセットの表示を切り替えます)。

enter image description here


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; 
    }); 
} 
+0

あなたのUXワークフローに関する詳細情報が必要です。両方の支払いフォームが同時に表示されますか?それらはイベントハンドラで表示されますか? [Braintreeの開発者のドキュメント](https://developers.braintreepayments.com/guides/drop-in/javascript/#validation-errors)は、エラーメッセージが[標準レスポンス]であることを示しています(https://developers.braintreepayments.com/ドロップイン/ javascript /#エラーフィールドオブジェクト)のドロップインUIフォームが、カード番号、cvv、有効期限、または郵便番号の情報なしで送信されたときに表示されます。私たちがトラブルシューティングに役立つ両方の支払いフォームを表示するあなたのHTMLを共有することができれば。 – Shea

+0

@シーア私は私の質問を更新しました。しかし、はい、彼らは同時にページにいます。 – Andreas

答えて

4

全開示:私はブレインツリーで働いています。ご不明な点がございましたら、supportまでお気軽にお問い合わせください。

Lastschrift支払いオプションを選択すると、ドロップインUIが読み込まれるため、検証エラーが発生します。

これらの検証エラーを回避する1つの方法は、お客様がLastschriftを選択した場合に、braintree.jsの'teardown' method in the 'onReady' callbackを使用してドロップインUIを削除することです。

また、これらのお支払い方法をそれぞれ別のフォーム要素に分割することもできます。

+0

ありがとうございました。 :) – Andreas

関連する問題