为braintree的托管字段使用自定义字段&插入式

时间:2017-03-20 00:01:42

标签: javascript php paypal 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,但似乎表单只返回付款方式nonce。我也不想在braintree的保险库中存储任何这些自定义值。 Checkout.php只是将所有值(包括收到的付款方式nonce)从数组中的先前表单添加到一起,并将这些值传递给.NET服务器。那么有没有办法将这些值传递给checkout.php?

1 个答案:

答案 0 :(得分:1)

看起来使用Braintree's Custom Fields

肯定是可行的

看起来,根据您的Braintree.setup,您没有正确格式化表单以填充Drop-In。您在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一起返回到您的服务器。

希望这有帮助!