python 易支付sdk

本文主要根據Hack易支付寫的,其他易支付差不多 自行修改網址
參數說明http://www.hackwl.cn/jkwd/#pay0

import hashlib
import requests

# 發起支付請求
def pay(money, name, notify_url, out_trade_no, payType, pid, return_url, webName, key):
    # money = ''               # 金額
    # name = ''                # 商品名稱
    # notify_url = ''          # 服務器異步通知地址
    # out_trade_no = ''        # 商戶訂單號
    # pid = ''                 # 商戶ID
    # return_url = ''          # 頁面跳轉通知地址
    # webName = ''             # 網站名稱
    # payType = ''             # 支付方式:alipay:支付寶,wxpay:微信支付,qqpay:QQ錢包,tenpay:財付通,
    # key = ''                 # 密鑰,易支付註冊會提供pid和祕鑰

    # 對參數進行排序,生成待簽名字符串--(具體看支付寶)
    sg = 'money=' + money + '&name=' + name + '&notify_url=' + notify_url +'&out_trade_no=' + out_trade_no + '&pid=' + pid + '&return_url=' + return_url + '&sitename=' + webName + '&type=' + payType
    # MD5加密--進行簽名
    sign = hashlib.md5((sg+key).encode(encoding='UTF-8')).hexdigest()  # 簽名計算
    # 最後要將參數返回給前端,前端訪問url發起支付
    url = 'http://pay.hackwl.cn/submit.php?' + sg + '&sign=' + sign + '&sign_type=MD5'

    res = requests.post(url).content.decode()
    return res

# 查詢商戶信息與結算規則
def act(pid, key):
    url = 'http://pay.hackwl.cn/api.php?act=query&pid=' + pid + '&key=' + key
    res = requests.get(url).content.decode()
    return res

# 修改結算賬號
def change(pid, key, account, username):
    url = 'http://pay.hackwl.cn/api.php?act=change&pid=' + pid + '&key=' + key + '&account=' + account + '&username=' + username
    res = requests.get(url).content.decode()
    return res

# 查詢結算記錄
def settle(pid, key):
    url = 'http://pay.hackwl.cn/api.php?act=settle&pid=' + pid + '&key=' + key
    res = requests.get(url).content.decode()
    return res

# 查詢單個訂單
def order(pid, key, out_trade_no):
    url = 'http://pay.hackwl.cn/api.php?act=order&pid='+pid+'&key='+key+'&out_trade_no='+out_trade_no
    res = requests.get(url).content.decode()
    return res

# 批量查詢訂單
def orders(pid, key, limit):
    url = 'http://pay.hackwl.cn/api.php?act=orders&pid=' + pid + '&key=' + key
    res = requests.get(url).content.decode()
    return res

if __name__ == '__main__':
    money = '0.01'  			# 金額
    name = ''  					# 商品名稱
    notify_url = ''  			# 服務器異步通知地址
    out_trade_no = ''  			# 商戶訂單號
    payType = ''  	# 支付方式:alipay:支付寶,wxpay:微信支付,qqpay:QQ錢包,tenpay:財付通
    pid = ''  					# 商戶ID
    return_url = ''  			# 頁面跳轉通知地址
    webName = ''  				# 網站名稱
    key = ''

    # res = pay(money, name, notify_url, out_trade_no, payType, pid, return_url, webName, key)
    # print(res)
    # act(pid, key)
    # print(settle(pid, key))
    # print(order(pid, key, out_trade_no))
    # limit = '50'
    # print(orders(pid, key, limit))

參考:
https://blog.csdn.net/chunzi8487/article/details/100680638

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章