支付寶中的return_url和notify_url

return_url: 
1、同步返回接口,作爲參數傳遞給支付寶 
2、用戶付款成功後,從支付寶跳轉到這個頁面 
3、在這個頁面中加入相關業務處理,比如更新記錄,標記付款成功信息。 
4、需要對支付寶傳遞過來的簽名進行認證。 
5、用來展現成功付款信息給前臺付款用戶。 
6、支付寶那邊只返回一次。 

notify_url: 
1、異步通知接口,作爲參數傳遞給支付寶。 
2、如果不傳遞,則不通知。 
3、相關業務邏輯應該和return_url中相同。 
4、返回字符串"success"或者"fail",不能帶有任何HTML信息。 
5、付款成功後就通知一次,如果不成功,1分鐘、3分鐘、10分鐘、半個小時。。。後再通知,直到返回success。 
6、過期時間是48小時,如果48小時內都通知不成功,那麼就不再通知。 

掉單:支付寶付款成功,但是沒有收到成功的返回信息。 

如果不傳遞notify_url,掉單率在20-30%,準備和alipay對賬吧。 
notify_url可以保證99.99%的通知成功率。 



1.支付寶接口中需要修改參數的文件有 Default.aspx 文件;買家付款成功後反饋的頁面時 return_url(頁面跳轉),notify_url(後臺通知);AliPay.cs 不用修改. Default.aspx 文件中 seller_email,key,partner 對應的分別是支付寶帳號,安全校驗碼和合作id 
(注:如何獲取安全校驗碼和合作ID 
1.訪問 www.alipay.com,然後登陸您的帳戶. 
2.點擊右上角的“商家工具”. 
3.在網站集成目錄下,選擇適合您的交易方式,然後點擊點此申請. 
4.填寫好申請表格,點擊下一步,您可以看到一段32位的字符串—就是安全校驗. 
5.合作ID在安全校驗碼下方.) 
Default.aspx 頁面,需要傳遞參數到這個頁面,需要傳遞的參數是 subject(商品名稱),body(商品說明),total_fee,out_trade_no(外部商家訂單號.爲了方便測試,在 index.asp這個頁面採用的是以日期的形式的數字字符串,這個訂單號必須保證提交給支付寶的時候是唯一的,否則支付不了 

2. 
return_url 和 notify_url 的區別及其操作. 
買家付款成功後,如果接口中指定有return_url ,買家付完款後會跳到 return_url所在的頁面,這個頁面可以展示給客戶看,這個頁面只有付款成功纔會跳轉. 

notify_url: 服務器後臺通知,這個頁面是程序後臺運行的(買家和賣家都看不到),買家付完款後,支付寶會調用notify_url這個頁面所在的頁面並把相應的參數傳 遞到這個頁面,這個頁面根據支付寶傳遞過來的參數修改網站訂單的狀態,更新完訂單後需要在頁面上打印出一個success 給支付寶,如果反饋給支付寶的不是success,支付寶會繼續調用這個頁面. 

流程: 買家付完款(trade_status=TRADE_FINISHED)--->支付寶通知notify_url--->如果反饋給支付寶的 是success(表示成功,這個狀態下不再反饋,如果不是繼續通知,一般第一次發送和第二次發送的時間間隔是3分鐘) 
剩下的過程,賣家發貨,買家確認收貨,交易成功都是這個流程 


排除常見錯誤的方法: 
1:錯誤信息提示爲:ILLEGAL_SIGN,屬於簽名驗證出錯 
CreatUrl的方式參數不一致,編碼問題都可以引起這個錯誤 
2:錯誤信息提示爲:ILLEGAL_ARGUMENT,屬於參數格式有問題 
查看接口發送頁的參數是不是符合要求 
3:錯誤信息提示爲:ILLEGAL_SERVICE,屬於無效接口名稱 
查看service參數 
4:錯誤信息提示爲ILLEGAL_PARTNER,屬於無效合作伙伴ID 
查看partner參數 
5:錯誤信息提示爲ILLEGAL_SIGN_TYPE,屬於無效簽名方式 
sign_type是加密類型,一般爲md5 
6:錯誤信息提示爲DIRECT_PAY_AMOUNT_OUT_OF_RANGE,屬於快速付款交易總金額超出最大值限制 
快速付款餘額支付最大限制爲:2000,用卡沒限制 
7:錯誤信息提示爲HASH_NO_PRIVILEGE,屬於沒有權限訪問該服務 
查看service參數和賣家支付寶帳號所擁有的權限是不是一致 
8:錯誤信息提示爲DONATE_GREATER_THAN_MAX,屬於小額捐贈總金額超出最大值限制 
小額捐贈一般現在爲100 
9:錯誤信息提示爲OUT_TRADE_NO_EXIST,屬於外部交易號已經存在 
外部交易號重複 
10:錯誤信息提示爲TRADE_NOT_EXIST,屬於交易不存在 
11:錯誤信息提示爲ILLEGAL_PAYMENT_TYPE,屬於無效支付類型 
查看有沒有PAYMENT_TYPE參數,是不是對的 
12:錯誤信息提示爲BUYER_NOT_EXIST,屬於買家不存在 
查看buyer_email的帳號是不是支付寶帳號 
13:錯誤信息提示爲SELLER_NOT_EXIST,屬於賣家不存在 
seller_email的帳號是不是支付寶帳號 
14:錯誤信息提示爲BUYER_SELLER_EQUAL,屬於買家、賣家是同一帳戶 
同一個支付寶帳號不能同爲買家和賣家 
15:錯誤信息提示爲ILLEGAL_LOGISTICS_FORMAT,屬於無效物流格式 
只有三種物流類型:EMS,POST,EXPRESS,即爲EMS,平郵,其他快遞 
16:錯誤信息提示爲TOTAL_FEE_LESSEQUAL_ZERO,屬於交易總金額小於等於0 
price或者total_fee不能小於等於0 
17:錯誤信息提示爲TOTAL_FEE_OUT_OF_RANGE,屬於交易總金額超出範圍 
18:錯誤信息提示爲ILLEGAL_FEE_PARAM,屬於非法交易金額格式 
price或者total_fee的值是否規範
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章