使用openssl
openssl
生成私鑰
生成公鑰
官方:pip install alipay-sdk-python
第三方:pip install python-alipay-sdk
解決:
pip uninstall alipay-sdk-python
pip uninstall python-alipay-sdk
pip install python-alipay-sdk
官方api詳解:
下面是第三方介面:
主要的三個api:
初始化
alipay = alipay(
alipay_public_key_string=settings.alipay_public_key,
# 支付寶的公鑰,驗證支付寶回傳訊息使用,不是你自己的公鑰
sign_type="rsa2", # rsa2
debug=true # 預設false
)
api_alipay_trade_page_pay (收單交易支付介面)
order_string = alipay.api_alipay_trade_page_pay(
out_trade_no=order_id, # 訂單id
total_amount=str(total_pay), # 支付總金額
subject='訂單交易%s' % order_id,
return_url=none, # 可選, 同步通知訂單狀態
notify_url=none # 可選, 非同步通知訂單狀態
)# 真實環境:
# alipaydev是沙箱環境, 支付**,讓客戶端訪問下面這個**進行支付
pay_url = '' + order_string
return jsonresponse()
.api_alipay_trade_query (收單線下交易查詢)
# 引數就是上面第二步發給支付寶的order_id
response = alipay.api_alipay_trade_query(order_id)
# 成功返回的dict:
# response =
# 未支付時返回的dict:
response =
由此我們可以判斷交易結果
if code ==
'10000'
and response.get(
'trade_status')==
'trade_success'
:'''支付成功'''
return jsonresponse(
)elif code ==
'40004'
or(code ==
'10000'
and response.get(
'trade_status')==
'wait_buyer_pay'):
'''等待買家付款'''
# 建立交易超時
if(expire_time > settings.alipay_timeout_minute *60)
:return jsonresponse(
) time.sleep(settings.alipay_timeout_sleep_secs)
expire_time += settings.alipay_timeout_sleep_secs
continue
else
:'''支付出錯'''
return jsonresponse(
)
買家賬號[email protected]
登入密碼111111
支付密碼111111
先把支付寶中的沙箱環境推出登入,或者直接關了那個頁面,重新啟動程式就行了。 支付寶支付
1 呼叫支付寶介面 具體 i 呼叫alipaysubmit.buildrequestpara 方法生成要請求給支付寶的引數陣列。呼叫alipaycore.parafilter sparatemp 除去陣列中的空值和簽名引數。之後,呼叫buildrequestmysign spara 生成簽名結果。最...
支付寶支付
1 支付寶開發 支付寶開放平台 支付寶開發者文件 生成簽名 python alipay adk 直接使用第三方sdk python alipay sdk 1 登入開發者中心,熟悉 電腦 支付 整體流程 訪問 支付寶開發平台 登入,可以訪問開發者中心 2 第一步 建立應用 這裡使用沙箱環境測試 1 沙...
python支付 Python對接支付寶支付自實現
python python開發 python語言 python對接支付寶支付自實現 python對接支付寶支付自實現 coding utf 8 import base64 import json import urllib.parse from datetime import datetime im...