简介:我的朋友在意大利经营一些小型酿酒厂,并在欧洲不同国家拥有3-4个小型仓库。他希望在线客户(葡萄酒买家)通过比较装运价格来决定他们要从哪个仓库获得葡萄酒。
目标:要计算出每个仓库的运输价格,知道客户的地址。
我的解决方案: Vue , Firebase , Stripe 将用于建立商店。到目前为止,我已经制作了 CheckoutSession 云函数,该函数成功返回了 sessionId :
exports.CheckoutSession = functions.https.onRequest((request, response) => {
cors(request, response, () => {
stripe.checkout.sessions.create(
{
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
payment_method_types: ['card'],
line_items: [
{
name: 'T-shirt',
description: 'Comfortable cotton t-shirt',
amount: 1500,
currency: 'eur',
quantity: 2,
},
],
},
function(err, session) {
response.send(session)
if (err) {
// ...
}
}
)
})
})
然后我触发:
await stripe.redirectToCheckout({ sessionId: this.sessionId })
付款得到处理-我在Stripe仪表板中看到收入。
1)如何获得运输价格?根据此doc,我应该得到“项目”: Array ,其中包含类型为“使用 stripe.orders.create()创建订单后发送。但是此API已弃用,根据此doc, stripe.checkout.sessions.create()有效负载应包含“ line_items”-客户要购买的商品列表:未提及运送...所以我有些困惑:甚至有可能将运送价格传递到 stripe.checkout.sessions.create()中吗?
2)是否可以从地址中选择多个?在https://dashboard.stripe.com/settings/orders#中,我仅看到一个发件人地址...