Client
Я использую специальную интеграцию Stripe Checkout - https://stripe.com/docs/checkout#integration-custom - следующим образом:
var handler = StripeCheckout.configure({
key: 'YOUR_KEY_HERE',
image: 'images/logo-48px.png',
token: function(token, args) {
$.post("http://localhost:3000/charge", {token: token}, function(res) {
console.log("response from charge: " + res);
})
}
})
Использование пользовательского вопреки прост - Как изменить настройку Stripe Checkout вместо отправки запроса AJAX? - потому что простой не позволяет мне делать вызов AJAX.
Сервер
https://stripe.com/docs/tutorials/charges
У вас есть токен для данных вашей кредитной карты пользователя, что теперь? Теперь вы берете их деньги.
app.post('/charge', function(req, res) {
console.log(JSON.stringify(req.body, null, 2));
var stripeToken = req.body.token;
var charge = stripe.charges.create({
amount: 0005, // amount in cents, again
currency: "usd",
card: stripeToken,
description: "[email protected]"
}, function(err, charge) {
if (err && err.type === 'StripeCardError') {
console.log(JSON.stringify(err, null, 2));
}
res.send("completed payment!")
});
});
Вот ошибка:
Мне кажется, что у меня есть last4, exp_month, exp_year, но по какой-то причине у меня нет number. Любые предложения/подсказки/идеи?
Googling для "The card object must have a value for 'number'"
- 12 результатов, а не большая помощь.