微信统一下单 java_微信支付之统一下单--JAVA版

都说微信支付有些坑,都抱怨微信支付的文档太烂,一会APPId,一会商户id,还有appsecret,支付API秘钥让你傻傻分不清楚,还有这里大写那里小写,几种标准,让你眼花缭乱。没错,这就是很多技术团队都存在的问题,没有统一的标准!且团队越大越严重,即使是在微信这样的顶尖团队。然而这些在一番痛苦折腾之后,最后都会不值一提。这里只详细讲JSAPI方式的公众号支付

简要思路图

c1f35654752608ebd9fca537ff9f845d.png

配置支付授权目录

有点类似授权回调安全域名的韵味,需要将支付的页面路径添加到授权目录里面,否则再页面调起支付时会报没有添加支付目录的错误

732f0ee13689ff3b3f843c9cc780566d.png

配置地址: 微信公众平台-微信支付-开发配置

获取openid

统一下单

通常情况下是自身系统生成订单后进入支付页面,用户点击支付触发一个请求,将订单id、openid传给后台微信统一下单接口,后台根据订单id在自身系统查询一遍,获得价格、描述详情等信息

一次签名,发送xml报文给微信服务器

String nonceStr = "5K8264ILTKCH16CQ2502SI8ZNMTM67VS";//暂时不变

// 加密,这里只列举必填字段

Map map = new HashMap();

map.put("body", body);//商品描述

map.put("mch_id", MCHID);//商户平台id

map.put("appid", WX_APPID);//公众号id

map.put("nonce_str", nonceStr);//随机字符串

map.put("notify_url", WX_PAY_CALLBACK);//异步回调api

map.put("spbill_create_ip", ip);//支付ip

map.put("out_trade_no", orderSn);//商品订单号

map.put("total_fee", (int) relAmount + "");//真实金额

map.put("trade_type", "JSAPI");//JSAPI、h5调用

map.put("open

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值