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 = '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:
de_url) # ⼆维码地址(weixin:// 开头,请使⽤此地址构建⼆维码)
print(r.qrcode) # ⼆维码地址( 开头,为⼆维码图⽚的地址)
print(r.payjs_order_id) # 订单号(PAYJS 的)
el:
print(r.STATUS_CODE) # HTTP 请求状态码
print(r.ERROR_NO) # 错误码
烧子鹅_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) # ⽤于发起⽀付的⽀付参数
el:
print(j.STATUS_CODE) # HTTP 请求状态码
print(j.ERROR_NO) # 错误码
_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) # 是否已⽀付
el:群众报>excel转pdf
_msg) # 错误信息
print(s)
# 订单关闭
等花开t = p.clo(r.payjs_order_id)
if t:
print('Success')
el:
print('Error')
urn_msg)
# 订单退款
t = p.refund(r.payjs_order_id)
if t:
print('Success')
el:
print('Error')
urn_msg)
# 获取⽤户 OpenId
分明的意思是什么
o = p.get_openid(callback_url=CALLBACK_URL)
print(o)
# 回调验证
n = PayJSNotify(KEY, '回调内容(str 或 dict)')
print(n)