三方支付(支付宝为例)
生活随笔
收集整理的這篇文章主要介紹了
三方支付(支付宝为例)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 支付寶介紹
- 使用python對接支付寶
- 第一步:創建應用(這里使用沙箱環境測試)
- 使用 python-alipay-sdk 支付&查詢支付結果
- 支付寶支付流程
支付寶介紹
- 支付寶開發網址
使用python對接支付寶
-
直接使用第三方SDK(python-alipay-sdk): https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
-
登錄開發者中心,熟悉"電腦網站支付"整體流程
第一步:創建應用(這里使用沙箱環境測試)
沙箱環境說明
- 線上環境需要創建應用,因為我們不是企業,沒有資質,所以只能申請沙箱環境
- 簡單來講沙箱環境就是給開發者使用的測試環境
- 沙箱環境地址:https://openhome.alipay.com/platform/appDaily.htm?tab=info
按照官方要求生成秘鑰
生成秘鑰參考官網:https://docs.open.alipay.com/291/105971
把生成的app公鑰粘貼到沙箱環境的app中
沙箱環境地址:https://openhome.alipay.com/platform/appDaily.htm?tab=info
1)粘貼app公鑰到沙箱環境中
2)支付寶公鑰一會再程序中要使用
使用 python-alipay-sdk 支付&查詢支付結果
- 說明
- 上代碼
alipay_test.py
from alipay import AliPay# 沙箱環境中 app 私鑰 app_private_key_string = open('app_private_key.pem').read() # 支付寶公鑰 alipay_public_key_string = open( 'alipay_public_key.pem').read()def get_alipay_url():alipay = AliPay(appid="2016101800716047", # 沙箱appidapp_notify_url=None, # 默認回調urlapp_private_key_string=app_private_key_string,# 支付寶的公鑰,驗證支付寶回傳消息使用,不是你自己的公鑰,alipay_public_key_string=alipay_public_key_string,sign_type="RSA", # RSA 或者 RSA2debug=True, # 默認False,我們是沙箱,所以改成True(讓訪問沙箱環境支付寶地址))# 調用支付接口# 電腦網站支付,需要跳轉到https://openapi.alipay.com/gateway.do? + order_stringorder_string = alipay.api_alipay_trade_page_pay(out_trade_no="201611124", # 訂單id,應該從前端獲取total_amount=str(0.01), # 訂單總金額subject="測試阿里云付款", # 付款標題信息return_url=None, # 付款成功回調地址(可以為空)notify_url=None # 付款成功后異步通知地址(可以為空))pay_url = "https://openapi.alipaydev.com/gateway.do?" + order_stringprint(pay_url) # 將這個url復制到瀏覽器,就會打開支付寶支付頁面def query_pay():alipay = AliPay(appid="2016101800716047", # 沙箱appidapp_notify_url=None, # 默認回調urlapp_private_key_string=app_private_key_string,# 支付寶的公鑰,驗證支付寶回傳消息使用,不是你自己的公鑰alipay_public_key_string=alipay_public_key_string,sign_type="RSA", # RSA 或者 RSA2debug=True, # 默認False,我們是沙箱,所以改成True(讓訪問沙箱環境支付寶地址))trade_query = alipay.api_alipay_trade_query(out_trade_no=20161112, # 上面生成支付碼頁面時傳入的商品訂單號trade_no=None)print(trade_query)if __name__ == '__main__':get_alipay_url()query_pay()''' trade_query 查詢用戶付款信息 返回信息詳情請看官方:https://docs.open.alipay.com/api_1/alipay.trade.query {"code": "10000", # code=10000代表支付成功"msg": "Success","buyer_logon_id": "foq***@sandbox.com","buyer_pay_amount": "0.00","buyer_user_id": "2088102180228981","buyer_user_type": "PRIVATE","invoice_amount": "0.00","out_trade_no": "20161112","point_amount": "0.00","receipt_amount": "0.00","send_pay_date": "2020-02-20 21:20:48","total_amount": "0.01","trade_no": "2020022022001428981000087565","trade_status": "TRADE_SUCCESS" }alipay_public_key.pem 支付寶公鑰
-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0GqgS2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyqrXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/65zi3eof7TcZ32oWpwIDAQAB -----END PUBLIC KEY-----app_private_key.pem app私鑰
-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCqHFHARYve67Nt/xADRjFsRVTuwOaUiE6GBoQD6JnDOeD07TF1L7cqL4c4zxqEWlcb5p7ZO5Czyw7mpQ7W1jtI9smBxEPEC0ZvlsOuh8zAiVng4gj54eDHarLhfkMk+/pzq44AT/B1CQgtUJRGZrppTO/4SEQZYMO5RcesnPO32QIDAQABAoGAZXlbMuzJkQLdGAKM1McseD+reHjNk1D0NnLwkTxRbOm7zZ8oX5VFF/8eFL9GPCl/yP77Ru6HVRkOHHvdrD5DQjkJ4VipmDQ8xfZlpMmdc2HLtezqR9GG3xso/cAdpCCRjR+vHfr/BTltEiZD3OJapGojyURo/QG5qe7r5lPGBJkCQQD0iZy2+xTfgS58vlD8wtYOXVYkQ4aGtejKx0wgvyws3ahLmv5t9lBB6YfKCVuOHv1ZvwAngWpTsoh4vxeLT8sbAkEAshWaaRyER9SJaeMIBuRf24Bmlyk6piDLTpOOE4lduvjR6j+IgJjY5/N4QTwy9G1vMVwWVzOX/wyinrY48wSkGwJBALcncudiO4oDuYvZB9OpIqZzphdXNCUljoyCpTRJu46HHowyNKqruAUGIpxiUd6qu1tCwZzVQ4wYxjqZ9cp0I00CQEJJ7ldQCSFfyOLEYrmGCvR/ADEmZLFwJZ2TKWC2UlCFzEWg7qPHwX3d0BagXOtFTQ2XlK1TBDIpNuNTOzGiuZ8CQAY/vcaxPm3VyjfevHpFmmwqHuNmRTyKdc3bd8NXTj/MJk7en/gK86PUHdixvudojGTbQOdSSWM/QQoVu8d+DFk= -----END RSA PRIVATE KEY-----支付寶支付流程
python-alipay-adk : https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
總結
以上是生活随笔為你收集整理的三方支付(支付宝为例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三方登录(微博为例)
- 下一篇: Python常用库及模块