支付寶 python alipay 集成(轉)


即時到帳只是支付寶眾多商家服務中的一個,表示客戶付款,客戶用支付寶付款,支付寶收到款項后,馬上通知你,並且此筆款項與交易脫離關系,商家可以馬上使用。

 

即時到帳只對企業客戶服務,注冊成功企業賬號以后,申請簽約即時到帳產品,大約3-5個工作日后,簽約成功,可以馬上進入集成產品階段。

 

這個是支付寶提供的接口,有asp,c#,java,php四種語言的,每種語言提供GBK和UTF-8兩種方案。另帶一份支付寶的文檔,這份文檔我感覺本來簡單的事情越說越麻煩了。

http://download.alipay.com/public/api/base/alipaydirect.zip

 

網上搜了一下,發現python接口有幾個現成的方案。

https://github.com/fengli/alipay_python

 

這兩個是一個,代碼我還沒看,寫文檔的時候發現的。
https://github.com/lxneng/alipay

https://pypi.python.org/pypi/alipay/0.2.2

 

支付寶即時到帳交易過程。

 

商家:是指支付寶的企業客戶。也就是你集成服務單位。

終端消費者:是指在網上購物的消費者,你集成服務單位的客戶。

 

1、終端消費者在商家網站選擇商品,下訂單。

2、商家把支付信息,get到支付寶指定的鏈接。

3、終端消費者在支付寶的網站上操作付款。

4、付款成功后,支付寶post付款成功的信息到商家預先提供的地址。

5、支付寶在終端消費者付款成功后三秒后,通過get跳回商家指定的鏈接。

 

第4步跟終端消費者操作付款的跳轉無關,所以被稱為異步通知。這一步,支付寶期待你返回'success',如果你不返回'success',支付寶會於4分鍾后再次post付款成功的信息,此后每10分鍾post一次,至少30分鍾內如此。如果終端消費者付款失敗,異步通知不會發生。

 

通過集成,我知道為什么終端消費者付款成功后要等3秒后跳轉回商家頁面了,因為它要等異步通知的信息先到達,先處理訂單,再帶終端消費者回到客戶的界面,這樣就可以看到支付成功的頁面了。當然付款失敗,異步通知不發生,訂單狀態沒有改變,終端消費者就只能看到付款失敗的信息。

 

了解了支付過程,開始設計程序。

1、生成商品訂單。終端消費者選擇商品生成商品訂單。ID號要唯一,這個唯一不是要你采用UUID,而是跟支付寶往來過程唯一即可,從1遞增也可以,只是終端消費者能看到這個id,所以最好采用固定長度的字符串,終端消費者如果知道自己是第一個客戶,會不會心里發怵?后面會談到,為了安全不僅不能用遞增,而且至少要6位隨機碼以上。

2、選擇支付方式。因為我們僅僅集成了即時到帳,所以只有支付寶付款一個選項。把支付方式加入訂單信息,同時把訂單id post到下一步地址,這一步post,最好采用新開頁面,本頁面彈出對話框,讓客戶自己選擇支付成功或者支付失敗。

3、發送支付信息。根據post過來的訂單號組合信息,get方式發送數據給支付寶,同時帶動終端消費者頁面跳轉到支付寶支付頁面。

4、接受異步通知。

5、支付成功后支付寶跳轉回來的程序。因為回來時get方式,為避免終端消費者看到更多敏感信息,這一步並沒有渲染頁面,而是處理信息,跳轉到另外一個頁面。

6、顯示支付結果。這個頁面和第2步讓客戶點擊支付成功跳轉的是同一個。支付失敗,就跳轉到一個說明吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM