如何在 Braintree JS 安全自定义表单中 post "amount" 变量?
How to post "amount" variable in a Braintree JS secure custom form?
使用 braintree 时是否可以在发送付款表格的同时发送您的金额? Braintree 指南明确指出:
"Make sure you don't include name
attributes in your form elements. If the form is accidentally submitted and name attributes are present, sensitive data can reach your server."
所以如果在 HTML 中使用这个简单的实现:
<form id="checkout" action="/your/server/endpoint" method="post">
<input data-braintree-name="number" value="4111111111111111">
<input data-braintree-name="expiration_date" value="10/20">
<input type="submit" id="submit" value="Pay">
</form>
我的 Python 端点如下所示:
@app.route('/payment', methods=['POST'])
#@cross_origin()
def do_payment():
nonce = request.form["payment_method_nonce"]
result = braintree.Transaction.sale({
"amount": amount,
"payment_method_nonce":nonce,
"options": {
"submit_for_settlement": True
}
})
`
是否可以在 post 中发送金额而不破坏信用卡信息的加密?或者我是否需要实施第二个 AJAX 回调 POST 并以某种方式坚持 Python 后端或在 Flask 中实施某种会话处理?
我的备选方案和最佳做法是什么?
仅供参考:一切正常(例如,如果将金额设置为静态“10”,唯一缺少的是后端的金额变量,因为我无法使用付款表单提交发送它。
我在布伦特里工作。如果你有更多的问题,我建议你reach out to our support team.
您似乎在使用 CSE,这是一种已弃用的集成方法。我建议您遵循 Braintree 文档和 use v.zero instead.
如果您在表单中输入 amount
,用户可以将值更改为他们想要的任何值。这通常不是预期的行为,因此您通常不希望 amount
成为表单的一部分。相反,包括一个隐藏字段,其中包含他们正在购买的商品的标识符,或类似的东西。
不在表单字段上使用 name
的建议仅适用于包含您打算加密的敏感信息的字段。可以在不包含敏感数据的字段上包含 name
。
使用 braintree 时是否可以在发送付款表格的同时发送您的金额? Braintree 指南明确指出:
"Make sure you don't include name
attributes in your form elements. If the form is accidentally submitted and name attributes are present, sensitive data can reach your server."
所以如果在 HTML 中使用这个简单的实现:
<form id="checkout" action="/your/server/endpoint" method="post">
<input data-braintree-name="number" value="4111111111111111">
<input data-braintree-name="expiration_date" value="10/20">
<input type="submit" id="submit" value="Pay">
</form>
我的 Python 端点如下所示:
@app.route('/payment', methods=['POST'])
#@cross_origin()
def do_payment():
nonce = request.form["payment_method_nonce"]
result = braintree.Transaction.sale({
"amount": amount,
"payment_method_nonce":nonce,
"options": {
"submit_for_settlement": True
}
})
`
是否可以在 post 中发送金额而不破坏信用卡信息的加密?或者我是否需要实施第二个 AJAX 回调 POST 并以某种方式坚持 Python 后端或在 Flask 中实施某种会话处理?
我的备选方案和最佳做法是什么? 仅供参考:一切正常(例如,如果将金额设置为静态“10”,唯一缺少的是后端的金额变量,因为我无法使用付款表单提交发送它。
我在布伦特里工作。如果你有更多的问题,我建议你reach out to our support team.
您似乎在使用 CSE,这是一种已弃用的集成方法。我建议您遵循 Braintree 文档和 use v.zero instead.
如果您在表单中输入 amount
,用户可以将值更改为他们想要的任何值。这通常不是预期的行为,因此您通常不希望 amount
成为表单的一部分。相反,包括一个隐藏字段,其中包含他们正在购买的商品的标识符,或类似的东西。
不在表单字段上使用 name
的建议仅适用于包含您打算加密的敏感信息的字段。可以在不包含敏感数据的字段上包含 name
。