SpringBoot支付宝微信支付集成

支付sdk使用手册

GitHub

个人首页


1、安装sdk到本地maven库


2、引入依赖

        <dependency>
            <groupId>org.pay.boot</groupId>
            <artifactId>spring-boot-starter-pay</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

3、是否启用sdk

#是否开启支付宝 支付宝沙箱环境只需配置响应的配置文件即可
spring.pay.ali=false
#是否开启微信
spring.pay.wx=true
#是否加载微信证书
spring.pay.wx-cer=true
#是否开启微信沙箱环境
spring.pay.wx-sandbox=true

true为启用 false 为不启用 默认不启用,启用响应模块需要在classpath下增加响应配置文件.

支付配置文件 名称为 zfbinfo.properties 微信配置文件为 wxinfo.properties 微信需要把秘钥文件也放入classpath下。


4、配置文件样例

 

支付宝配置文件样例

#沙箱环境
​
# 支付宝网关名、partnerId和appId
open_api_domain = https://openapi.alipay.com/gateway.do
mcloud_api_domain = http://mcloudmonitor.com/gateway.do
pid = ***
appid = ***
​
# RSA私钥、公钥和支付宝公钥
private_key = ***
public_key = ***
​
#SHA1withRsa对应支付宝公钥
#alipay_public_key = ***
​
#SHA256withRsa对应支付宝公钥
alipay_public_key = ***
​
# 签名类型: RSA->SHA1withRsa,RSA2->SHA256withRsa
sign_type = RSA2
# 当面付最大查询次数和查询间隔(毫秒)
max_query_retry = 5
query_duration = 5000
​
# 当面付最大撤销次数和撤销间隔(毫秒)
max_cancel_retry = 3
cancel_duration = 2000
​
# 交易保障线程第一次调度延迟和调度间隔(秒)
heartbeat_delay = 5
heartbeat_duration = 900
​

微信配置样例

#appId
appId=***
#秘钥
key=***
#商户号
mchId***

5、支付宝使用样例

支付宝当面付-刷码付款

​
    @Resource
    AlipayTradeService alipayTradeService;
​
​
    @Test
    void aliPayTest(){
        AlipayTradePayRequestBuilder alipayTradePayRequestBuilder = new AlipayTradePayRequestBuilder();
        alipayTradePayRequestBuilder.setAuthCode("");
        alipayTradeService.tradePay(alipayTradePayRequestBuilder);
    }

AlipayTradeService 服务支持当面付所有接口

    // 当面付2.0流程支付
    public AlipayF2FPayResult tradePay(AlipayTradePayRequestBuilder builder);
​
    // 当面付2.0消费查询
    public AlipayF2FQueryResult queryTradeResult(AlipayTradeQueryRequestBuilder builder);
​
    // 当面付2.0消费退款
    public AlipayF2FRefundResult tradeRefund(AlipayTradeRefundRequestBuilder builder);
​
    // 当面付2.0预下单(生成二维码)
    public AlipayF2FPrecreateResult tradePrecreate(AlipayTradePrecreateRequestBuilder builder);

 

6、微信使用样例

    @Resource
    WXPay wxPay;
​
​
    @Test
    void wxPayTest()throws Exception{
        Map<String, String> map = new HashMap();
        map.put("body", "***");
        map.put("out_trade_no", "***");
        map.put("total_fee", "***");
        map.put("auth_code", "***");
        map.put("spbill_create_ip", InetAddress.getLocalHost().getHostAddress());
        Map<String, String> result = wxPay.microPayWithNew(map, 3000);
    }

microPayWithNew 30s重试机制

microPayWith 无重试机制

WXPay 服务几乎包含官网所有业务

 

7、其他单位转换

public class PayUtils {
​
    /**
     * 分转元
     *
     * @param amount
     * @return
     */
    public static String toAmount(long amount) {
        return new BigDecimal(amount).divide(new BigDecimal(100)).toString();
    }
​
    /**
     * 将单位为元转换为单位为分.
     *
     * @param yuan 将要转换的元的数值字符串
     * @return the Long
     */
    public static Long yuanToFen(String yuan) {
        return new BigDecimal(yuan).setScale(2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).longValue();
    }
​
}

8、目前仅整合原生sdk 包装sdk api正在开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值