[英]Stripe Node - Calculating application fee AFTER discount coupon is used in checkout
我有一個鏈接到已連接帳戶的 Stripe Checkout 會話。 連接的帳戶需要從我的平台收取 10% 的費用。 它目前運行良好,但是現在我添加了客戶在結帳窗口中使用優惠券的功能,申請費是根據折扣前的總金額計算的。
例如,如果我收取 32 歐元,則申請費為 3.20 歐元。 如果折扣將費用降至 10 歐元,則費用應為 1 歐元。 但它仍然收費 3.20 歐元。
我有一個計算申請費金額的函數,問題是這是在創建結帳會話時完成的 - 這發生在客戶輸入折扣之前。
我想不出解決這個問題的方法,因為會話總是在應用折扣之前創建。 任何幫助/建議表示贊賞!
const calculateApplicationFeeAmount = (total) => total * site.stripeFee;
const session = await stripe.checkout.sessions.create(
{
payment_method_types: ["card"],
line_items: [
{
name: price.name,
amount: price.amount,
currency: site.currency,
quantity: 1,
},
],
payment_intent_data: {
application_fee_amount: calculateApplicationFeeAmount(price.amount),
description: price.name,
},
mode: "payment",
allow_promotion_codes: true,
success_url: `${config.baseUrl.url}/unlock/session/{CHECKOUT_SESSION_ID}`,
cancel_url: `${config.baseUrl.url}/unlock/${deviceID}`,
metadata: {
deviceID: deviceID,
},
},
{
stripeAccount: site.stripeAccount,
}
);
return session;
這里最好的解決方案可能是:
event, update the application_fee_amount on the PaymentIntent接到事件后,更新application_fee_amount上PaymentIntent
捕獲 PaymentIntent
限制是並非所有支付方式都支持手動捕獲。
或者,您也可以稍后退還申請費: https : //stripe.com/docs/api/fee_refunds/create
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.