微信支付之微信内H5调起支付

本文详细介绍了如何在微信内通过H5调起支付流程,包括关键步骤如获取appId,paySign和prepay_id的获取,以及微信签名的生成过程。

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

微信支付主要就是
1.openId的获取
2.订单详情扩展字符串prepay_id的获取
3.签名paySign的生成


1.有订单号(tradeNo),openId以及金额(totalfee)
其中订单号生成方式(时间+6位随机数,自行解决)
String tradeNo = CommonUtil.getOrderNo();
openId获取方式另外讲解(自行百度,有2种方式)
金额由前端传入


2.生成预订单,主要为了获取到prepay_id(有人说获取到了相当于成功了一半,大实话)
jso = JSONObject.fromObject(wxPrePay(tradeNo, totalfee, openId));

private Map<String, Object> wxPrePay(String tradeNo, String price, String openId) throws Exception {
Map<String, Object> res = new HashMap<String, Object>();
//在微信后台生成预支付订单
Map<String, String> prePayPra = MyWXPayUtil.sendPrepay(tradeNo, price, openId);//sendPrepay写下面了
if (prePayPra.get("result_code").equals("SUCCESS")) {
//校验参数
if (WXPayCore.validateSign(prePayPra)) {
//校验成功
Map<String, String> param = new HashMap<String, String>();
String timeStamp = String.valueOf(System.currentTimeMillis() / 1000);
String nonceStr = UUID.randomUUID().toString().replace("-", "").substring(0, 16);
String package_str = "prepay_id=" + prePayPra.get("prepay_id");//此处获取到prepay_id
String signType = "MD5";
String appId = MyWXPayConfig.APPID;


param.put("timeStamp", timeStamp);
param.put("nonceStr", nonceStr);
param.put("package", packag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值