微信商戶轉帳到個人零錢

2022-04-10 19:57:34 字數 1579 閱讀 2888

import hashlib,requests,xmltodict

from random import random

pay_url = ""

def sign(key, params):

# 字典序排序

data = "&".join(['%s=%s' % (key, params[key]) for key in sorted(params)])

# 拼接sign

data = '%s&key=%s' % (data, key)

# md5加密, 所有字元轉為大寫

return hashlib.md5(data.encode('utf-8')).hexdigest().upper()

def dict_to_xml(data, cdata=true, encoding='utf-8'):

""" dict轉xml """

tag = '<>' if cdata else '<>'

s = ''.join(tag.format(k, v) for k, v in data.items())

return '{}'.format(s).encode(encoding)

def xml_to_dict(content):

""" xml轉dict """

data = xmltodict.parse(content).get('xml')

if '#text' in data:

del data['#text']

return data

def random_str():

"""生成32位隨機字串

"""chars = 'abcdefghijklmnopqrstuvwxyz0123456789'

random = random()

return "".join([chars[random.randint(0, len(chars) - 1)] for i in range(32)])

def wechat_transfer(openid, amount, order_id,desc= "測試商戶支付",ip = none):

"""企業付款到個人餘額介面"""

data =

# 拼接簽名

# 轉換格式

data_xml = dict_to_xml(data)

# 載入證書

# 發起支付

result = requests.post(pay_url,data=data_xml,cert=cert)

return xml_to_dict(result.text)

if __name__ == '__main__':

# 金額單位是分 1*100 是 1塊錢

ret = wechat_transfer("olqda5epndnhw4-rlckeqimpyeqe",1*100,"356352036536563269")

if ret and ret["return_code"] == "success":

if ret["result_code"] == "success":

print('付款成功')

微信付款到零錢

namespace globalunit utils use qys log log class wxcash arraytoxml 將陣列轉換成xml格式 簡單方法 param type data 陣列 return type array 轉 xml function arraytoxml dat...

微信企業支付到零錢

public function weixinpay 建立訂單 code this get pay code openid userinfo openid user id userinfo id nickname userinfo nickname this answer m create order...

微信企業支付到零錢

class wxcompanypay 商戶號 mchid 隨機字串 nonce str 簽名 sign 商戶訂單號 partner trade no 使用者openid openid 校驗使用者姓名選項 check name 收款使用者姓名 可選 re user name 金額 amount 企業付...