回调接口此接口继承基础回调实现类,并实现是否支付成功函数 。
并,在其内部拼接签名验证是否正确 。从而保证错误回调请求 。
package com.threeox.biz.order.api.notify;import com.alibaba.fastjson.JSONObject;import com.threeox.biz.order.api.notify.base.BasePayNotifyExtend;import com.threeox.biz.order.config.OrderResponseConfig;import com.threeox.biz.order.entity.OrderInfo;import com.threeox.biz.order.entity.wx.WxNotifyInfo;import com.threeox.biz.order.utils.wx.WXPayConstants;import com.threeox.biz.order.utils.wx.WXPayUtil;import com.threeox.drivenlibrary.engine.annotation.api.Api;import com.threeox.drivenlibrary.engine.entity.driven.config.OpenPlatformConfigMessage;import com.threeox.drivenlibrary.enums.dictionary.ContentType;import com.threeox.drivenlibrary.enums.dictionary.ResponseType;/** * 微信JSApi支付回调通知 * * @author 赵屈犇 * @version 1.0 * @date 创建时间: 2022/4/28 23:38 */@Api(apiUrl = "notify", apiName = "支付回调", moduleUrl = "pay/wxJsApi/v2", isVerifyToken = false, isVerifyLogin = false,isEncryptedResult = false, isDecryptParams = false, isStartAuth = false, requestContentType = ContentType.TEXT_XML,responseCode = OrderResponseConfig.WX_NOTIFY_RESPONSE, responseType = ResponseType.XML)public class WxJsV2PayNotifyExtend extends BasePayNotifyExtend<WxNotifyInfo> {@Overrideprotected boolean isPaySuccess(OrderInfo orderInfo, OpenPlatformConfigMessage openPlatform) throws Exception {String returnCode = getRequestParams().getReturn_code();if ("SUCCESS".equals(returnCode)) {//验证签名是否正确// 回调验签时需要去除sign和空值参数JSONObject validParams = WXPayUtil.paraFilter(getParams());// 拼装生成服务器端验证的签名String sign = WXPayUtil.generateSignature(validParams, openPlatform.getWxMchSecret(), WXPayConstants.SignType.MD5);// 因为微信回调会有八次之多,所以当第一次回调成功了,那么我们就不再执行逻辑了// 根据微信官网的介绍,此处不仅对回调的参数进行验签,还需要对返回的金额与系统订单的金额进行比对等if (sign.equals(getParamValue("sign"))) {return true;}}return false;}}
至此的话,微信V2JsApi业已完成开发 。后期会逐渐完善更多三方支付功能 。
【多应用多平台支付模块-微信V2JsApi支付】
推荐阅读
- 郑欣宜|200斤郑欣宜成功瘦身,称继承巨额遗产后追求者多,完全忙不过来
- 龅牙戴牙套要多久
- 胃寒可以吃荔枝吗
- 戴牙套疼多久
- 戴牙套要带多久
- 弱冠之年是多少岁之年 而立之年是多少岁
- 特斯拉|“我也想有情怀,但他给得太多”,特斯拉打脸了国内多少企业?
- 一英里等于多少米千米 一英尺等于多少米
- 1吨多少公斤多少升 一吨是多少斤多少升
- 橘子皮到底有多大的神奇妙用呢? 橘子皮有什么用