const pub = require("stripe")(process.env.PK_FOO_BAR);
const sec = require("stripe")(process.env.SK_FOO_BAR);
// a.1) client
const pmA = await pub.paymentMethods.create({
type: "card",
card: {
number: "4242 4242 4242 4242",
exp_month: 2,
exp_year: 2024,
cvc: 424
}
})
// a.2) server
const piA = await sec.paymentIntents.create({
amount: 4242,
currency: "eur",
confirmation_method: "manual",
setup_future_usage: "off_session",
payment_method: pmA.id,
confirm: true
})
console.log(`piA: ${piA.status}`, piA)
/*** or... ***/
// b.1) server
const piB1 = await sec.paymentIntents.create({
amount: 4242,
currency: "eur",
confirmation_method: "automatic",
})
// b.2) client
const piB2 = await pub.paymentIntents.confirm(piB1.id, {
client_secret: piB1.client_secret,
setup_future_usage: "off_session",
payment_method_data: {
type: "card",
card: {
number: "4242 4242 4242 4242",
exp_month: 2,
exp_year: 2024,
cvc: 424
}
}
})
console.log(`piB: ${piB2.status}`, piB2)