xiongzhu 4 лет назад
Родитель
Сommit
2441841a0c

+ 34 - 0
src/main/java/com/izouma/nineth/config/AdapayConfig.java

@@ -0,0 +1,34 @@
+package com.izouma.nineth.config;
+
+import com.huifu.adapay.Adapay;
+import com.huifu.adapay.model.MerConfig;
+import lombok.AllArgsConstructor;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+import javax.annotation.PostConstruct;
+
+@Configuration
+@AllArgsConstructor
+@EnableConfigurationProperties({AdapayProperties.class})
+public class AdapayConfig {
+    private final AdapayProperties adapayProperties;
+
+    @PostConstruct
+    public void init() {
+        Adapay.debug = adapayProperties.isDebug();
+        Adapay.prodMode = adapayProperties.isProd();
+
+        MerConfig merConfig = new MerConfig();
+        merConfig.setApiKey(adapayProperties.getApiKey());
+        merConfig.setApiMockKey(adapayProperties.getMockKey());
+        merConfig.setRSAPrivateKey(adapayProperties.getPrivKey());
+        merConfig.setRSAPublicKey(adapayProperties.getPublicKey());
+        Adapay.publicKey = adapayProperties.getAppPublicKey();
+        try {
+            Adapay.initWithMerConfig(merConfig);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 16 - 0
src/main/java/com/izouma/nineth/config/AdapayProperties.java

@@ -0,0 +1,16 @@
+package com.izouma.nineth.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@Data
+@ConfigurationProperties(prefix = "adapay")
+public class AdapayProperties {
+    private boolean debug;
+    private boolean prod;
+    private String  apiKey;
+    private String  mockKey;
+    private String  publicKey;
+    private String  privKey;
+    private String  appPublicKey;
+}

+ 8 - 0
src/main/resources/application.yaml

@@ -131,6 +131,14 @@ alipay:
   root-cert-path: classpath:cert/alipayRootCert.crt
   notify-url: https://nfttest.9space.vip/notify/order/alipay
   return-url: https://nfttest.9space.vip/9th/home
+adapay:
+  debug: true
+  prod: true
+  api-key: api_live_8818cac1-894b-40bc-ac77-803e02e9c260
+  mock-key: api_test_0b1b0eb9-30e1-4acd-8e03-10b529de1856
+  public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtkpJOyNIfwpfPPFbv18vnIuw3A7ZqX61nJ1ijbeCbvSch7tC6ZO32NyKL/zL0STfep/FQGFOokIfw/BqHDxi/7fmyjjr1NVVqPJw7v1fHaUA2SDys+YVV8b44njJreG9pZeIfexfOJFCfV6EFr5tmddBIIz5azLZGYFYc6nME2o2TIiE4jvZR07nKCXrIw2PhKyl+wyiqCN+EdFEuWrdYoYohmHMls+qbHB60Tu6eV8WcP7aOBXKEJOYLCdf1Q8+euE0X/UGyXAuoLZGb5cZqxQHmL4ZnqJaJSjTHqOzPsxocSrUeR53dhXj+OMISETc+nEJcjOGzGlhJiVTUSADiQIDAQAB
+  priv-key: MIIEpAIBAAKCAQEAtkpJOyNIfwpfPPFbv18vnIuw3A7ZqX61nJ1ijbeCbvSch7tC6ZO32NyKL/zL0STfep/FQGFOokIfw/BqHDxi/7fmyjjr1NVVqPJw7v1fHaUA2SDys+YVV8b44njJreG9pZeIfexfOJFCfV6EFr5tmddBIIz5azLZGYFYc6nME2o2TIiE4jvZR07nKCXrIw2PhKyl+wyiqCN+EdFEuWrdYoYohmHMls+qbHB60Tu6eV8WcP7aOBXKEJOYLCdf1Q8+euE0X/UGyXAuoLZGb5cZqxQHmL4ZnqJaJSjTHqOzPsxocSrUeR53dhXj+OMISETc+nEJcjOGzGlhJiVTUSADiQIDAQABAoIBAG1y2tdEDwIgAyC/NbwIdbjDcrQdwnhvGLHpGURHm2vtOJKST9GYnLj7aYj4epOfVQL2LOPDyQfJNfNaRQuhAjvReiOO26IVWPIwZrhHrrVI3eKAUtjK26OxVrv7k/Pv5wMmoZAhvOZk6QwHFL3nJj1JLdRScGr5w7n5nFcN6vb4OGI0A1ABXd84NcbPaiFlpe2e053MH5sMLWsHgFLWhvpR27CC5/bno+lgCJdtyDdlZXGIqqyeFMZq/fFWGcLHrtGajGdTdlsEJSEKm6mI45QDaeeRAsdh+Co0h7QjfEijwR8KcB8WM3c5uhUpFHHi6/wUsKHMwJ7TPIz68GZkPVECgYEA8uVMDCdfDmazqCSE08oMCTPxKMFj2b/jJcdFopDuTOavGx22tD5soN5RVaUJYrA6UcVZ1+aTr6sbBKAQBRbK95dN8/x7A6kpUFtAZ0jyaYghvL99ouzGss2C4AB3/xWetrgEZ9w++czRo5KDo4ScgasgrWL2onCbkYWPzpBZ+30CgYEAwB/y3FW7CMVBUmUjYN80SbfC2i8JclNpQeIytxkvit0Y+feFSUv4PpP4hsiuI6B8AAsrc6fRHVBzttBAyjCVz64Hhk0236Ik3hguYxA1Gtpn6auevqJegME9nzawrmb/RRHfqkxT/PWDqZMhzhNC4PXNM+8+9Uonh/8AMWxrrf0CgYAIJmd51OxcmFeY4bjPPm1O9b42xt5p1QVzJA+TF9fXHrprZ4DU5W9RqoQCIqqA9DbQvZV5KBR2hYA/lHtVIGGpExubfzJFeiyXtKghjxILNnUjVy2JBPbZ0wl8KKfeGESeDuie74Xxbczu9yCRoQZ7V1meV768zph5toiPvso2JQKBgQCVhgfgHUS0Hbip5Ja1JOGv4blfTy498NbBdMbdo1dR7qMqn8327o4kPcs1Muf8SEFZU1gc6eWgt+VmyQszkL53ZEzs5Bkp0Sp6Qz2O0aVS4dnvjSa93OZJtJs91zWIdhaDbdax1jejbnxqtFyh4nGxXPu4SKGqC21atUY0MNpZDQKBgQCkPaRvuZJQ3h2UX/sXAGGTyhmckGBOSAiFdm0kaBuqgSkXBHUfhx8b+h96kWIVd9NkXTDG1Ixmt5YfrdFDCO3vOhLgCJ7fU0bfHH3dX0tQlUH2Pl4hF9J+zRbnCI8ehkTebqbaCbnLobqhsduCMa6dJhMcmKsKRhPscjxQ2SFddw==
+  app-public-key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwN6xgd6Ad8v2hIIsQVnbt8a3JituR8o4Tc3B5WlcFR55bz4OMqrG/356Ur3cPbc2Fe8ArNd/0gZbC9q56Eb16JTkVNA/fye4SXznWxdyBPR7+guuJZHc/VW2fKH2lfZ2P3Tt0QkKZZoawYOGSMdIvO+WqK44updyax0ikK6JlNQIDAQAB
 ---
 
 spring:

+ 25 - 0
src/test/java/com/izouma/nineth/AdapayTest.java

@@ -0,0 +1,25 @@
+package com.izouma.nineth;
+
+import com.alibaba.fastjson.JSON;
+import com.huifu.adapay.core.exception.BaseAdaPayException;
+import com.huifu.adapay.model.Payment;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class AdapayTest extends ApplicationTests {
+    @Test
+    public void testPay() throws BaseAdaPayException {
+        Map<String, Object> paymentParams = new HashMap<String, Object>(10);
+        paymentParams.put("app_id", "app_f8760acc-f4d8-46f6-8f70-d80e36517075");
+        paymentParams.put("order_no", "jsdk_payment" + System.currentTimeMillis());
+        paymentParams.put("pay_channel", "alipay_qr");
+        paymentParams.put("pay_amt", "0.01");
+        paymentParams.put("goods_title", "your goods title");
+        paymentParams.put("goods_desc", "your goods desc");
+        paymentParams.put("div_members", "");
+        Map<String, Object> payment = Payment.create(paymentParams);
+        System.out.println("payment result=" + JSON.toJSONString(payment));
+    }
+}