天天看點

支付寶預授權內建流程一、文檔位址二、開發前準備工作三、接口內建流程四、注意事項五、常見接口報錯

一、文檔位址

官方文檔位址:[url]https://docs.open.alipay.com/20180417160701241302[/url]

二、開發前準備工作

1、簽約:[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url]

2、建立應用:[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url]

3、生成密鑰:[url]https://openclub.alipay.com/read.php?tid=1833&fid=69[/url]

4、下載下傳服務端sdk:[url]https://docs.open.alipay.com/54/106370/[/url]

注意事項:1、不支援沙箱測試;2、需簽約并添加功能;3、支援第三方調用。

檢查調用appid的應用功能清單中是否添加“支付寶預授權”。

支付寶預授權內建流程一、文檔位址二、開發前準備工作三、接口內建流程四、注意事項五、常見接口報錯

三、接口內建流程

1、各接口注意事項

1. 線上資金授權當機(alipay.fund.auth.order.app.freeze)

功能:建立支付寶授權訂單并完成資金當機。适用于線上場景完成資金授權, 例如從商戶APP端拉起支付寶收銀台完成當機。

調用該接口會直接将使用者金額當機扣款,扣款完成後可調用授權轉支付接口進行支付,或者調用解凍接口進行解凍,将接原路退還給使用者;

注意事項:

(1):請求參數的out_order_no和out_request_no參數每一次請求都必須保證唯一,即使是之前請求報錯,也不能使用相同的資訊再次請求

(2):payee_logon_id和payee_user_id兩個參數,如果商戶有勾選花呗管道則必須傳入其中一個不能都為空,建議在不确定是否簽約有勾選花呗管道的情況下一定要傳入這個參數,或是可以聯系商戶客服咨詢自己的簽約支付寶預授權是否有勾選花呗管道後再選擇傳入,聯系商戶客服電話:0571-88158090,或線上商戶客服:[url]https://cschannel.alipay.com/newPortal.htm?scene=mysjbzzx[/url]

(3):product_code=PRE_AUTH_ONLINE,産品碼,是固定值,不要更改;

(4):extra_param為業務拓展參數,可以不傳。如果傳入category為業務分類,需要依據您的簽約行業來選擇傳入。具體的分類請參考:[url]https://docs.open.alipay.com/10719[/url]。

(5):enablePayChannels為選填字段,可以指定支付管道,如果不傳,預設為簽約協定的支付管道;若需要指定管道,目前僅支援餘額寶(MONEY_FUND)、花呗(PCREDIT_PAY)以及芝麻信用(CREDITZHIMA);

(6):該接口必須使用手機上安裝支付寶錢包測試,在電腦模拟器上測試會直接報錯;

支付寶預授權內建流程一、文檔位址二、開發前準備工作三、接口內建流程四、注意事項五、常見接口報錯

(7):當機成功後會有當機賬單

支付寶預授權內建流程一、文檔位址二、開發前準備工作三、接口內建流程四、注意事項五、常見接口報錯

2. 授權轉支付(alipay.trade.pay )

功能:建支付寶授權訂單并完成資金當機。适用于線上場景完成資金授權, 例如從商戶APP端拉起支付寶收銀台完成當機。

(1):該接口是當面付條碼支付接口,但又不需要傳值支付碼(auth_code),也無需簽約當面付,隻需簽約支付寶預授權,将産品碼(Product_Code)設定為:PRE_AUTH_ONLINE

授權轉支付接口調用成功後會自動扣除金額;

(2):如果auth_confirm_mode = COMPLETE;支付成功後,會自動扣款total_amount傳值金額,将剩餘金額還給使用者;

支付寶預授權內建流程一、文檔位址二、開發前準備工作三、接口內建流程四、注意事項五、常見接口報錯
支付寶預授權內建流程一、文檔位址二、開發前準備工作三、接口內建流程四、注意事項五、常見接口報錯

(3):如果auth_confirm_mode = NOT_COMPLETE;支付成功後,會自動扣款total_amount傳值金額,剩餘金額仍會當機,不會解凍退還,需要調用解凍接口;

(4):seller_id必須傳入,且必須是appid對應的收款id,不傳會報錯;第三方應傳值授權token對應的商戶;不傳值會報參數無效;

{"code":"40004","msg":"Business Failed","sub_code":"ACQ.INVALID_PARAMETER","sub_msg":"參數無效","buyer_pay_amount":"0.00","invoice_amount":"0.00","point_amount":"0.00","receipt_amount":"0.00"}​           

(5):buyer_id必須傳入,該參數可以在當機成功的異步資訊中擷取

{"code":"40004","msg":"Business Failed","sub_code":"ACQ.INVALID_PARAMETER","sub_msg":"參數無效:買家不能為空","buyer_pay_amount":"0.00","invoice_amount":"0.00","point_amount":"0.00","receipt_amount":"0.00"}​           

(6):支付寶預授權支付成功之後是無法調用退款接口退款的,調用我們的退款接口退款會直接報錯“交易不存在”

