Stripe - PaymentIntent では Node.js での支払い方法の問題が必要です
P粉441076405
2023-09-03 13:55:13
<p>ストライプをプロジェクトに統合しようとしていますが、「<strong>PaymentIntent には支払い方法が必要です</strong>」というメッセージが表示されます。ログ内の支払いステータス コードは 200 です。しかし、支払いダッシュボードでは、「顧客がまだ支払い方法を入力していません。」</p> ため、「未完了」と表示されます。
<p><strong>これが私の Stripe バックエンド コードです</strong></p>
<pre class="brush:php;toolbar:false;">exports.StripePayment = (req, res) => {
const {金額、トークン} = req.body;
const idempotencyKey = uuid();
ストライプ.顧客を返す
。作成する({
電子メール: token.email、
ソース: token.id、
})
.then((顧客) => {
ストライプ.paymentIntents
。作成する(
{
金額: 金額、
通貨: 「INR」、
Payment_method_types: ["カード"]、
顧客: customer.id、
受信メール: トークン.メール、
配送: {
名前: トークン.カード.名、
住所: {
line_1: トークン.カード.アドレス_1、
line_2: トークン.カード.アドレス_2、
都市: token.card.address_city、
国: token.card.address_country、
郵便番号: token.card.address_zip,
}、
}、
}、
{ べき等性キー }
)
.then((結果) => {
console.log("結果", 結果);
res.status(200).json(結果)を返します。
})
.catch((err) => console.log(err));
});
};</pre>
<p>修正するのに助けが必要です。よろしくお願いします</p>
これは予期された動作です。共有したコードは支払いインテントを作成するだけであり、ライフサイクル中推进该意图一个>.
の間は保持されません。現在、作成された支払い方法が提供されておらず、顧客が支払い方法の詳細を提供する方法も提供されていません。この情報は、Stripe が支払いを処理するために必要です。
支払いインテントの作成は、Stripe 統合の最初のステップにすぎません。 Stripe のこのガイドは、サービスを使用して支払いを処理するために必要なすべてを網羅しており、統合を構築するための優れた出発点となります:
https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements
このガイドでは、顧客が支払い方法の詳細を提供し、支払いの意図を確認するための UI の提供など、構築する必要がある残りの部分について説明します。