javascript - 使用 Node.js 进行 Braintree 支付无法正常工作

标签 javascript html node.js braintree

我有以下 html:

<form id="payment-form" method="post" submit="/checkout">
     <input type="submit" value="Pay $10">
     <input type="hidden" name="payment_method_nonce" value="0fgg1679-75e2-43e0-bc1f-94faee177877">
     <iframe src="https://assets.braintreegateway.com/dropin/2.28.0/inline-frame.html#3a713953-3106-4fd5-8714-b0ada1723284" frameborder="0" allowtransparency="true" scrolling="no" name="braintree-dropin-frame" width="100%" height="68" id="braintree-dropin-frame" style="transition: height 210ms cubic-bezier(0.39, 0.575, 0.565, 1); border: 0px; z-index: 9999; height: 70px;"></iframe>
</form>

html 最初只有 input type=submit payment-form 但我的 javascript 具有以下代码,可将元素转换为上面看到的内容:

braintree.setup(BT_CLIENT_TOKEN, "dropin", {
  container: "payment-form"
});

BT_CLIENT_TOKEN已在服务器端成功实例化到客户端。 当我打开网站时,我可以登录沙箱并看到以下内容:

enter image description here

但是,当我点击“pay”时,表单不是通过 Nodejs 服务器端的 app.post("/checkout") 提交的,而是通过默认路由 app 提交的.post(“/”)。此外,请求的正文始终为空 req.body: {} (据我所知,不应该,至少应该带有声明)。

有人知道发生了什么吗?非常感谢。

最佳答案

全面披露:我在 Braintree 工作。如果您还有任何疑问,请随时联系support .

我有几个建议。首先,请务必定义 action <form> 中的属性。

<form id="payment-form" method="post" action="/checkout">

第二,Braintree Drop-in requires a container要嵌套在 <form> 内的元素。这个容器元素应该是 braintree.setup() 中的目标。 .

HTML

<form id="payment-form" method="post" action="/checkout">
  <div id="dropin-container"></div>
</form>

JavaScript

braintree.setup('BT_CLIENT_TOKEN', 'dropin', {
  container: 'dropin-container'
});

关于req.body: {} ,如果不更全面地查看您的代码,就很难深入挖掘,并且我宁愿避免在没有上下文的情况下进行猜测。如果上述建议不能解决问题,也许您可​​以编辑您的问题并提供更多代码片段以帮助社区更仔细地检查此问题。

关于javascript - 使用 Node.js 进行 Braintree 支付无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39660107/

相关文章:

javascript - 检查所有数组是否有值且不为空

html - 在 div 元素中水平和垂直居中对齐文本

node.js - Node Sass No Binding for Your current environment

javascript - jQuery animate scrolltop on Opera 错误

javascript - 等待 DOM 在 AngularJS 指令上准备就绪

javascript - 使用 ui 路由器公开当前状态名称

jquery - Internet Explorer 7 jquery 幻灯片布局

javascript - 为什么我看不到 Error 对象的键?

javascript - 使用 node.js 访问 DOM

javascript - 使用 JQuery Mobile 通过 PHP、POST 和 JSON 将数据发送到服务器时出现问题