您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關python接入支付寶的方法流程,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Python接入支付寶流程:
第一步:
首先要下載一個python的sdk,這個sdk在支付寶的開發者文檔中是沒有的,但是強大的python程序員自己開發了一套屬于python的支付寶支付sdk。
下載方式:pip install python-alipay-sdk ,github的鏈接為 https://github.com/fzlee/alipay
第二步:
下載好sdk之后,需要對支付寶進行一些相關的配置,支付寶的環境分為兩種,一為正式環境,也就是程序上線之后的環境。
二為沙箱環境,即開發者在開發項目時候的測試環境。
正式環境需要創建應用,然后支付寶后臺進行審核,通過后會分配一個appid作為一個唯一標志。如圖為創建應用。
這里我用到的是沙箱環境,所以不需要等待支付寶的審核,點擊進入開發者中心–>研發服務–>沙箱應用。如圖所示它會自動給你分配一個appid,你只需要這是一下私鑰和公鑰即可。
第三步:
需要生成自己的服務端的私鑰和公鑰,現在支付寶支持的加密方式為sha256,sha1,
推薦使用sha256.支付寶提供了生成秘鑰的方法和步驟(https://docs.open.alipay.com/291/105971/ )
打開括號中的鏈接,即可看到詳細的生成秘鑰的方法和步驟。公鑰私鑰生成完之后,要將公鑰上傳到支付寶密鑰設置中。將支付寶的公鑰copy到本地,將自己的公鑰私鑰和支付寶的公鑰保存好(這個很重要),一般都保存到本地項目的文件中。
第四步:
了解并熟悉支付寶的開發流程。如圖為客戶端通過后端程序與支付寶后端的交互流程圖
1、用戶選擇使用支付寶付款
2、用戶使用app向商戶服務器發起請求獲取簽名后的訂單信息
3、商戶服務端返回簽名后的訂單信息(查詢字符串或者url)例如:
app_id=201609239&biz_content=%7B%22subject%22%3A%22%5Cu6d4b%5Cu8bd5%5Cu8ba2%5Cu5%22out_trade_no%22%3A%22201702021111%22%2C%22total_amount%22%3A1000%2C%22product_code%22%3A%22FAST_INSTANT_TRADE_PAY%22%7D&charset=utf-8&method=alipay.trade.page.pay¬ify_url=http%3A%2F%dus.com%2F&return_url=http%3A%2F%2F47.92.87.172%3A8000%2F&sign_type=RSA2×tamp=2015+15%3A19%3A15&version=1.0&sign=BSzk6LzwNp
4、商戶app調用支付接口
5-8、支付寶服務端接收請求,返回支付結果。
9、商戶app向商戶服務端發起請求,同步支付結果,服務端驗證簽名,解析支付結果。
10、返回支付結果。
11、商戶app展示支付結果。
12、支付寶服務端向商戶服務端異步發送支付通知。
13、商戶服務端接收支付通知,并返回響應給支付寶服務端。
第五步:
python代碼如下
# 業務處理: 使用python sdk調用支付寶的支付接口 # 初始化 from alipay import AliPay alipay = AliPay( appid="2016092300574189", app_notify_url=None, app_private_key_path=r"D:\python源代碼\alipay_keys\private_keys", alipay_public_key_path=r"D:\python源代碼\alipay_keys\public_key", sign_type="RSA2", debug=True, ) # 調用接口 # total_pay = order.total_price + order.transit_price total_pay = 12311 order_string = alipay.api_alipay_trade_page_pay( out_trade_no=1231231312313, total_amount=str(total_pay), subject='測試text%s' % 1, return_url=None, notify_url=None, ) # 返回應答 pay_url = "https://openapi.alipaydev.com/gateway.do?" + order_string print(pay_url)
這段代碼實現的功能為生成一個簽名后的url,這個url就是訪問支付寶支付的url
其中初始化部分的參數:appid為支付寶的唯一標志id,
app_notify_url為支付寶后臺完成支付的時候異步通知到商戶的后臺服務器的URL地址。
app_private_key_path為自己生成的私鑰,
alipay_public_key_path為支付寶的公鑰。sign_type為簽名的加密方式,
debug為true時,支付寶的支付的url為非正式的環境,如果為線上環境可以將其改為false。
調用接口部分的參數: out_trade_no為訂單編號這個是商戶后臺服務器自己生成的訂單編號。
total_amount為支付金額(必須為字符串類型),subject為標題,return_url為支付成功后支付頁面要跳轉到哪個頁面。
notify_url為異步通知的url。
第六步:
運行這段代碼會得到一個簽名之后的url。
訪問這個url,看到的結果為:
可以手機下載一個沙箱環境的支付寶,也可以點擊右側的登錄賬戶付款。在沙箱應用中提供了用于付款的賬號和密碼。
第七步:
登錄完成支付
關于python接入支付寶的方法流程就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。