调用支付jsapi缺少参数:total_fee_微信支付的 SDK wePay-felord

WePay-支付接口JAVA封装

目标

  • 不需要过分关注支付本身的支付逻辑 只关注支付过程中具体业务的实现

微信支付UML

8f946df4a4dd27c68e69ce5e8c8abd28.png

maven坐标

cn.felord wePay 1.0.4
  • 实现相关接口
  1. 实现 PreBusinessService 接口,用于处理调用统一支付后的具体业务,参数为调用统一支付后的的具体支付要求的参数返回 类型为 Map 其中支付类的方法中 key为 "params_key" 的值为统一下单的参数(统一支付的Params 实体) ,直接实现方法 参数通过代理类自动注入,通过该实体进行具体业务的处理。 不处理传值 null即可。
  2. 实现 PostBusiness 接口 的两个方法,用于处理成功和失败的业务。参数为微信回调返回的数据,直接实现方法 参数通过代理类自动注入, 不处理传值 null即可
  3. 使用扫码支付模式一 必须实现 NativeBusiness 接口, 参数为 微信文档中的 product_id。
  4. 支付金额 totalFee(微信文档为 total_fee) 需要先转换为分为单位再注入参数
  • 调用代理
  1. 支付代理 ProxyPayHandler支付代理目标对象 WeChatPayClient 回调代理 ProxyPayCallback 回调代理目标对象 WeChatPayCallback
  2. 不能用代理目标对象直接发起支付,同样不能用回调对象发起回调。

配置文件

1.增加一个名称为【weChatConfig.properties】的配置, 如下demo:

  • appId mchId secretKey notifyUrl signType certPath 根据下面demo的说明结合自己的业务场景配置 必配参数
# 此处为腾讯文档的demo值,开发者可以用来验证自己的结果,下面是加密后的# 应用ID 必填 原文: wxd930ea5d5a258f4fappId=5776447082E55FA6187DCB3D5734BF12B45B8E68EB15425F6C61B18F4BCB1F47# 商户号 必填 原文: 10000100mchId=A9CE8E05596B167F8200C2BBB27B76C1# 密钥 用来生成sign签名 验证签名等 必填 原文:192006250b4c09247ec02edce69f6a2dsecretKey=6A32A851BEABD5C323C7D560D7058C6113F53A2CCCD91C95F6E22DDE379DDA4E9DBD56D8DEB0039700FB03B715290EC9# 默认的完整的支付回调通知地址 如果有多个回调地址 继承Configuration 并加注解 @ConfigProperties 里面配置新的配置文件名称 以及回调地址notifyUrl=https://www.xxxx.com/wechat/payNotice.html # 签名加密类型 选填 反正目前我只实现了MD5 腾讯 支持 MD5 HMAC-SHA256 两种signType=MD5# 开发模式 为true 生产模式不配置devMode=true# 证书绝对路径 D:/apiclient_cert.p12 退款使用certPath= 加密后的密文

2.关于加密 自定义加密 需要实现 org.wepay.common.pay.Decryptable 接口。 不加密 传 null测试用实例化基础配置:PayConfig weChatPayConfig = WeChatPayConfig.initBaseConfig(null),实现自定义加密的 null改为自己的实现即可。

wepay-spring-boot-starter

wePay的springboot版本

简单使用方法

-配置文件 yml 看不懂的参数都是加密的 自行实现解密接口 cn.felord.wepay.common.pay.Decryptable 并完整类路径 值 配置到decryptableClassName 不使用加密 不配置此项参数

50be790744fa0407f039a733a4b5b9b3.png
bd040d66a838cb45cf16cb35a3521741.png
  • 自行编写请求工具类 通过此进行支付相关操作
19e87b3a7fec87d40e55ca9534a63ad0.png

-后续回调等用法参考 wePay项目

wiki

  • 具体使用方法参看腾讯文档和 wiki:https://gitee.com/felord/WePay/wikis
  • wepay-spring-boot-starter 配置方法 在application.properties 或者yml 文件中 所有的 wePay开头的参数即为配置参数 注意参考wePay项目中的加密和非加密的方案配置 有问题请 issue

wepay-spring-boot-starter maven坐标

cn.felord.wepay.spring.bootwepay-spring-boot-starter1.0.2

wePay maven坐标

 cn.felord wePay 1.0.4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值