浅谈实现支付宝主账户交易子账户收款的办法

浅谈实现支付宝主账户交易子账户收款的办法

请求参数

{
"amount": "0.2", //交易金额
"subject": "统一收单测试", //订单标题
"outOrderNo": "15800443125", //商户订单号
"alipayAppId": "2021004108682252", //支付宝APPID
"merchantNo": "156398698326195927", //商户编号
"sign": "ccc51c06e353124a38e91046927e641b", //签名
"notifyUrl": "https://baidu.com", //通知地址
"orderType": "QUICK_WAP_WAY", //请求的支付产品类型:QUICK_WAP_WAY 手机网站,FAST_INSTANT_TRADE_PAY 电脑网站,JSAPI_PAY 小程序JSAPI
"instalmentNum": 6, //花呗分期期数
"mchBearFees": true, //是否为商户承担手续费
"quitUrl": "https://baidu.com", //中途退出,支付完成跳转地址(仅手机支付及PC网站支付有效)
"buyerId": "15800443125" //支付用户支付宝ID(类型为JSAPI支付且needMiniAppUrl参数为false时必填)
}

响应示例

{
"msg": "请求成功",
"code": 200,
"data": "url地址" //支付表单数据(JSAPI返回交易订单号)
}

失败响应

{
"msg": "签名错误", 
"code": 500 
}

查询

{
"outOrderNo": "15800443125", //商户订单号
"sign": "29d484d07d2bec822371f3b20b3bac3e", //签名
"merchantNo": "156398698326195927" //商户编号
}

响应实例

{
"msg": "请求成功",
"code": 200,
"data": {
"merchantNo": "15800443125", //商户编号
"sign": "5d2a5c305619da0787187723d68431a1", //签名
"outOrderNo": "7785642325656256", //商户订单号
"totalAmount": 0.2, //订单金额
"subject": "统一收单测试", //订单标题
"productCode": "QUICK_WAP_WAY", //支付产品类型
"appId": "2021004108682252", //支付应用ID
"payType": "HBFQ", //订单交易类型
"hbFqNum": 6, //花呗分期交易期数
"feesType": "MCH", //手续费承担类型
"status": "CREATE" //订单状态
}

以上仅供参考,可留言讨论

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是使用支付宝沙箱生成收款码的代码实现: ``` python import requests # 支付宝沙箱接口地址 url = "https://openapi.alipaydev.com/gateway.do" # 支付宝沙箱应用的APPID app_id = "你的APPID" # 支付宝沙箱应用的私钥 app_private_key = """ -----BEGIN RSA PRIVATE KEY----- 你的私钥 -----END RSA PRIVATE KEY----- """ # 支付宝沙箱应用的公钥 alipay_public_key = """ -----BEGIN PUBLIC KEY----- 支付宝公钥 -----END PUBLIC KEY----- """ # 构建请求参数 params = { "app_id": app_id, "method": "alipay.marketing.cashlessvoucher.template.create", "format": "JSON", "charset": "utf-8", "sign_type": "RSA2", "timestamp": "2022-01-01 00:00:00", "version": "1.0", "biz_content": { "template_name": "测试收款码", "voucher_type": "cashless", "brand_name": "测试品牌", "voucher_desc": "测试描述", "publish_start_time": "2022-01-01 00:00:00", "publish_end_time": "2023-01-01 00:00:00", "use_rule": { "use_condition": { "suit_shops": { "shop_id": [ "001", "002", "003" ] } } } } } # 生成签名 from urllib.parse import quote_plus from hashlib import sha256 from base64 import encodebytes from Crypto.PublicKey import RSA from Crypto.Signature import PKCS1_v1_5 sign_params = "&".join("{}={}".format(k, quote_plus(str(v))) for k, v in sorted(params.items())) sign_string = "&".join(["POST", quote_plus("/gateway.do"), quote_plus(sign_params)]) sign_key = RSA.import_key(app_private_key) signer = PKCS1_v1_5.new(sign_key) signature = encodebytes(signer.sign(sha256(sign_string.encode("utf-8")))).decode("utf-8").replace("\n", "") # 发送请求 headers = { "Content-Type": "application/json;charset=utf-8", } data = { **params, "sign": signature, } response = requests.post(url, headers=headers, json=data) # 解析响应 import json response_data = json.loads(response.content.decode("utf-8")) qr_code = response_data["alipay_cashless_voucher_template_create_response"]["qr_code"] print(qr_code) ``` 在上面的代码中,我们通过 `alipay.marketing.cashlessvoucher.template.create` 接口创建了一个无需现金支付的优惠券模板,并生成了一个收款码。其中,我们需要将支付宝沙箱应用的APPID、私钥和公钥替换成自己的。 成功执行后,会输出生成的收款码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q2676706757

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值