2017-03-20 44 views
0

我想知道是否可以使用自定義窗體進行braintree支付集成。通過定製我的意思是這樣的:爲braintree的託管字段和插入使用自定義字段

<form id="payment-form" method="post" action="/checkout.php"> 
    <div id="customField>{$customField;}</div> 
    <div id="customField2>{$customField2;}</div> 
    <input type="submit" value="PAY"> 
</form> 

<script src="https://js.braintreegateway.com/js/braintree-2.31.0.min.js"></script> 
<script> 
var clientToken = ""; 
braintree.setup("clientToken", "dropin", { 
    container: "payment-form" 
}); 
</script> 

我想發佈我的自定義字段checkout.php,但它似乎表單只返回付款方式現時。我不想將任何這些自定義值存儲在braintree的保管庫中。 Checkout.php只是將數組中的所有值(包括收到的支付方法隨機數)從以前的表單中加入並將這些值傳遞給.NET服務器。那麼有沒有辦法將這些值傳遞給checkout.php?

回答

1

它看起來像這樣使用Braintree's Custom Fields

它看起來像,但是,你不能正確格式化您的形式來填充投遞,按照您的Braintree.setup當然是可能的。您在braintree.setup中指定的容器將與div元素相關聯,該div元素反過來是放入的,而不是完整付款表單的ID。

所以,如果你有一個形式,看起來像;

<form> <div id="dropin-container"></div> </form>

,你會希望你的braintree.setup的樣子;

braintree.setup('CLIENT-TOKEN-FROM-SERVER', 'dropin', {container: 'dropin-container'}); 

爲了將DIV「dropin-container」轉換爲Drop In。

雖然自定義字段可以包含在表單中,但是您只需要將它們簡單地設置爲HTML輸入元素,而不是div元素,這些元素將隨nonce一起返回到服務器。

希望這會有所幫助!

+0

感謝您的回答。對不起,我花了這麼長時間才做出迴應,但我已經找到了解決問題的方法,所以我不再關注這個問題。但正如你所建議的,我需要的只是一些輸入元素而不是div。 :) – Kristy00