# This is a sample Python script.

import hashlib

import json

import urllib

from urllib import request, parse

global_userId = ""

global_UrlId = ""

global_CallBackUrl = "https://www.baidu.com/"

def paymentT():

    params = {

        "userId": global_userId,

        "money": "1",

        "remark": "测试",

        "shopId": "iphone",

        "urlId": global_UrlId,

        "orderType": "01",

        "thirdOrderId": "1234567",

        "callbackUrl": global_CallBackUrl

    }

    sorted_params = sorted(params.items(), key=lambda x: x[0])  # 按照字典键(k)的首字母排序

    param_str = '&'.join([f"{k}={v}" for k, v in sorted_params])  # 拼接参数字符串

    # 创建MD5加密对象

    md5 = hashlib.md5()

    # 将参数字符串转换为字节类型,并使用MD5加密

    md5.update(param_str.encode('utf-8'))

    # 获取加密后的结果

    encrypted_str = md5.hexdigest()

    params.update({"sign": encrypted_str})

    return params

    # return params

def payData(orderId):

    params = {

        "orderId": orderId,

        "money": "1",

        "urlId": global_UrlId,

        "shop": "iphone"

    }

    return params

# 发起post请求

def requestPost(body, hostUrl):

    josnData = json.dumps(body).encode('utf-8')

    print(josnData)

    req = request.Request(hostUrl, data=josnData, headers={'Content-Type': 'application/json'})

    response = urllib.request.urlopen(req)

    orderid = response.read().decode('utf-8')

    return orderid

if name == '__main__':

    host = "https://alipay.hhfpay.com/api/"

    # host = "http://localhost:8201/"

    payment = host + "pay/alipay/payment"

    pay = host + "pay/alipay/pay"

    orderId = requestPost(paymentT(), payment)

    print(orderId)

    # 读取订单号

    resBody = json.loads(orderId)

    orderNumber = resBody["data"]

    # 发起支付

    if orderNumber is not None:

        print(payData(orderNumber))

        resPay = requestPost(payData(orderNumber), pay)

        print(resPay)

    else:

        print("订单号获取失败")

开箱即用,自己变更一些应用参数即可

THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容