React Stripe 结帐多个行项目
Posted
技术标签:
【中文标题】React Stripe 结帐多个行项目【英文标题】:React Stripe checkout multiple line items 【发布时间】:2021-12-02 02:12:42 【问题描述】:我有一个带有条带结账功能的 React 应用程序。但我需要在结账时通过多个项目来付款。现在再次它只适用于一项。但是我有一组称为“项目”的对象,需要一次性支付。处理这个问题的最佳方法是什么?所以如果你在我的代码中看到它是描述 Bounce House A 但项目数组可以有 [description: 'Bounce House A', amount:200,qty:2,description: 'Bounce House B', amount:250 ,数量:1。
这是我当前的代码:
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY)
export default async (req, res) =>
const id, amount = req.body
try
const payment = await stripe.paymentIntents.create(
amount,
currency: 'USD',
description: 'Bounce House A',
payment_method: id,
confirm: true,
)
console.log(payment)
return res.status(200).json(
confirm: 'abc123',
)
catch (error)
【问题讨论】:
【参考方案1】:您必须将这些数组存储在您的数据库中,并使用一个单一的“订单 ID”,您可以将其传递到 metadata
下的 Stripe 的 PaymentIntent。这样,您就可以使用您设计的自定义订单 ID 查找与 PaymentIntent 关联的项目。
Stripe 的metadata
只能存储字符串键值对,因此您不能在其中存储数组。您可能能够以某种一致的格式将数组存储为字符串,从而允许您将其反序列化回数组,但我不建议这样做。
【讨论】:
我想知道是否只将 paymentID 存储在我的数据库中的订单表中,以防他们需要提供退款接口???另外,我如何至少在支付 api 中传递客户电子邮件?还有元数据? 您将客户电子邮件传递给客户 API,首先创建一个客户,然后在创建 PaymentIntent 时传递该客户 ID。元数据也是 PaymentIntents 上支持的参数:stripe.com/docs/api/payment_intents/…以上是关于React Stripe 结帐多个行项目的主要内容,如果未能解决你的问题,请参考以下文章
Firebase + stripe + react native 通知客户端 firebase 功能已完成