{"alipay_trade_refund_response":{"code":"40004","msg":"Business Failed","sub_code":"ACQ.TRADE_NOT_EXIST","sub_msg":"交易不存在","refund_fee":"0.00","send_back_fee":"0.00"}           

3. 資金授權解凍(alipay.fund.auth.order.unfreeze)

功能:當資金授權發生之後一段時間内,由于買家或者商家等其他原因需要要解凍資金,商家可通過資金授權解凍接口将授權資金進行解凍,支付寶将在收到解凍請求并驗證成功後,按解凍規則将當機資金按原路進行解凍。

(1):auth_no是調用資金當機接口成功後傳回的,填寫錯誤會報系統繁忙

{"alipay_fund_auth_order_unfreeze_response":{"code":"20000","msg":"Service Currently Unavailable","sub_code":"aop.SYSTEM_ERROR","sub_msg":"系統錯誤"},           

資金授權撤銷(alipay.fund.auth.operation.cancel)

功能:隻有商戶由于業務系統處理逾時需要終止後續業務處理或者授權結果未知時可調用撤銷,其他正常授權當機的操作如需實作相同功能請調用資金授權解凍服務。送出資金授權後調用【資金授權操作查詢】,沒有明确的授權結果再調用【資金授權撤銷】。

 (1):調用授權轉支付接口支付成功的訂單無法調用撤銷接口,調用會直接報錯

{"alipay_fund_auth_operation_cancel_response":{"code":"40004","msg":"Business Failed","sub_code":"ORDER_ALREADY_FINISH","sub_msg":"授權訂單已經完結,無法再進行資金操作"}​           

4.

資金授權操作查詢(alipay.fund.auth.operation.detail.query)

功能:通過該接口可以查詢單筆明細的詳細資訊,細分到每一次操作,如當機、解凍。

詳細的傳回參數API:[url]https://docs.open.alipay.com/api_28/alipay.fund.auth.operation.detail.query[/url]

2、demo示例

Java示例及demo:[url]https://openclub.alipay.com/read.php?tid=11412&fid=59[/url]

php示例及demo:[url]https://openclub.alipay.com/read.php?tid=11697&fid=60[/url]

.net示例及demo:[url]https://openclub.alipay.com/read.php?tid=11699&fid=60[/url]

四、注意事項

1.确認是否已簽約,詳細的請參考:[url]https://openclub.alipay.com/read.php?tid=11745&fid=72[/url]

2.如果想要使用芝麻免押功能,在預設的簽約中是沒有的需要商戶主動郵件申請開通,主動申請開通【信用授權】,可主動發送至[email protected]申請開通【信用授權】 郵件内容包含商戶名稱,PID,商戶的行業  産品名。

3.支付寶預授權如何配置授權免押額度:[url]https://openclub.alipay.com/read.php?tid=11419&fid=72[/url]

五、常見接口報錯

支付寶預授權接口報錯系統異常自查方案:[url]https://openclub.alipay.com/read.php?tid=11411&fid=60[/url]

1.Q:線上資金授權當機接口報錯系統繁忙、系統異常

   A:這個報錯一般是參數或是秘鑰問題,詳細的排查方案請參考:[url]https://openclub.alipay.com/read.php?tid=11411&fid=60[/url]

  2、Q:為什麼無法使用花呗進行付款當機?

A:使用花呗需要商戶簽約有花呗支付的管道且擁有花呗準入的(可聯系商戶客服确認是否滿足這些條件:聯系商戶客服電話:0571-88158090,或線上商戶客服:[url]https://cschannel.alipay.com/newPortal.htm?scene=mysjbzzx[/url])

3、Q:為什麼有的使用者無法使用芝麻免押?

A:商家必須要有芝麻免押管道,首先必須芝麻分不低于配置的限定分值才能免押,其次如果該使用者之前有逾期違規行為導緻列入芝麻風控,行業黑名單,芝麻分足夠也有可能無法免押的,是否準入根據芝麻平台風控判斷為準,(如果無法使用免押可以咨詢芝麻客服進行确認:客服電話:0571-88158055 轉 2   線上咨詢:

[url]https://b.xin.xin/ant/product/index.htm[/url]

 )

  4、Q:如何使用銀行卡進行付款當機?

 A:如果不限制管道支付的話不傳入enable_pay_channels參數,這樣就可以選擇使用銀行卡進行付款當機

  5、Q:關于當機接口生成訂單的機制

   A: 建立支付寶訂單的機制是喚起支付寶收銀台,比如A使用者的支付寶錢包喚起了收銀台,這時候B使用者在使用A使用者的URL去喚起收銀台會報系統異常,或者參數無效。在喚起的時候就會根據支付寶用戶端進行綁定訂單

 6、Q:關于當機接口逾時參數的問題pay_timeout

   A:這個參數是控制訂單逾時的時間,不傳預設是15M,這個不傳指的是整個參數不傳,而不是傳入空值,超過15M後會再次進行付款當機會出現兩個報錯,一個是系統異常,一個是訂單參數異常

 7、Q:關于調用當機接口未安裝支付寶錢包的問題導緻的報錯

 A:這個是基于在支付寶用戶端進行的,如果未安裝支付寶錢包H5支付當機是走不通的(不像日常使用的支付接口在未檢測到支付寶用戶端會轉入到H5頁面進行登入),會提示使用者去安裝支付寶錢包

繼續閱讀