1
私はStripeのCheckout
を使用して私の最初の基本的なExpressアプリケーションを構築しています。アプリケーションは正しくレンダリングされますが、フォームを送信すると、stripeToken
とstripeEmail
の両方にエラーが表示されます。なぜそれが通過していないのか分かりません。どんな助け?Stripe.js - 解決未定義のプロパティ 'stripeToken'を読み取ることができません
マイアプリ:
const keyPublishable = process.env.PUBLISHABLE_KEY;
const keySecret = process.env.SECRET_KEY;
const app = require("express")();
const stripe = require("stripe")(keySecret);
app.set('view engine', 'ejs')
app.get("/", (req, res) =>
res.render("index.ejs", {keyPublishable}));
app.post("/charge", (req, res) => {
let amount = 500;
stripe.customers.create({
email: req.body.stripeEmail,
source: req.body.stripeToken
})
.then(customer =>
stripe.charges.create({
amount,
description: "Sample Charge",
currency: "usd",
customer: customer.id
}))
.then(charge => res.render("charge.ejs"));
});
app.listen(7000);
と私のindex.ejs
<form action="/charge" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_Gbu2akKhNgGjbKi4LPxOOWqc"
data-amount="500"
data-name="Ojoseyewear"
data-description="Widget"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto">
</script>
</form>