添加pcpay 支付
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package com.chaozhanggui.system.cashierservice.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.api.AlipayClient;
|
||||
import com.alipay.api.AlipayConfig;
|
||||
import com.alipay.api.DefaultAlipayClient;
|
||||
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
|
||||
import com.alipay.api.request.AlipayUserInfoShareRequest;
|
||||
@@ -17,6 +19,7 @@ import com.chaozhanggui.system.cashierservice.service.PayService;
|
||||
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
||||
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||
import com.chaozhanggui.system.cashierservice.util.IpUtil;
|
||||
import com.chaozhanggui.system.cashierservice.util.JSONUtil;
|
||||
import com.chaozhanggui.system.cashierservice.util.RedisCst;
|
||||
import com.chaozhanggui.system.cashierservice.util.WechatUtil;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
@@ -28,6 +31,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -304,6 +308,10 @@ public class PayController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@RequestMapping("createOrder")
|
||||
public Result createOrder(HttpServletRequest request,@RequestBody PaymentReq paymentReq){
|
||||
try {
|
||||
@@ -315,8 +323,10 @@ public class PayController {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("queryOrderPay")
|
||||
public Result queryOrderPay(String orderId){
|
||||
return payService.queryOrderPay(orderId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -365,15 +375,32 @@ public class PayController {
|
||||
return Result.success(CodeEnum.SUCCESS,openid);
|
||||
}else if("ALIPAY".equals(payType)){
|
||||
|
||||
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppId,privateKey,"json","GBK",publicKey,"RSA2");
|
||||
AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest();
|
||||
AlipayUserInfoShareResponse response = alipayClient.execute(request,code);
|
||||
log.info("AlipayUserInfoShareResponse:{}",JSONObject.toJSONString(response));
|
||||
if(!response.isSuccess()){
|
||||
|
||||
// 初始化SDK
|
||||
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
||||
|
||||
// 构造请求参数以调用接口
|
||||
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
|
||||
|
||||
// 设置刷新令牌
|
||||
// request.setRefreshToken("201208134b203fe6c11548bcabd8da5bb087a83b");
|
||||
|
||||
// 设置授权码
|
||||
request.setCode(code);
|
||||
|
||||
// 设置授权方式
|
||||
request.setGrantType("authorization_code");
|
||||
|
||||
AlipaySystemOauthTokenResponse response = alipayClient.execute(request);
|
||||
|
||||
log.info("AlipaySystemOauthTokenResponse:{}", JSONUtil.toJSONString(response));
|
||||
|
||||
response.setAccessToken(response.getRefreshToken());
|
||||
if (!response.isSuccess()) {
|
||||
return Result.fail("获取支付宝userId失败");
|
||||
}
|
||||
|
||||
return Result.success(CodeEnum.SUCCESS,response.getUserId());
|
||||
return Result.success(CodeEnum.SUCCESS, ObjectUtil.isNull(response.getUserId())?response.getOpenId():response.getUserId());
|
||||
}
|
||||
|
||||
return Result.fail(CodeEnum.FAIL);
|
||||
@@ -381,6 +408,28 @@ public class PayController {
|
||||
|
||||
|
||||
|
||||
private AlipayConfig getAlipayConfig() {
|
||||
AlipayConfig alipayConfig = new AlipayConfig();
|
||||
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
|
||||
alipayConfig.setAppId(aliAppId);
|
||||
alipayConfig.setPrivateKey(privateKey);
|
||||
alipayConfig.setFormat("json");
|
||||
alipayConfig.setAlipayPublicKey(publicKey);
|
||||
alipayConfig.setCharset("UTF-8");
|
||||
alipayConfig.setSignType("RSA2");
|
||||
return alipayConfig;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args){
|
||||
LocalDate date=LocalDate.now();
|
||||
if(date.isLeapYear()){
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user