【问题标题】:Using custom fields for braintree's hosted fields & drop-in为 Braintree 的托管字段和插件使用自定义字段
【发布时间】:2017-08-11 03:48:08
【问题描述】:

我想知道是否可以使用自定义表单进行 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?

【问题讨论】:

    标签: javascript php paypal braintree


    【解决方案1】:

    看起来这当然可以使用Braintree's Custom Fields

    不过,根据 Braintree.setup,您似乎没有正确格式化表单以填充 Drop-In。您在 Braintree.setup 中指定的 container 将与一个 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 Input 元素,而不是 div 元素,它们将与 nonce 一起返回到您的服务器。

    希望这会有所帮助!

    【讨论】:

    • 感谢您的回答。很抱歉,我花了这么长时间才回复,但我已经找到了解决问题的方法,所以我不再关注这个问题了。但正如你所建议的,我所需要的只是一些输入元素而不是 div。 :)
    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    • 1970-01-01
    相关资源
    最近更新 更多