Bläddra i källkod

fix alipay

release_toaliyun_real
xiaohanzi 5 år sedan
förälder
incheckning
f9ca82de30
13 ändrade filer med 232 tillägg och 23 borttagningar
  1. +9
    -0
      mallinkAdmin/src/main/resources/application-dev.yml
  2. +8
    -0
      mallinkAdmin/src/main/resources/application-prod.yml
  3. +8
    -0
      mallinkBApi/src/main/resources/application-dev.yml
  4. +8
    -0
      mallinkBApi/src/main/resources/application-prod.yml
  5. +8
    -0
      mallinkCApi/src/main/resources/application-dev.yml
  6. +8
    -0
      mallinkCApi/src/main/resources/application-prod.yml
  7. +8
    -0
      mallinkCallback/src/main/resources/application-dev.yml
  8. +8
    -0
      mallinkCallback/src/main/resources/application-prod.yml
  9. +8
    -0
      mallinkPosApi/src/main/resources/application-dev.yml
  10. +8
    -0
      mallinkPosApi/src/main/resources/application-prod.yml
  11. +53
    -14
      mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java
  12. +77
    -9
      mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java
  13. +21
    -0
      mallinkService/src/main/java/com/iformall/service/pay/alipay/config/AliPayConfig.java

+ 9
- 0
mallinkAdmin/src/main/resources/application-dev.yml Visa fil

@@ -157,6 +157,15 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt


jasypt:
encryptor:


+ 8
- 0
mallinkAdmin/src/main/resources/application-prod.yml Visa fil

@@ -117,6 +117,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

fm:
exception: true


+ 8
- 0
mallinkBApi/src/main/resources/application-dev.yml Visa fil

@@ -153,6 +153,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

fm:
exception: true


+ 8
- 0
mallinkBApi/src/main/resources/application-prod.yml Visa fil

@@ -109,6 +109,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

fm:
exception: true


+ 8
- 0
mallinkCApi/src/main/resources/application-dev.yml Visa fil

@@ -149,6 +149,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

jasypt:
encryptor:


+ 8
- 0
mallinkCApi/src/main/resources/application-prod.yml Visa fil

@@ -108,6 +108,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

fm:
exception: true


+ 8
- 0
mallinkCallback/src/main/resources/application-dev.yml Visa fil

@@ -155,6 +155,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

jasypt:
encryptor:


+ 8
- 0
mallinkCallback/src/main/resources/application-prod.yml Visa fil

@@ -113,6 +113,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

fm:
exception: true


+ 8
- 0
mallinkPosApi/src/main/resources/application-dev.yml Visa fil

@@ -154,6 +154,14 @@ wechat:
max-wait: -1
min-idle: 10

alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

fm:
exception: true
exception_emails: xuxiaohu@iformall.com


+ 8
- 0
mallinkPosApi/src/main/resources/application-prod.yml Visa fil

@@ -107,6 +107,14 @@ wechat:
max-idle: 100
max-wait: -1
min-idle: 10
alipay:
open:
appId:"2021002137663024"
appPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI="
appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt
alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt
alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt

fm:
exception: true


+ 53
- 14
mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java Visa fil

