微信和支付接口增加支付超时时间

This commit is contained in:
dingzhiwei 2022-03-10 15:22:15 +08:00
parent 676e0d0f8a
commit c3456cbb8a
7 changed files with 24 additions and 0 deletions

View File

@ -15,6 +15,8 @@
*/
package com.jeequan.jeepay.pay.channel.alipay.payway;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alipay.api.AlipayApiException;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.request.AlipayTradeAppPayRequest;
@ -55,6 +57,7 @@ public class AliApp extends AlipayPaymentService {
model.setSubject(payOrder.getSubject()); //订单标题
model.setBody(payOrder.getBody()); //订单描述信息
model.setTotalAmount(AmountUtil.convertCent2Dollar(payOrder.getAmount().toString())); //支付金额
model.setTimeoutExpress(DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATETIME_FORMAT)); // 订单超时时间
req.setNotifyUrl(getNotifyUrl()); // 设置异步通知地址
req.setBizModel(model);

View File

@ -15,6 +15,8 @@
*/
package com.jeequan.jeepay.pay.channel.alipay.payway;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alipay.api.domain.AlipayTradePayModel;
import com.alipay.api.request.AlipayTradePayRequest;
import com.alipay.api.response.AlipayTradePayResponse;
@ -67,6 +69,7 @@ public class AliBar extends AlipayPaymentService {
model.setSubject(payOrder.getSubject()); //订单标题
model.setBody(payOrder.getBody()); //订单描述信息
model.setTotalAmount(AmountUtil.convertCent2Dollar(payOrder.getAmount().toString())); //支付金额
model.setTimeoutExpress(DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATETIME_FORMAT)); // 订单超时时间
req.setNotifyUrl(getNotifyUrl()); // 设置异步通知地址
req.setBizModel(model);

View File

@ -15,6 +15,8 @@
*/
package com.jeequan.jeepay.pay.channel.alipay.payway;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alipay.api.domain.AlipayTradeCreateModel;
import com.alipay.api.request.AlipayTradeCreateRequest;
import com.alipay.api.response.AlipayTradeCreateResponse;
@ -65,6 +67,7 @@ public class AliJsapi extends AlipayPaymentService {
model.setSubject(payOrder.getSubject()); //订单标题
model.setBody(payOrder.getBody()); //订单描述信息
model.setTotalAmount(AmountUtil.convertCent2Dollar(payOrder.getAmount().toString())); //支付金额
model.setTimeoutExpress(DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATETIME_FORMAT)); // 订单超时时间
model.setBuyerId(bizRQ.getBuyerUserId());
req.setNotifyUrl(getNotifyUrl()); // 设置异步通知地址
req.setBizModel(model);

View File

@ -15,6 +15,8 @@
*/
package com.jeequan.jeepay.pay.channel.alipay.payway;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alipay.api.AlipayApiException;
import com.alipay.api.domain.AlipayTradePagePayModel;
import com.alipay.api.request.AlipayTradePagePayRequest;
@ -59,6 +61,7 @@ public class AliPc extends AlipayPaymentService {
model.setSubject(payOrder.getSubject()); //订单标题
model.setBody(payOrder.getBody()); //订单描述信息
model.setTotalAmount(AmountUtil.convertCent2Dollar(payOrder.getAmount().toString())); //支付金额
model.setTimeoutExpress(DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATETIME_FORMAT)); // 订单超时时间
model.setProductCode("FAST_INSTANT_TRADE_PAY");
model.setQrPayMode("2"); //订单码-跳转模式
req.setNotifyUrl(getNotifyUrl()); // 设置异步通知地址

View File

@ -15,6 +15,8 @@
*/
package com.jeequan.jeepay.pay.channel.alipay.payway;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alipay.api.domain.AlipayTradePrecreateModel;
import com.alipay.api.request.AlipayTradePrecreateRequest;
import com.alipay.api.response.AlipayTradePrecreateResponse;
@ -58,6 +60,7 @@ public class AliQr extends AlipayPaymentService {
model.setSubject(payOrder.getSubject()); //订单标题
model.setBody(payOrder.getBody()); //订单描述信息
model.setTotalAmount(AmountUtil.convertCent2Dollar(payOrder.getAmount().toString())); //支付金额
model.setTimeoutExpress(DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATETIME_FORMAT)); // 订单超时时间
req.setNotifyUrl(getNotifyUrl()); // 设置异步通知地址
req.setBizModel(model);

View File

@ -15,6 +15,8 @@
*/
package com.jeequan.jeepay.pay.channel.alipay.payway;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alipay.api.AlipayApiException;
import com.alipay.api.domain.AlipayTradeWapPayModel;
import com.alipay.api.request.AlipayTradeWapPayRequest;
@ -59,6 +61,7 @@ public class AliWap extends AlipayPaymentService {
model.setSubject(payOrder.getSubject()); //订单标题
model.setBody(payOrder.getBody()); //订单描述信息
model.setTotalAmount(AmountUtil.convertCent2Dollar(payOrder.getAmount().toString())); //支付金额
model.setTimeoutExpress(DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATETIME_FORMAT)); // 订单超时时间
model.setProductCode("QUICK_WAP_PAY");
req.setNotifyUrl(getNotifyUrl()); // 设置异步通知地址
req.setReturnUrl(getReturnUrl()); // 同步跳转地址

View File

@ -15,6 +15,8 @@
*/
package com.jeequan.jeepay.pay.channel.wxpay;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
import com.github.binarywang.wxpay.service.WxPayService;
@ -93,6 +95,7 @@ public class WxpayPaymentService extends AbstractPaymentService {
request.setSpbillCreateIp(payOrder.getClientIp());
request.setNotifyUrl(getNotifyUrl());
request.setProductId(System.currentTimeMillis()+"");
request.setTimeExpire(DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATE_FORMAT));
//订单分账 将冻结商户资金
if(isDivisionOrder(payOrder)){
@ -123,6 +126,9 @@ public class WxpayPaymentService extends AbstractPaymentService {
JSONObject reqJSON = new JSONObject();
reqJSON.put("out_trade_no", payOrderId);
reqJSON.put("description", payOrder.getSubject());
// 订单失效时间遵循rfc3339标准格式格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,示例值2018-06-08T10:34:56+08:00
reqJSON.put("time_expire", String.format("%sT%s+08:00", DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_DATE_FORMAT), DateUtil.format(payOrder.getExpiredTime(), DatePattern.NORM_TIME_FORMAT)));
reqJSON.put("notify_url", getNotifyUrl(payOrderId));
JSONObject amount = new JSONObject();