2017-09-20 57 views
1

我使用支付布倫特裏PayPal支付,支付工作正常,但沒能獲得的這種反應,這是我爲沒能獲得在布倫特裏結賬按鈕響應

<script type="text/javascript"> 
var form = document.querySelector('#payment-form'); 
var client_token = "<?php echo \Braintree\ClientToken::generate(); ?>"; 
braintree.dropin.create({ 
    authorization: client_token, 
    selector: '#bt-dropin', 
    paypal: { 
     flow: 'vault', 
     onSuccess: function (nonce, email) { 
      alert('sdsdsd123'); 
      console.log(JSON.stringify(nonce)); 
     }, 
    }, 

}, function (createErr, instance) { 
    if (createErr) { 
     console.log('Error', createErr); 
     return; 
    } 
    form.addEventListener('submit', function (event) { 
     event.preventDefault(); 

     instance.requestPaymentMethod(function (err, payload) { 
      if (err) { 
       console.log('Error', err); 
       return; 
      } else { 
       console.log("Payment confirmation"); 
       console.log(payload); 
      } 

      // Add the nonce to the form and submit 
      document.querySelector('#nonce').value = payload.nonce; 
      form.submit(); 
     }); 
    }); 
}, 
); 
var checkout = new Demo({ 
    formID: 'payment-form' 
}); 

但代碼無法獲得onsuccess功能的反應,任何人都可以告訴我如何cani得到這個成功的反應,

回答

1

完全披露:我在布倫特裏工作。如果您有任何其他問題,請隨時聯繫support

看起來您可能會混淆Braintree JSv2 Drop-In UI中的PayPal與Braintree JSv3 Drop-In UI的實施。 JSv3不支持onSuccess選項。 JSv3中PayPal對象的完整配置選項列表是available here

根據您提供的代碼,我建議您刪除您的onSuccess回撥函數。你應該仍然能夠達到你想要的結果通過將這些代碼在你instance.requestPaymentMethod回調函數,像這樣:

<script type="text/javascript"> 
    var form = document.querySelector('#payment-form'); 
    var client_token = "<?php echo \Braintree\ClientToken::generate(); ?>"; 

    braintree.dropin.create({ 
     authorization: client_token, 
     selector: '#bt-dropin', 
     paypal: { 
      flow: 'vault' 
     } 
    }, function (createErr, instance) { 
     if (createErr) { 
      console.log('Error', createErr); 
      return; 
     } 
     form.addEventListener('submit', function (event) { 
      event.preventDefault(); 

      instance.requestPaymentMethod(function (err, payload) { 
       if (err) { 
        console.log('Error', err); 
        return; 
       } 

       console.log("Payment confirmation"); 
       console.log(payload); 
       alert('sdsdsd123'); 
       console.log(payload.nonce); 

       // Add the nonce to the form and submit 
       document.querySelector('#nonce').value = payload.nonce; 
       form.submit(); 
      }); 
     }); 
    }); 
</script> 
+0

感謝您的幫助,requestPaymentMethod是唯一的工作,當我們做信用卡支付,它不與工作paypal結帳 –

+0

@NikulPanchal你可以發佈你的完整的HTML形式的腳本,以便我可以在本地運行它嗎?是否有任何錯誤被記錄?上述代碼在提交表單後適用於我。 – Carter