1. 程式人生 > >python ---- 支付寶支付

python ---- 支付寶支付

支付開發:
常見:
支付寶:
需要認證
企業營業執照,個體工商戶
支付寶提供測試,測試完了,把企業執照一配置就可以用了

	微信:
		需要認證:認證一次200

支付寶開發:
去螞蟻金服開放平臺
需求:做網頁端和App端的支付寶支付

進入支付寶開放平臺在這裡插入圖片描述
沙箱環境:動態把記憶體、磁碟隔開,和線上環境隔開,環境與線上環境一樣,但不會真是操作線上資料,類似於演示環境,避免生成垃圾資料
螞蟻金服開放平臺裡面的沙箱環境提供了測試時需要的支付寶閘道器和支付寶公鑰

按照說明文件進行註冊。。
在這裡插入圖片描述
應用閘道器:伺服器地址
授權回撥地址:支付成功,回撥的頁面
新增配置公鑰

在這裡插入圖片描述
點選支付應用,檢視接入文件
在這裡插入圖片描述

由圖知:只有 提交支付 是和後端對接,對接完後就可以去支付寶支付了

開發過程:
建立應用:
APPID
配置應用:
配置安全策略
配置金鑰
在這裡插入圖片描述

在這裡插入圖片描述

開發:
	四把鑰匙:
		兩對
			支付寶為你的應用建立:
				私鑰:獲取不到,支付寶保留
				公鑰:將公鑰提供給開發者
			開發者自己建立:
				私鑰:自己儲存好
				公鑰:上傳給支付寶

開發步驟:
可參考girhub:https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
在專案中新建一個資料夾,放入應用私鑰和支付寶的公鑰的 .txt檔案

在seetings.py中:
APP_ID=’’ # 裡面是支付寶生成的應用id
APP_PRIVATE_KEY = open(os.path.join(BASE_DIR,‘alipay/…’)).read()
ALIPAY_PUBLIC_KEY = open(os.path.join(BASE_DIR,‘alipay/…’)).read()

將下面的程式碼複製進相應程式碼位置

alipay = AliPay(
appid=“APP_ID”,
app_notify_url=None, # 預設回撥url
app_private_key_string=APP_PRIVATE_KEY,
# 支付寶的公鑰,驗證支付寶回傳訊息使用,不是你自己的公鑰,
alipay_public_key_string=ALIPAY_PUBLIC_KEY,
sign_type=“RSA” # RSA 或者 RSA2
debug=True # 預設False
)

在這裡插入圖片描述
在這裡插入圖片描述

#電腦網站支付,
#需要跳轉到https://openapi.alipay.com/gateway.do? + order_string
order_string = alipay.api_alipay_trade_page_pay(
# 訂單編號,專案中自動查詢,新增
out_tra de_no="",
total_amount=0.01,
subject=subject,
# 付款後回撥的url
return_url=“

https://localhost:8000/cinema/oderpayed”,
notify_url=“https://localhost:8000/cinema/oderpayconfirm” # 可選, 不填則使用預設notify url

pay_info = 'https://openapi.alipay.com/gateway.do?’ + order_string

data = {
‘msg’: ‘ok’,
‘status’:200,
‘pay_url’: pay_info,
}

return Response(data)

@api_view([‘GET’,‘POST’])
def order_pay_confirm(request):
print(request.data)
data = {
‘msg’: ‘ok’,
‘status’: 200,

}
return HttpResponse(data)

@api_view([‘GET’,‘POST’])
def order_payed(request):
data = {
‘msg’: ‘pay success’
}
return Response(data)