|
|
@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fdkankan.pay.common.ResultCode;
|
|
|
+import com.fdkankan.pay.entity.AutopayOrder;
|
|
|
+import com.fdkankan.pay.entity.Order;
|
|
|
import com.fdkankan.pay.entity.PaypalConfig;
|
|
|
import com.fdkankan.pay.exception.BusinessException;
|
|
|
import com.fdkankan.pay.service.IPaypalConfigService;
|
|
|
@@ -205,16 +207,18 @@ public class RestApiPaypalService {
|
|
|
/**
|
|
|
* 处理订阅参数
|
|
|
*
|
|
|
- * @param planId
|
|
|
* @return
|
|
|
*/
|
|
|
- private String handlerSubsParam(String planId,ApplicationContext applicationContext) {
|
|
|
+ private String handlerSubsParam(Order order, ApplicationContext applicationContext) {
|
|
|
CompanyVo companyVo = new CompanyVo();
|
|
|
SubscriptionDTO subscriptionDTO = new SubscriptionDTO();
|
|
|
- subscriptionDTO.setPlanId(planId);
|
|
|
- DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss+08:00");
|
|
|
- String format = dateTimeFormatter2.format(DateUtil.nextMonth().toLocalDateTime());
|
|
|
- subscriptionDTO.setStartTime(format);
|
|
|
+ subscriptionDTO.setPlanId(order.getPlanId());
|
|
|
+ subscriptionDTO.setStartTime(order.getStartTime());
|
|
|
+ ShippingAmount amount = new ShippingAmount();
|
|
|
+ amount.setCurrencyCode("USD");
|
|
|
+ amount.setValue(order.getOrderMoney().toString());
|
|
|
+ subscriptionDTO.setShippingAmount(amount);
|
|
|
+
|
|
|
Subscriber subscriber = new Subscriber();
|
|
|
SubscriberName subscriberName = new SubscriberName();
|
|
|
subscriberName.setGiven_name(companyVo.getName());
|
|
|
@@ -242,7 +246,7 @@ public class RestApiPaypalService {
|
|
|
/**
|
|
|
* 创建订阅
|
|
|
*/
|
|
|
- public SubscriptionVo createSubscription(PaypalConfig paypalConfig,String planId) {
|
|
|
+ public SubscriptionVo createSubscription(PaypalConfig paypalConfig, Order order) {
|
|
|
Map<String,String> map = new HashMap<>(4);
|
|
|
map.put("Content-Type","application/json");
|
|
|
map.put("Authorization",getToken(paypalConfig));
|
|
|
@@ -254,7 +258,7 @@ public class RestApiPaypalService {
|
|
|
applicationContext.setReturnUrl(paypalConfig.getSuccessUrl());
|
|
|
applicationContext.setPaymentMethod(new PaymentMethod());
|
|
|
|
|
|
- String string = handlerSubsParam(planId,applicationContext);
|
|
|
+ String string = handlerSubsParam(order,applicationContext);
|
|
|
String body = HttpRequest.post(paypalConfig.getBaseUrl() + "/v1/billing/subscriptions")
|
|
|
.addHeaders(map)
|
|
|
.basicAuth(paypalConfig.getClientId(),paypalConfig.getSecret())
|