微信支付集成工具是什么

技术微信支付集成工具是什么这篇文章将为大家详细讲解有关微信支付集成工具是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。微信支付集成工具最近老板又安排了新项目,要接入微

本文将详细讲解什么是微信支付集成工具。文章内容质量很高,我就分享给大家作为参考。希望大家看完这篇文章后对相关知识有一定的了解。

微信支付集成工具

最近老板安排了一个新项目接入微信支付。看了之前的支付码(很多年前别人写的),不忍直视,就去找微信官方sdk。因此,官方sdk不是“面向对象”的。由于经常使用阿里巴巴云,他决定用阿里巴巴云sdk的API风格写一个。

并通知线上项目下单和付款结果通过测试,其他完成的界面简单测试一两次全部通过。其他未完成的接口将逐步完成github : https://github.com/BekeyChao/wxpay/tree/master.

在OSCHINA上混合,带一个代码云仓库: https://gitee.com/BekeyChao/wxpay.

快速开始

cdyourpath

gitclonegitAddress

cdwxpay

Mvninstall将源代码克隆到本地,通过mvn安装到本地,并将其引入pom文件。

属国

groupIdxyz.bekey/groupId

artifactIdwxpay/artifactId

版本/版本

目前/dependency的最新版本是0.0.5,jdk的最低要求是1.8。java8在代码中没有被广泛使用。如果您想要兼容,您只需要在统一的单一接口中修改本地日期时间类型。

00-1010微信支付工具都是通过实例化微信支付类来使用的,为了方便,建议在Spring中注册为单实例。

@配置

publicclassWechatPayConfig{

@Value('${mch_id} ')

privateStringmch _ id

@Value('${key} ')

privateStringkey

@Value('${cert_path} ')

privateStringcert _ path//微信证书路径。

@豆

public微信公众号({ 0

//wxConfig提供两种构造方式,默认签名类型为MD5,默认微信支付服务地址取自官方文档。

WxpayConfigwxConfig=new wxpayconfig(微信应用程序。Yepaofu _ Subscribe.getAppid()

,mch_id,密钥,cert _ path);

//无需设置即可忽略自定义。

wxconfig . setconnecttimeou(10000);

wxconfig . setsockettimeout(10000);

returnnew微信公众号(wxConfig);

}

}以统一订购界面为例,调用方法。

@服务

公共类

nbsp;PayService {
    @Autowired
    private WechatPay wechatPay;
    // 统一下单接口
    public void toPay() {
        UnifiedOrderRequest request = new UnifiedOrderRequest();
        request.setTotal_fee(100);
        request.setSpbill_create_ip("10.10.10.10");
        request.setOut_trade_no("test123");
        request.setBody("测试订单");
        request.setTrade_type(TradeType.MWEB);
        request.setOpenid("openid");
        request.setNotify_url("http://mycallbak.com");
        // some else...
                
        UnifiedOrderResponse response = wechatPay.getWechatPayResponse(request);
        boolean success = response.isSuccess();
        if (success) {
            System.out.println(JSON.toJSONString(response)); 
        } else {
            System.out.println(response.getErr_code_des()); 
        }
    }
    // 支付结果回调,请从response中获取xml字符串
    public void handleCallback(String xml) { 
        try {
            UnifiedOrderCallback callback = wechatPay.unifiedorderCallback(xml);
            if (callback.isSuccess()) {
                System.out.println(JSON.toJSONString(callback));
            } else {
                System.out.println(callback.getErr_code_des());
            }
        } catch (InvalidSignException e) {
            // 处理签名异常
            e.printStackTrace();
        }        
    }
    
}

接口完成列表

已完成接口

  • 统一下单接口 UnifiedOrderRequest

  • 查询订单接口 OrderQueryRequest

  • 申请退款接口(需要证书) RefundRequest

  • 退款查询接口 RefundQueryRequest

  • 支付结果通知 UnifiedOrderCallback

未完成接口

  • 关闭订单

  • 海关申报

  • 下载对账单

  • 下载资金账单

  • 交易保障

  • 拉取订单评价数据

  • 退款结果通知(因为需要AES-256-ECB解密,jdk默认不支持,暂时不实现了)

代码风格

微信接口中会有大量的 javabean xml map 之间的转换,我处理的还是比较随意的,在xml -- javabean 之间主要通过fastjson进行转换,因为用起来比较顺手,所以也没在意效率的问题。 整体api风格设计借鉴 阿里云SDK 风格,xxxRequest 对应 xxxResponse,这种api设计很直观,而且通过一个api接口可以统一调用。 在参数校验层面,为了偷懒大量的校验与数据结构转换在Request中进行,所以Request类并不是简单类,在调试中可能会遇到点麻烦,见谅

关于微信支付集成工具是什么就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/37462.html

(0)

相关推荐

  • 刷抖音粉丝平台,抖音花钱刷粉丝价格多少?

    技术刷抖音粉丝平台,抖音花钱刷粉丝价格多少?抖音大家买真是粉丝或者买关注之类的大部分都是需要付费的,不过现在市面上这些业务平台的价格有高有低的。大家需要妥善地判断,如果有不太清楚不太了解的小伙伴,下面小编就给大家带来抖音

    测评 2021年11月11日
  • 对数的导数,有人会自然对数求导推导吗,急用

    技术对数的导数,有人会自然对数求导推导吗,急用绘制出图象对数的导数,可以看出在x=0的时候是存在导数的,x=1不可导,x=-1未定义。假如用对数求导法:
    看到lnx和1/x,我知道为什么了。
    在x=0的时候,对数求导法当

    生活 2021年10月28日
  • cssfloat浮动教程(css浮动属性float详解)

    技术CSS浮动float属性怎么使用这篇文章主要讲解了“CSS浮动float属性怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS浮动float属性怎么使用”吧

    攻略 2021年12月21日
  • C# 反射

    技术C# 反射 C# 反射1、反射获取程序集的三种方式Assembly.Load();//这种方式只需提供程序集的名称
    Assembly.LoadFile(path);//这种方式需要提供程序集完整的路

    礼包 2021年12月14日
  • 深蓝色裤子配什么颜色上衣,深蓝裤子配什么颜色衣服

    技术深蓝色裤子配什么颜色上衣,深蓝裤子配什么颜色衣服1.蓝色牛仔裤比较百搭,最好不要配同色系的上衣,感觉那样搭配显不出个性来,裤子是深蓝色,上衣可以浅色系的,如粉色,米色,白色,灰色,黑色也是可以搭配的 深蓝色裤子配什么

    生活 2021年10月24日
  • html5新增的全局属性(html5新增全局属性)

    技术HTML5新增了哪些全局属性这篇文章主要介绍了HTML5新增了哪些全局属性,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年12月25日