天天看點

當面付接口如何計算優惠

在弄清楚如何計算優惠之前先了解下相關金額參數: 

1、請求中金額參數 

total_amount:訂單總金額,訂單總金額,機關為元,精确到小數點後兩位,取值範圍[0.01,100000000] 

discountable_amount:可打折金額,參與優惠計算的金額,機關為元,精确到小數點後兩位,取值範圍[0.01,100000000] 

undiscountable_amount:不可打折金額,不參與優惠計算的金額,機關為元,精确到小數點後兩位,取值範圍[0.01,100000000] 

滿足:total_amount=discountable_amount+undiscountable_amount 

三者選其二,另外一個支付寶背景可以自動計算。 該參數是由商戶的收銀系統擷取,需要商戶系統能夠區分可打折與不可打折的商品,以保證給支付寶傳參時厘清可打折金額與不可打折金額。商戶在支付寶商家中心配置的優惠是根據可打折金額(discountable_amount)來做優惠的。 

2、支付成功傳回中的金額參數 

total_amount:訂單總金額, 

receipt_amount:實收金額,商家在交易中實際收到的款項 

invoice_amount:開票金額,使用者在交易中支付的可開具發票的金額 

buyer_pay_amount:付款金額,使用者在交易中支付的金額 

point_amount:集分寶金額 

上述五個金額的關系如下: 

total_amount - 商戶出資的優惠金額 = receipt_amount; 

receipt_amount - 支付寶出資的優惠金額 = buyer_pay_amount; 

buyer_pay_amount - 使用者自由的營銷工具(目前隻有集分寶  即point_amount)= invoice_amount 

3、當面付支付管道(fund_channel,支付管道;amount,支付金額) 

4、優惠計算: 

商家優惠是:mdiscount, 

支付寶優惠是:discount 

也就是 

商戶優惠: 訂單總金額(total_amount) - 商戶實收(receipt_amount) 

使用者優惠:訂單總金額(total_amount)-使用者實付(buyer_pay_amount) 

詳細參數參考該接口文檔:

[url]https://docs.open.alipay.com/194/105203/[/url]

附上案例分析: 

某餐廳在支付寶背景配置了商戶出資的9折活動,酒水不享受折扣,同時疊加支付寶出資的立減5元活動。某使用者總共消費100元,其中酒水20元,則商戶系統在請求支付時,需傳入undiscountable_amount=20。此時商戶實收金額為(100-20)*0.9+20=92元,使用者實付金額為92-5=87元,由于使用者又使用了自己賬戶等值2元的集分寶,是以開票金額為87-2=85元 

繼續閱讀