mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/alipay/util/PayDemoActivity.java
@@ -7,7 +7,11 @@
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.alipay.config.AlipayConfig;
import com.jpay.alipay.AliPayApi;
import com.jpay.alipay.AliPayApiConfig;
import com.jpay.alipay.AliPayApiConfigKit;
import com.ruoyi.order.util.alipay.config.AlipayConfig;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
@@ -33,7 +37,20 @@
      
      //实例化客户端
      private static AlipayClient alipayClient = new DefaultAlipayClient(serverUrl, APP_ID, APP_PRIVATE_KEY, format, charset, ALIPAY_PUBLIC_KEY, signType);
   private static AliPayApiConfig aliPayApiConfig = null;
   static {
      aliPayApiConfig = AliPayApiConfig.New()
            .setAppId(APP_ID)
            .setCharset("UTF-8")
            .setPrivateKey(APP_PRIVATE_KEY)
            .setAlipayPublicKey(ALIPAY_PUBLIC_KEY)
            .setServiceUrl("https://openapi.alipay.com/gateway.do")
            .setSignType("RSA2")
            .build();
   }
      
   /**
    * @throws AlipayApiException 
@@ -67,6 +84,9 @@
      
         Map<String, Object> map = new HashMap<>();
      try {
         AliPayApiConfigKit.setThreadLocalAppId(APP_ID);
         AliPayApiConfigKit.setThreadLocalAliPayApiConfig(aliPayApiConfig);
      
         //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
         AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
@@ -81,15 +101,12 @@
         request.setBizModel(model);
         request.setNotifyUrl(NOTIFY_URL);
         // 这里和普通的接口调用不同,使用的是sdkExecute
         AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
         String string = response.getBody();
         String orderInfo = "";
         orderInfo = AliPayApi.startAppPay(model, NOTIFY_URL);
         
         int one = string.lastIndexOf("&");
         String s=string.substring(0,(one));
         map.put("orderInfo", s);
         System.out.println(java.net.URLDecoder.decode(s, "UTF-8"));
         System.out.println(java.net.URLDecoder.decode(response.getBody(), "UTF-8"));
         map.put("orderInfo", orderInfo);
         map.put("Type",2);
         
      } catch (Exception e) {
         e.printStackTrace();