reactjs 动态返回条带订单金额

qnakjoqk  于 2023-03-22  发布在  React
关注(0)|答案(1)|浏览(99)

我正在尝试检索Stripe费用的总订单金额。每个订单的总订单金额都不同。我需要此值用于Google Ads动态转换。我的问题:如何在付款后取回/返回订单价值?

//Stripe Payment Backend

app.post('/create-checkout-session', async (req, res) => {
const session = await stripe.checkout.sessions.create({
line_items: [
{
// Provide the exact Price ID (for example, pr_1234) of the product you want to sell
price: 'price_mypriceID',
quantity: 1,
},
],
mode: 'payment',
success_url: `${YOUR_DOMAIN}/dashboard?success=true`,
cancel_url: `${YOUR_DOMAIN}/dashboard?canceled=true`,
});

res.json({url: session.url}) 
});

此代码在成功付款时运行,触发Google Ads Conversion。

if (location == "?success=true"){

window.gtag('config', 'AW-myaccount');
window.gtag('event', 'conversion', {'send_to': 'AW-myaccount',
'value': {needToReturnDynamicValueHere}, <--------- This 
'currency': 'USD'
});

}, [location])
k4emjkb1

k4emjkb11#

Stripe有一个关于如何自定义Success Page的指南,他们展示了如何检索结账会话服务器端。您还可以获得相关的支付意向,您可以在其中查看收取的金额。
您可以通过在Expand parameter中传递payment_intent来将其保持为单个API调用
如果我们在“创建成功页面”部分中获取代码片段,我们可以修改它以从付款意图中检索金额。

app.get('/order/success', async (req, res) => {
  const session = await stripe.checkout.sessions.retrieve(
    req.query.session_id, 
    expand=['payment_intent']
  );
  const amount = session.payment_intent.amount
  res.send() // return order amount here.
});

相关问题