某宝APP参数通过SDK把APP参数转H5参数链接方法

博客介绍了app参数转H5参数进行代付操作的方法。以某手订单为例,通过抓包获取支付APP参数,利用加解密还原数据,调用封装好的dll或服务接口解析,最后通过Java搭建的服务转换,得到带session参数的H5参数链接,打开即可代付。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

app里参数无法在电脑端或者在没有XX宝的手机里支付, 所以需要转成H5参数进行代付操作

案例: 某手订单

  1. 对某手的订单进行抓包可以看到
    在这里插入图片描述
    可以看到 provider_config 字段就是支付的APP参数了,
    app_id=202100181143&biz_content=%7B%22pre_order_no%22%3A%22VJI%252BMW3u3UUxI4TXNdVg9O1aKD4q3lCpCAFVPcx3UZTo%252B5qBRjCf3HpHXB%252BtjcYgCiNaXo6SRSMwHnMcEAhq3m0c%252FeJWwy6YX48BT7cmr3IiM0I0yQ%253D%253D%252425%22%7D&charset=utf-8&method=alipay.trade.app.merge.pay&sign=LXDmAlRGGXXXSjhdm%2FlcPh2nqeURmXUURyFkZOFEgJuwwjFTl64hedbe1joKSEHvjogqaXoAxWAUcwiCJ8i7rre9qNxyp%2B%2FC7sXo7arCnS6pP1Wq25ebNZ4UTnuWFcu*jETgeNbr981rYf%2B3qZwVc%2BksZUEo81tTlt6VmCSqGErNMpsgOhRgjsWmRrYrCviRim0ksgFNdsw2X5qKY1GYYdQ93zLqcQs7yoIELXU0va%2Bd%2FaqR2LW0RtXXXmOelocsvxStNQ2e7%2FzYOlrJcbBIQtfWqJGOX1yH4%2BJVXaokCuxP3cAV8%2B5AYZJ3u74Ru%2BiXxCTd%2BVMizyFRVA%3D%3D&sign_type=RSA2&timestamp=2023-10-03+16%3A38%3A08&version=1.0

  2. 紧接的看到mgw.htm 的一个post请求, 就可以拉起了H5的支付在这里插入图片描述
    可以看出data前面的数字是后面body体的长度, 只能通过加解密来还原数据,进行解析

  3. 直接调用封装好的dll或者服务接口进行解析
    在这里插入图片描述

通过java搭建的服务进行转换:
在这里插入图片描述
就可以看到js://wappay里面包含着带session参数的H5参数链接
打开链接就可以直接进行代付了
在这里插入图片描述

此次分享只是用于学习交流,请勿乱用

支付宝H5支付链接通常使用的是Alipay JSAPI,它允许通过JavaScript在网页上完成支付宝支付。将参数化为H5支付链接需要以下几个步骤: 1. **获取AppId和SignType**: 首先,你需要从支付宝商户平台获取你的AppID(对于企业账号)和SignType(通常是MD5或者RSA)。 2. **构造参数**: 根据需求,创建一个包含以下字段的对象或字典: - `productCode`: 指定商品类型,默认`FAST_INSTANT_TRADE_PAY` - `totalAmount`: 总金额,单位为元 - `subject`: 商品描述或订单标题 - `out_trade_no`: 商家自定义的订单号,唯一标识一次交易 - `returnUrl`: 完成支付后跳回的URL(回调地址) - `notifyUrl`: 支付异步通知的URL 3. **生成签名**: 将上述参数按照官方文档指定的顺序(一般是按字母表排序)拼接成字符串,并加上你的密钥(私钥),然后使用对应的加密算法(如MD5、SHA1)计算得到签名。 4. **构建链接**: 使用支付宝提供的SDK或者工具库,将参数和签名整合到`alipay.trade.page.pay`接口的URL中。这个链接可以直接用于用户点击跳。 示例代码(简化版): ```java import java.util.HashMap; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipayTradePagePayRequest; public String createAlipayLink(HashMap<String, String> params) { // 设置支付宝客户端 AlipayClient client = new DefaultAlipayClient("your_app_id", "your_private_key", "https://openapi.alipay.com/gateway.do"); // 创建请求对象 AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); request.setBizContent(generateBizContent(params)); // 调用并获取响应结果 try { return client.pageExecute(request).getBody().toString(); } catch (Exception e) { e.printStackTrace(); return null; } } private String generateBizContent(HashMap<String, String> params) { // 参数拼接(添加签名) StringBuilder sb = new StringBuilder(); params.forEach((k, v) -> sb.append(k).append("=").append(v).append("&")); sb.append("sign_type=").append(params.get("sign_type")).append("&").append("sign=").append(generateSignature(sb.toString(), "your_private_key")); return sb.toString(); // 删除最后一个"&" } // 生成签名函数省略 ``` 记得替换`your_app_id`、`your_private_key`等为你实际的支付宝配置信息。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值