payjs--個人開發的微信支付方式


from payjs import PayJS # 也可根據個人習慣選擇使用 Payjs/PAYJS/payjs
from payjs import PayJSNotify # 也可根據個人習慣選擇使用 PayjsNotify/PAYJSNotify

MCHID = '這里是商戶號'
KEY = '這里是商戶密鑰'

# 初始化
p = PayJS(MCHID, KEY)

# 掃碼支付
OUT_TRADE_NO = '2017TEST' # 外部訂單號(自己的支付系統的訂單號,請保證唯一)
TOTAL_FEE = 1 # 支付金額,單位為分,金額最低 0.01 元最多 10000 元
BODY = '測試支付' # 訂單標題
NOTIFY_URL = 'https://pay.singee.site/empty/' # Notify 網址
ATTACH = 'info' # Notify 內容
r = p.QRPay(out_trade_no=OUT_TRADE_NO, total_fee=TOTAL_FEE, body=BODY, notify_url=NOTIFY_URL, attach=ATTACH)
if r:
print(r.code_url) # 二維碼地址(weixin:// 開頭,請使用此地址構建二維碼)
print(r.qrcode) # 二維碼地址(https:// 開頭,為二維碼圖片的地址)
print(r.payjs_order_id) # 訂單號(PAYJS 的)
else:
print(r.STATUS_CODE) # HTTP 請求狀態碼
print(r.ERROR_NO) # 錯誤碼
print(r.error_msg) # 錯誤信息
print(r)

# 構造收銀台支付網址(僅構造鏈接,請使用瀏覽器 302 到這個網址,無法預檢查調用是否成功)
c = p.get_cashier_url(out_trade_no=OUT_TRADE_NO, total_fee=TOTAL_FEE, body=BODY, callback_url=CALLBACK_URL, notify_url=NOTIFY_URL, attach=ATTACH)
print(c)

# JSApi 支付
OPENID = '這里填寫支付用戶的 OpenID' # 支付用戶在 PayJS 端的 OpenID,可通過 get_openid 獲取
j = p.JSApiPay(out_trade_no=OUT_TRADE_NO, total_fee=TOTAL_FEE, openid=OPENID, body=BODY, notify_url=NOTIFY_URL, attach=ATTACH)
if j:
print(j.jsapi) # 用於發起支付的支付參數
else:
print(j.STATUS_CODE) # HTTP 請求狀態碼
print(j.ERROR_NO) # 錯誤碼
print(j.error_msg) # 錯誤信息
print(j)

# 刷卡支付
AUTH_CODE = '這里填寫用戶側 18 位數字' # 用戶的支付條碼或二維碼所對應的數字
m = p.MicroPay(out_trade_no=OUT_TRADE_NO, total_fee=TOTAL_FEE, auth_code=AUTH_CODE, body=BODY)
print(m)

# 訂單查詢
s = p.check_status(payjs_order_id=r.payjs_order_id)
if s:
print(s.paid) # 是否已支付
else:
print(s.error_msg) # 錯誤信息
print(s)

# 訂單關閉
t = p.close(r.payjs_order_id)
if t:
print('Success')
else:
print('Error')
print(t.return_msg)

# 訂單退款
t = p.refund(r.payjs_order_id)
if t:
print('Success')
else:
print('Error')
print(t.return_msg)

# 獲取用戶 OpenId
o = p.get_openid(callback_url=CALLBACK_URL)
print(o)

# 回調驗證
n = PayJSNotify(KEY, '回調內容(str 或 dict)')
print(n)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM