-
我向用户显示一个表单,用于输入有关卡的数据。
<form action="your-server-side-code" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_TYooMQauvdEDq54NiTphI7jx"
data-amount="50000"
data-name="Stripe.com"
data-description="Example charge"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-zip-code="true">
</script>
</form>
-
在用户按下支付按钮后,我得到对象
Request
从中获取令牌。然后我填充参数,其中一个参数是
amount
:
String token = request.getParameter("stripeToken");
Map<String, Object> params = new HashMap<String, Object>();
params.put("amount", 50000);
params.put("currency", "usd");
params.put("description", "Example charge");
params.put("source", token);
Charge charge = Charge.create(params);
为什么我要寄两次?第一次在表格上第二次在代码里?
为什么我不能从请求中获得金额?
params.put("amount", request.getParameter("amount")); //always 0
在所有尝试中,这样的方法总是向我返回0。
它是如何工作的?第一步和第二步中的金额通常是如何关联的?如果我在第二步中指定另一个数量呢?也就是说,用户将看到50美元的形式,然后从代码我将随机安装60美元?
只需发送一次金额并从请求中获取它,这是合乎逻辑的。