@@ -5,26 +5,52 @@ import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alipay.easysdk.base.image.models.AlipayOfflineMaterialImageUploadResponse;
import com.alipay.easysdk.base.oauth.models.AlipaySystemOauthTokenResponse;
import com.alipay.easysdk.kernel.Config;
import com.alipay.easysdk.util.generic.models.AlipayOpenApiGenericResponse;
import com.iformall.service.pay.alipay.api.AliPayApi;
import com.iformall.service.pay.alipay.api.entity.memberCardModel.AlipayMemberCardModelColumn;
import com.iformall.service.pay.alipay.api.entity.memberCardModel.AlipayMemberCardModelFieldRule;
import com.iformall.service.pay.alipay.api.entity.memberCardModel.AlipayMemberCardModelRequest;
import com.iformall.service.pay.alipay.api.entity.memberCardModel.AlipayMemberCardModelStyle;
import com.iformall.service.pay.alipay.config.AliPayConfig;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@Service
public class AliPayUtil {

@Autowired
AliPayConfig payConfig;
private Config getConfig() {
return AliPayApi.getOptions(payConfig.getAppId(), payConfig.getAppPrivateKey(), payConfig.getAppPublicKeyCertPath(),
payConfig.getAlipayCertPath(), payConfig.getAlipayRootCertPath());
}
//查询app_auth_token
public static String getAppAuthToken(String appAuthCode) {
public String getAppAuthToken(String appAuthCode) {
try {
AlipaySystemOauthTokenResponse response = AliPayApi.getAppAuthToken(appAuthCode);
return response.getAccessToken();
AlipayOpenApiGenericResponse response = AliPayApi.getAppAuthToken(getConfig(),appAuthCode);
JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_open_auth_token_app_response");
if (null != result) {
JSONArray arrays = result.getJSONArray("tokens");
if (null != arrays) {
JSONObject resutl0 =arrays.getJSONObject(0);
return resutl0.getString("app_auth_token");
}else {
log.error("alipay getAppAuthToken error. ",response.getHttpBody());
}
}
} catch (Exception e) {
log.error("alipay getAppAuthToken error. ",e);
}
@@ -51,9 +77,9 @@ public class AliPayUtil {
}
//门店照片上传
public static String merchantImageUpload(String appAuthToken,String imageName,byte[] file) {
public String merchantImageUpload(String appAuthToken,String imageName,byte[] file) {
try {
AlipayOpenApiGenericResponse response = AliPayApi.uploadMerchantImage(appAuthToken,imageName, file);
AlipayOpenApiGenericResponse response = AliPayApi.uploadMerchantImage(getConfig(),appAuthToken,imageName, file);
JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_offline_material_image_upload_response");
if (null != result) {
return result.getString("image_id");
@@ -65,7 +91,7 @@ public class AliPayUtil {
}
//创建商圈会员卡
public static String createSmartDistrictMemberCardModel(String appAuthToken,String cardName,String logoId,String backImageId) {
public String createSmartDistrictMemberCardModel(String appAuthToken,String cardName,String logoId,String backImageId) {
AlipayMemberCardModelRequest request = new AlipayMemberCardModelRequest();
AlipayMemberCardModelStyle style = new AlipayMemberCardModelStyle();
style.setCard_show_name(cardName);
@@ -92,7 +118,7 @@ public class AliPayUtil {
ruleList.add(rule0);
try {
AlipayOpenApiGenericResponse response = AliPayApi.createMemberCardModel(appAuthToken, request);
AlipayOpenApiGenericResponse response = AliPayApi.createMemberCardModel(getConfig(),appAuthToken, request);
JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_marketing_card_template_create_response");
if (null != result) {
return result.getString("template_id");
@@ -104,9 +130,9 @@ public class AliPayUtil {
}
//创建商圈会员卡表单配置
public static boolean setSmartDistrictMemberCardModelConfig(String appAuthToken,String templateId) {
public boolean setSmartDistrictMemberCardModelConfig(String appAuthToken,String templateId) {
try {
AlipayOpenApiGenericResponse response = AliPayApi.setMemberCardModelConfig(appAuthToken, templateId,
AlipayOpenApiGenericResponse response = AliPayApi.setMemberCardModelConfig(getConfig(),appAuthToken, templateId,
new String[] {"OPEN_FORM_FIELD_MOBILE","OPEN_FORM_FIELD_NAME"},new String[] {"OPEN_FORM_FIELD_GENDER"});
JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_marketing_card_formtemplate_set_response");
if (null != result) {
@@ -119,9 +145,9 @@ public class AliPayUtil {
}
//获取商圈会员卡领卡投放链接
public static String getSmartDistrictMemberCardUrl(String appAuthToken,String templateId,String callback,String param) {
public String getSmartDistrictMemberCardUrl(String appAuthToken,String templateId,String callback,String param) {
try {
AlipayOpenApiGenericResponse response = AliPayApi.getMemberCardUrl(appAuthToken, templateId, param, callback);
AlipayOpenApiGenericResponse response = AliPayApi.getMemberCardUrl(getConfig(),appAuthToken, templateId, param, callback);
JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_marketing_card_activateurl_apply_response");
if (null != result) {
return result.getString("apply_card_url");
@@ -133,7 +159,7 @@ public class AliPayUtil {
}
//商圈智能积分授权(算法授权)URL
public static String getH5SmartDistrictMallVipPointsUrl(String appId,String callback,String param) {
public String getH5SmartDistrictMallVipPointsUrl(String appId,String callback,String param) {
try {
return "https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=mall_vip_points&redirect_uri="+URLEncoder.encode(callback,"utf-8")+"&state="+param;
} catch (UnsupportedEncodingException e) {
@@ -143,9 +169,9 @@ public class AliPayUtil {
}
//商圈消息订阅
public static boolean smartDistrictTopicSubscribe(String appAuthToken) {
public boolean smartDistrictTopicSubscribe(String appAuthToken) {
try {
AlipayOpenApiGenericResponse response = AliPayApi.topicSubscribe(appAuthToken, "app_auth", "alipay.open.auth.appauth.cancelled", "HTTP", "BIZ_TAG");
AlipayOpenApiGenericResponse response = AliPayApi.topicSubscribe(getConfig(),appAuthToken, "app_auth", "alipay.open.auth.appauth.cancelled", "HTTP", "BIZ_TAG");
JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_open_app_message_topic_subscribe_response");
if (null != result) {
return true;
@@ -156,4 +182,17 @@ public class AliPayUtil {
return false;
}
public static void main(String[] args) {
// String token = getAppAuthToken("Pfbe94a5103a0414db99ce865204ee63");
// System.out.println(token);
//merchantImageUpload("202104BB2f6dfa9641894b0fa3fabe10564f8X63", "aa.jpg", file);
// try {
// AlipayOfflineMaterialImageUploadResponse response= AliPayApi.uploadMerchantImage(getConfig(), "202104BB9d4876a83ec74f3fbc0407e13c67dX63", "logo-img.png", "C://logo-img.png");
// System.out.println(JSON.toJSONString(response));
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
}

+ 77
- 9
mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java Visa fil

@@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSON;
import com.alipay.easysdk.base.image.models.AlipayOfflineMaterialImageUploadResponse;
import com.alipay.easysdk.base.oauth.models.AlipaySystemOauthTokenResponse;
import com.alipay.easysdk.factory.Factory;
import com.alipay.easysdk.kernel.Config;
import com.alipay.easysdk.util.generic.models.AlipayOpenApiGenericResponse;
import com.iformall.service.pay.alipay.api.entity.memberCardModel.AlipayMemberCardModelColumn;
import com.iformall.service.pay.alipay.api.entity.memberCardModel.AlipayMemberCardModelFieldRule;
@@ -25,12 +26,73 @@ import com.iformall.service.pay.alipay.api.entity.memberCardModel.AlipayMemberCa
public class AliPayApi {

/**
* https://opendocs.alipay.com/open/291/105971
* @param
* appId:应用ID, isv模式则为第三方应用ID, 非isv模式则为自研应用ID
* appPrivateKey: 应用私钥字符串,isv模式则为第三方应用私钥, 非isv模式则为自研应用私钥。产生地址为https://miniu.alipay.com/keytool/create
* appPublicKeyCertPath: 应用公钥文件本地地址。isv模式则为第三方应用公钥文件本地地址, 非isv模式则为自研应用公钥文件本地地址。 获取路径:https://open.alipay.com/dev/workspace/key-manage,"接口加签方式:"设置里面下载
* alipayCertPath: 支付宝公钥证书文件路径. isv模式则为第三方应用支付宝公钥证书文件路径, 非isv模式则为自研应用支付宝公钥证书文件路径。
* alipayRootCertPath: 支付宝根证书文件路径.isv模式则为第三方应用支付宝根证书文件路径, 非isv模式则为自研应用支付宝根证书文件路径。
* @return
*/
public static Config getOptions(String appId,String appPrivateKey,String appPublicKeyCertPath,String alipayCertPath,String alipayRootCertPath) {
Config config = new Config();
config.protocol = "https";
config.gatewayHost = "openapi.alipay.com";
config.signType = "RSA2";

config.appId = appId;

// 为避免私钥随源码泄露,推荐从文件中读取私钥字符串而不是写入源码中
config.merchantPrivateKey = appPrivateKey;

//#注:证书文件路径支持设置为文件系统中的路径或CLASS_PATH中的路径,优先从文件系统中加载,加载失败后会继续尝试从CLASS_PATH中加载
config.merchantCertPath = appPublicKeyCertPath;
config.alipayCertPath = alipayCertPath;
config.alipayRootCertPath = alipayRootCertPath;

//#####注:如果采用非证书模式,则无需赋值上面的三个证书路径,改为赋值如下的支付宝公钥字符串即可
//config.alipayPublicKey = appPublicKey;

//可设置异步通知接收服务地址(可选)
//config.notifyUrl = "<-- 请填写您的支付类接口异步通知接收服务地址,例如:https://www.test.com/callback -->";

//可设置AES密钥,调用AES加解密相关接口时需要(可选)
//config.encryptKey = "<-- 请填写您的AES密钥,例如:aa4BtZ4tspm2wnXLb1ThQA== -->";

return config;
}
/**
* https://opendocs.alipay.com/open/common/105193
* https://opendocs.alipay.com/apis/api_9/alipay.open.auth.token.app
* 换取应用授权令牌(非ISV模式)
* @throws Exception
*/
// public static AlipaySystemOauthTokenResponse getAppAuthToken(Config config,String appAuthCode) throws Exception {
// Factory.setOptions(config);
// AlipaySystemOauthTokenResponse response = Factory.Base.OAuth().getToken(appAuthCode);
// return response;
// }
/**
* https://opendocs.alipay.com/support/01ratr
* https://opendocs.alipay.com/apis/api_9/alipay.open.auth.token.app
* 换取应用授权令牌
* 换取应用授权令牌(ISV模式)
* @throws Exception
*/
public static AlipaySystemOauthTokenResponse getAppAuthToken(String appAuthCode) throws Exception {
AlipaySystemOauthTokenResponse response = Factory.Base.OAuth().getToken(appAuthCode);
public static AlipayOpenApiGenericResponse getAppAuthToken(Config config,String appAuthCode) throws Exception {
Factory.setOptions(config);
//设置系统参数(OpenAPI中非biz_content里的参数)
//Map<String, String> textParams = new HashMap<String, String>();
//textParams.put("app_auth_token", appAuthToken);
//设置业务参数(OpenAPI中biz_content里的参数)
Map<String, Object> bizParams = new HashMap<String, Object>();
bizParams.put("grant_type","authorization_code");
bizParams.put("code",appAuthCode);
AlipayOpenApiGenericResponse response = Factory.Util.Generic()
.execute("alipay.open.auth.token.app", null, bizParams);
return response;
}
@@ -39,12 +101,14 @@ public class AliPayApi {
* 上传门店照片和视频接口
* @throws Exception
*/
public static AlipayOfflineMaterialImageUploadResponse uploadMerchantImage(String appAuthToken,String imageName,String localImagePath) throws Exception {
public static AlipayOfflineMaterialImageUploadResponse uploadMerchantImage(Config config,String appAuthToken,String imageName,String localImagePath) throws Exception {
Factory.setOptions(config);
AlipayOfflineMaterialImageUploadResponse response = Factory.Base.Image().agent(appAuthToken).upload(imageName, localImagePath);
return response;
}
public static AlipayOpenApiGenericResponse uploadMerchantImage(String appAuthToken,String imageName,byte[] file) throws Exception {
public static AlipayOpenApiGenericResponse uploadMerchantImage(Config config,String appAuthToken,String imageName,byte[] file) throws Exception {
Factory.setOptions(config);
//设置系统参数(OpenAPI中非biz_content里的参数)
Map<String, String> textParams = new HashMap<String, String>();
textParams.put("app_auth_token", appAuthToken);
@@ -64,7 +128,8 @@ public class AliPayApi {
* 会员卡模板创建
* @throws Exception
*/
public static AlipayOpenApiGenericResponse createMemberCardModel(String appAuthToken,AlipayMemberCardModelRequest modelRequest) throws Exception {
public static AlipayOpenApiGenericResponse createMemberCardModel(Config config,String appAuthToken,AlipayMemberCardModelRequest modelRequest) throws Exception {
Factory.setOptions(config);
//设置系统参数(OpenAPI中非biz_content里的参数)
Map<String, String> textParams = new HashMap<String, String>();
textParams.put("app_auth_token", appAuthToken);
@@ -96,7 +161,8 @@ public class AliPayApi {
* 会员卡开卡表单模板配置
* @throws Exception
*/
public static AlipayOpenApiGenericResponse setMemberCardModelConfig(String appAuthToken,String templateId,String[] requiredFields,String[] optionalFields) throws Exception {
public static AlipayOpenApiGenericResponse setMemberCardModelConfig(Config config,String appAuthToken,String templateId,String[] requiredFields,String[] optionalFields) throws Exception {
Factory.setOptions(config);
//设置系统参数(OpenAPI中非biz_content里的参数)
Map<String, String> textParams = new HashMap<String, String>();
textParams.put("app_auth_token", appAuthToken);
@@ -124,7 +190,8 @@ public class AliPayApi {
* https://opendocs.alipay.com/apis/api_5/alipay.marketing.card.activateurl.apply
* 获取会员卡领卡投放链接
*/
public static AlipayOpenApiGenericResponse getMemberCardUrl(String appAuthToken,String templateId,String exparam,String callback) throws Exception {
public static AlipayOpenApiGenericResponse getMemberCardUrl(Config config,String appAuthToken,String templateId,String exparam,String callback) throws Exception {
Factory.setOptions(config);
//设置系统参数(OpenAPI中非biz_content里的参数)
Map<String, String> textParams = new HashMap<String, String>();
textParams.put("app_auth_token", appAuthToken);
@@ -145,7 +212,8 @@ public class AliPayApi {
* @return
* @throws Exception
*/
public static AlipayOpenApiGenericResponse topicSubscribe(String appAuthToken,String authType,String topic,String type,String tag) throws Exception {
public static AlipayOpenApiGenericResponse topicSubscribe(Config config,String appAuthToken,String authType,String topic,String type,String tag) throws Exception {
Factory.setOptions(config);
//设置系统参数(OpenAPI中非biz_content里的参数)
Map<String, String> textParams = new HashMap<String, String>();
textParams.put("app_auth_token", appAuthToken);


+ 21
- 0
mallinkService/src/main/java/com/iformall/service/pay/alipay/config/AliPayConfig.java Visa fil

@@ -0,0 +1,21 @@
package com.iformall.service.pay.alipay.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
* alipay 配置
*/
@Component
@Data
@ConfigurationProperties(prefix = "alipay.open")
public class AliPayConfig {

private String appId;
private String appPrivateKey;
private String appPublicKeyCertPath;
private String alipayCertPath;
private String alipayRootCertPath;

}

Laddar…
Avbryt
Spara