发布日期:2021/8/20
maven依赖
<dependency>
<groupId>cn.felord</groupId>
<artifactId>payment-spring-boot-starter</artifactId>
<version>1.0.11.RELEASE</version>
</dependency>
代码
package com.demo.controller.pay;
import cn.felord.payment.autoconfigure.EnableMobilePay;
import cn.felord.payment.wechat.v3.WechatApiProvider;
import cn.felord.payment.wechat.v3.WechatDirectPayApi;
import cn.felord.payment.wechat.v3.WechatResponseEntity;
import cn.felord.payment.wechat.v3.model.Amount;
import cn.felord.payment.wechat.v3.model.H5Info;
import cn.felord.payment.wechat.v3.model.PayParams;
import cn.felord.payment.wechat.v3.model.SceneInfo;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author lc
* @since 2021/8/20
*/
@RestController
@RequestMapping("pay")
@EnableMobilePay
public class PayController {
@Autowired
private WechatApiProvider wechatApiProvider;
@GetMapping("createOrder")
public Object createOrder(){
WechatDirectPayApi api = wechatApiProvider.directPayApi("h5");
PayParams params = new PayParams();
params.setDescription("测试v3");
params.setOutTradeNo(DateUtil.date().toString(DatePattern.PURE_DATETIME_MS_PATTERN));
params.setNotifyUrl("https://www.baidu.com");
//金额
Amount amount = new Amount();
amount.setTotal(1);
params.setAmount(amount);
SceneInfo info = new SceneInfo();
info.setPayerClientIp("14.23.150.211");
H5Info h5Info = new H5Info();
h5Info.setType(H5Info.H5SceneType.Android);
info.setH5Info(h5Info);
params.setSceneInfo(info);
WechatResponseEntity<ObjectNode> pay = api.h5Pay(params);
return pay.getBody();
}
}
yml配置
server:
shutdown: graceful
wechat:
pay:
v3:
h5: #此处对应 wechatApiProvider.directPayApi("h5");
app-id: //支付APPID(微信公众号或者微信开放平台的)(微信公众号不支持APP支付)
app-v3-secret: //微信商户apiv3秘钥
mch-id: 商户id
domain: https://felord.cn #微信配置的回调域名
cert-path: apiclient_cert.p12 # resources 放置在resources目录下即可
Comments