安裝python-alipay-sdk
pip install python-alipay-sdk --upgrade
配置檢視函式orders/views.py
# 訂單支付
# /order/pay
from alipay import alipay, isvalipay
import os
from django.conf import settings
class orderpayview(view):
def post(self, request):
'''支付頁面'''
# 判斷使用者是否登入
user = request.user
if not user.is_authenticated():
return jsonresponse()
# 接收訂單id
order_id = request.post.get('order_id')
# 校驗訂單id
if not order_id:
return jsonresponse()
# 查詢訂單資訊
try:
order = orde程式設計客棧rinfo.objects.get(order_id=order_id, user=user, pay_method=3, order_status=1)
except orderinfo.doesnotexist:
return jsonresponse()
# 業務處理 使用python sdk呼叫支付寶的支付介面
# 支付寶資訊 不能放在settings裡 會報錯
alipay = alipay(
appid="2016101200665304",
app_notify_url=none, # 預設**url 如果為空的話不能用'' 要用none
# 個人私鑰
app_private_key_string=os.path.join(settings.base_dir, 'apps/orders/app_private_key.pem'),
# 支付寶的公鑰,驗證支付寶回傳訊息使用,不是你自己的公鑰,
alipay_public_key_string=os.path.join(settings.base_dir, 'apps/orders/alipay_public_key.pem'),
# 加密方式
hljfbc sign_type="rsa2", # rsa 或者 rsa2
# 沙箱是true 正式環境是false
debug=true # 預設false
)# 呼叫支付介面
# 電腦**支付,需要跳轉到 + order_string 實際位址
# 沙箱位址 + order_string 沙箱位址在alipay後面加上dev
total_price = order.total_price + order.transit_price # decimal
order_string = alipay.api_alipay_trade_page_pay(
out_trade_no=order_id, # 訂單id
total_amount=str(total_price), # 支付總金額 因為decimal格式不能序列化 所以先轉成字串
subject='天天生鮮%s'%order_id,
return_url=none,
notify_url=none # 可選, 不填則使用預設notify url
)# 返回應答
pay_程式設計客棧url = '' + order_string
return jsonresponse()
配置路由urls.py
from django.conf.urls import url
from orders.views import orderplaceview, ordercommitview, ohljfbcrderpayview
urlpatterns = [
url(r'^place$', orderplaceview.as_view(), name='place'), # 提交訂單頁面
url(r'^commit$', ordercommitview.as_view(), name='commit'), # 提交訂單處理
url(r'^pay$', orderpayview.as_view(), name='pay'), # 訂單支付
]
支付寶支付
1 呼叫支付寶介面 具體 i 呼叫alipaysubmit.buildrequestpara 方法生成要請求給支付寶的引數陣列。呼叫alipaycore.parafilter sparatemp 除去陣列中的空值和簽名引數。之後,呼叫buildrequestmysign spara 生成簽名結果。最...
支付寶支付
1 支付寶開發 支付寶開放平台 支付寶開發者文件 生成簽名 python alipay adk 直接使用第三方sdk python alipay sdk 1 登入開發者中心,熟悉 電腦 支付 整體流程 訪問 支付寶開發平台 登入,可以訪問開發者中心 2 第一步 建立應用 這裡使用沙箱環境測試 1 沙...
整合 支付寶支付
第一步,看官方文件 戳這裡 第二步,就是上圖,比如要匯入哪些內容.其中,總結一點自己一直的錯誤資訊 查了很多資料,沒管用,最後終於找到良方。解決辦法 把openssl這個檔案匯入到了這個工程目錄下 專案名稱 公共類 工具 第三方 支付寶sdk openssl 中間隔了三個資料夾,那麼在header ...