Stripe和NodeJS – 传递一定量的费用

编辑:澄清,收费实际上是处理,我唯一不能做的是dynamic设置收费金额。

我工作了一整天,没有find任何解决scheme。 这是我的server.js:

app.post('/charge', function(req, res) { var stripeToken = req.body.stripeToken; var amount = 12000; console.log(req); stripe.charges.create({ card: stripeToken, currency: 'usd', amount: amount }, function(err, charge) { if (err) { res.send(500, err); } else { res.send(204); } }); }); 

这里是我的dynamic条纹button。

 $('#calcTransAmount').click(function(event) { var amount = $('#transAmount').scope().totall; //console.log(amount); var holder = document.getElementById('hello'); var script = document.createElement('script'); script.src = 'https://checkout.stripe.com/checkout.js'; script.setAttribute('class', 'stripe-button'); script.setAttribute('data-amount', amount); script.setAttribute('data-key',"KEY"); script.setAttribute('data-image', "IMG"); script.setAttribute('data-name', "NAME"); script.setAttribute('data-billing-address', "true"); script.setAttribute('data-description', "Purchase"); script.setAttribute('data-locale', "auto"); document.getElementById('btnCont').appendChild(script); }); 

该button与dynamic数量和一切工作,现在我似乎无法弄清楚如何后/charge收到金额,并将其设置为一个variables。

这是我的要求对象:

 { stripeToken: 'tok_19t9jcLhf04QCVXXXXXXXX', stripeTokenType: 'card', stripeEmail: 'me@gmail.com', stripeBillingName: 'Clark', stripeBillingAddressCountry: 'United States', stripeBillingAddressCountryCode: 'US', stripeBillingAddressZip: 'Zip', stripeBillingAddressLine1: 'My address', stripeBillingAddressCity: 'City', stripeBillingAddressState: 'State' } 

而我无法find一种方法来获取我的数据量属性从button到服务器收取dynamic金额。

谢谢

特别感谢@koopajah的解决scheme的灵感。

在客户端的表单中,除了javascriptbutton之外,我还通过一个隐藏的input框传递了一个键值,该input框允许我的服务器端从我们的数据库中获取购物车总数。

 <form action="/charge" method="POST"> <input name="coKey" value ="{{currentUser.coKey}}"> </form> 

然后在服务器端,我可以像这样拉适当的键: var coKey = req.body.coKey;