4
4
*/
5
5
package com .alipay .global .api .example ;
6
6
7
- import com .alibaba .fastjson .JSONObject ;
8
7
import com .alipay .global .api .AlipayClient ;
9
8
import com .alipay .global .api .DefaultAlipayClient ;
10
9
import com .alipay .global .api .exception .AlipayApiException ;
11
- import com .alipay .global .api .model .ams .*;
12
- import com .alipay .global .api .model .risk .Merchant ;
10
+ import com .alipay .global .api .model .ams .Address ;
11
+ import com .alipay .global .api .model .ams .Amount ;
12
+ import com .alipay .global .api .model .ams .Buyer ;
13
+ import com .alipay .global .api .model .ams .CardVerificationResult ;
14
+ import com .alipay .global .api .model .ams .Env ;
15
+ import com .alipay .global .api .model .ams .Goods ;
16
+ import com .alipay .global .api .model .ams .OsType ;
17
+ import com .alipay .global .api .model .ams .RiskThreeDSResult ;
18
+ import com .alipay .global .api .model .ams .Shipping ;
19
+ import com .alipay .global .api .model .ams .TerminalType ;
20
+ import com .alipay .global .api .model .ams .UserName ;
21
+ import com .alipay .global .api .model .risk .AuthorizationPhase ;
13
22
import com .alipay .global .api .model .risk .Order ;
23
+ import com .alipay .global .api .model .risk .PaymentMethodMetaData ;
24
+ import com .alipay .global .api .model .risk .Merchant ;
25
+ import com .alipay .global .api .model .risk .PaymentDetail ;
14
26
import com .alipay .global .api .model .risk .PaymentMethod ;
15
- import com .alipay .global .api .model .risk .*;
16
27
import com .alipay .global .api .request .ams .risk .RiskDecideRequest ;
17
28
import com .alipay .global .api .request .ams .risk .RiskReportRequest ;
18
29
import com .alipay .global .api .request .ams .risk .SendPaymentResultRequest ;
19
30
import com .alipay .global .api .request .ams .risk .SendRefundResultRequest ;
20
- import com .alipay .global .api .request .ams .risk .tee .encryptstrategy .RiskDecideEncryptStrategy ;
21
- import com .alipay .global .api .request .ams .risk .tee .enums .EncryptKeyEnum ;
22
31
import com .alipay .global .api .response .ams .risk .RiskDecideResponse ;
23
32
import com .alipay .global .api .response .ams .risk .RiskReportResponse ;
24
33
import com .alipay .global .api .response .ams .risk .SendPaymentResultResponse ;
25
34
import com .alipay .global .api .response .ams .risk .SendRefundResultResponse ;
35
+ import com .alipay .global .api .request .ams .risk .tee .encryptstrategy .RiskDecideEncryptStrategy ;
36
+ import com .alipay .global .api .request .ams .risk .tee .enums .EncryptKeyEnum ;
37
+
38
+ import java .util .Arrays ;
39
+ import java .util .Collections ;
40
+ import java .util .Date ;
41
+ import java .util .List ;
26
42
27
- import java .security .NoSuchAlgorithmException ;
28
- import java .util .*;
29
43
30
44
public class RiskDecideTeeDemoCode {
31
45
private static final String CLIENT_ID = "5J5YBT2Y2Y5MSG04004" ;
32
- private static final String GATE_WAY_URL = "https://open-sea-global .alipay.com" ;
33
- private static final String merchantPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvmKKTqh8LycwRsKgHbSjaVC1UIc2FLzZoXwDjyje/RGIgXfnQiMTQtbr8PzhK+syD+Lk809QxAWxKJilfysBsMwYHnPrq3bd76cESCht8aEXOlhP3Y6U3Q/ErMCbDLmRGt6KL4EkQXVW/hBDRQfnqn9523n7Vf+QYB8VkdwUmCQoLOAmUa/b0tN20FZiMLOkKoyoR3sfyZkq0tJoc8H5VEp4JCPTePhLHErm0ydPALRATpwe6r5gBTr7afLYp3p4H39pnhAaOLoNgsTRl9iNrZLKW058T0xGN8l6eNQjh4D5Bb4m4cXOYW7EsBMXbv9/zOCSIE3cerUMUapGa+EwNAgMBAAECggEALXn9WPrtMXNg25AB5HJ76xdz6d8bSAvzLlK0e0oq5+lA9JsCEOTq/Bakx6Fj5d9QSjmHV96QjOSOdCGwA3QSI7OPMzePsHYdiAUBELf3aF/k/FzX7PEsn8SD2CiPUWtZYws6GLnMkmVpyMDeTiOlIwOmbOiwtoB5xVN15tAAUFoG2cDEilIluL74bMKWNzym76AC3KFoUG7JHQudGC3li3/tvbiKqdEkVv4KkpxO5L2HoOJcOQ1wbXrXbBr7owCJ1hgOLulWS+I1HUru96+vPnheVuSMOmGwe6Ocs2mz3I9E2yBJS2Et3IaU5blgj2v+mCB+Ef1GhT2P3MbgKcWFDQKBgQDj2UA8PlglClM2SYCuPLI6v8y3CLd45SZNeZJ624VFSKdH5BVn8jJ0s0cQ7tdGVztRIhv9aklZAJoUke6u8dTMcqfP02rDIwrAy4k04RZtaT0fMMLD1UIjNZGjHSNA3RaTALvsOW3a9FrQ0ADq2CGH1AE9UeA3cvYTcCdcqVvnKwKBgQDFSqoLwzS+u1umAKuVxi7EP6mCqrs2G3TYmPPJItDmZ2vvqYJ4FlsCyHOJgwrEiWlBmXHdkoMnDXJVJFW+P6cLQ9V4n3p0Ie9z+o6aMtvlZWuSYltwXm/ycVp/hQPbFFIxJtUfcHeURWXGGIAaaPtE3AEZlLf/6He/EuIx/i39pwKBgHUylFXog5JZ4z9zQ1tcIRkS+wvS0fy/cZo8RFopfD2NB251JYWYENfyN0XAdL7bs8kh0F/jQeMj6h1Wiv01qw2WlDbUOoAxECDnEKZAeTbCAQyAGk587U4LCeRq4m1Ey43FvOPfDmCne+cYdsBVd7nUFOcjrD8ZRPXupHCHNJyNAoGAF4UoMpDKB/cEHQ01Z3yh9Kl2RuqduPya+Ht7jL4G04D+4CqAMFrR7MoC5CDoNrf/AWAOsBCYbB5xQ+85/Z1PB8vFdkTk71VgW55CQ+XOS1HE+kWZixLnG6sh09QCuqp4hf2QKNhamSWQ1YX0N7HOSs5Dn04YhXysUe4pYzZfOz8CgYEAlLvAJ7oqCgCt+d3XjcGW76l+k8seIGjnpyWN5rbCalXnRuFsaNf6RTVskmcVzsZlWLon1fK8IH4xFDrqgXbvERemuaHWnaadZD6i/6tkbyOROAFGbkOSf5Wwe4NS7xzxGM0WSmPArg1nfd/D/8TIgAKQZyIpwPeer51HczR4AX8=" ;
34
- private static final String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqWxuPBXkI+9uMFT8gM/jdkNyVVbDix3A5y2mhRMiPPCMh5ArPkrcHGTRQKntQI6flAc6LNuEvB+4i4Eu+jLs3qjmlM6J1Hvhpw/mu9L+V+bypyONx35AtJjEoajD3d+kCtoWqYFylZpXXP4VCGxhVi0N9fI9AIszUNECcbYV9iu7T7cCT388dklvmmOQvT0CvdxBfrlpfVcyCOuShhYTJvsxofYLFbWo7j+ghciVPthvPQ2z8X9ZJcECWG60sr1qvNBbM26F20b59UE79HCjbCV+3KNNztP/PJNQFDkSYeSdvW+f3Uu+k3yrFhUWIR65VwE2L+QIwkQPvFt6mIx8mwIDAQAB " ;
46
+ private static final String GATE_WAY_URL = "https://open-id-pre .alipay.com" ;
47
+ private static final String merchantPrivateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCEvkX4gF0D/1moCefOF3UsPVULyjUp7uY/hPlrTbO9eqLv+vFwK5Su/sxl2H6xH1T0/LnCt9kp022DzwKq2klF2yOyDR5qngVsSRQKajKA2iVF9/N795TNtw/gb7dzP0J1orjyrNGIKfdCjzcs1kBYgEfg4RAWrehC/EH9jxDFmbIE1q6ctv4cfkAv7hS8bqceiobFiJv7m76MFTCgUTXQckCPR64lRiol037Fen+b0BB6crp1nThNYWbXhiRuyIfBbgiyrZH7RKoVwYqmrgubiPEDrM+lO3P+u31nvVdE5DYNpr+yISWOhAjABQdMuYdoOShh/Kp4bVPBmdrneeMJAgMBAAECggEAcmu8zo5/HxH9i042hLxNoPuhEk+TcfjeeYQ6ppbMxxgt2OQbN5ApUoqJT4TE+BJE3gP2b3Sf+WCo9sP6zaDpJhDV/QU34bkifYukfbG6pLzlAiHPvFzV5FjWk6RYoju2IsZH287BsjhSTQo8CicIQgEZdCsr/hCbsxnUHCc00s4B/b7J2vcp6FR1M/07fxRmBZjooNVp5G/hSAHYCqO1qYdOZSI1BY3NFkp7+q/yQzEHFSH1jv2jELibb9J9lpmpWIPWpPVjplW9SUJAxEUMBLsJrZw3jKXvXTTlo8j0c2Pqym87BlR2SCSD7sVX6EKiNbSmMTmmut6ttE0jC1yBgQKBgQC7scpQw/dDE+IljCtOcADV8a1Kl3cDEh8MZp/RaDgtCDTjmTfoUpJPhPTScO4wVS2/6lKOMnJQwSj6eUxBzjy6fIDINCcFBNNrFxy37sRFbO7yYpzF5jk58voJ2MYWQS15TV97HeYKVrEkXZaI+gQxZXKUfEWFg656P5oAG2I92QKBgQC1DQ2AVql53HAMjZuh1KEqTya896W9W0wQITGPN3boMZVo55yhd2KaM2wY2sJVDZ6VeKIX7ctKPMSGRPCIi7HT2TUg4KVMymNTkGdDs0TfnpRYpyK2ZAc3UTPlQW9VcRt2ZRm/3HtmNLBUG4zUf+Vdg4fmep5aBjxqcMntCiIgsQKBgBj3C+70MdZFNcZCv5veP+41CBSs0tKgvWp71/QVhatPtSE0xv/qw7U5/QpkpPneyogFVde+FABzwMyYB7GVCfTQDJ0UesArJSfQWiyI4KhPVfT9ctbLyX7Qt7tJjwd0weSpivKoRmnHoCYzIIu1nYsocDYZ1XFt025FOWmcOtP5AoGAFPWs4XWm6w+k/R8LrGF0QvSk1G2LB2/hT2C4Xw8Zuem7lUhy7pJmnNllIz94DeakvEMZ6NFDnpWIXs7uVbBuZssXhnXbTReFBjCKc+D2ETlHjTfUIe9UkofZDSpVHDwa5Mrxfy+kLYHeA+6okBU6VWgbvIfnex6LsfratZFdwBECgYAX4txY+kPBMV1dYyTDIRun2Uj1fnsY/P4kZxt37dfDiCj2wYGgEK9i2YphuyDPWVMWTx6xOJdKsypOiYMAjgsKRgCpOlSbHVyaG23GqYAYzaNMP/8fEIcMlEcWR2kdkJe+sAZohn4tm9JlHtvl1EpXFmNaNXoXj+MvgTiQvTppWg==" ;
48
+ private static final String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhL5F+IBdA/9ZqAnnzhd1LD1VC8o1Ke7mP4T5a02zvXqi7/rxcCuUrv7MZdh+sR9U9Py5wrfZKdNtg88CqtpJRdsjsg0eap4FbEkUCmoygNolRffze/eUzbcP4G+3cz9CdaK48qzRiCn3Qo83LNZAWIBH4OEQFq3oQvxB/Y8QxZmyBNaunLb+HH5AL+4UvG6nHoqGxYib+5u+jBUwoFE10HJAj0euJUYqJdN+xXp/m9AQenK6dZ04TWFm14YkbsiHwW4Isq2R+0SqFcGKpq4Lm4jxA6zPpTtz/rt9Z71XROQ2Daa/siEljoQIwAUHTLmHaDkoYfyqeG1TwZna53njCQIDAQAB " ;
35
49
private static final AlipayClient defaultAlipayClient = new DefaultAlipayClient (GATE_WAY_URL , merchantPrivateKey , alipayPublicKey );
36
50
private static final String DATA_KEY = "w7QkIZhPyXqoZTflcQvTVg==" ;
37
- public static void main (String [] args ) throws NoSuchAlgorithmException {
51
+ public static void main (String [] args ) {
38
52
preAuthDecide ();
39
- // postAuthDecide();
40
53
}
41
54
42
55
public static RiskDecideResponse preAuthDecide () {
43
56
RiskDecideRequest request = new RiskDecideRequest ();
44
57
request .setClientId (CLIENT_ID );
45
- request .setPath ("/ams/api/v1/risk/payments/decide" );
58
+ request .setPath ("/ams/api/v1/risk/privacy/ payments/decide" );
46
59
request .setReferenceTransactionId ("test_20231012091493242" );
47
60
request .setAuthorizationPhase (AuthorizationPhase .PRE_AUTHORIZATION );
48
61
// 1. build plaintext request
49
62
buildRiskDecideRequest (request );
50
63
// 2. encrypt request
51
- System .out .println (JSONObject .toJSONString (request ));
52
- System .out .println ("-----------------------------------" );
53
64
encryptRequest (request );
54
- System .out .println (JSONObject .toJSONString (request ));
55
65
// 3. send request
56
66
RiskDecideResponse response = null ;
57
67
try {
58
68
response = defaultAlipayClient .execute (request );
59
69
} catch (AlipayApiException e ) {
60
- e .printStackTrace ();
61
70
// TODO Handle AlipayApiException and log
71
+ e .printStackTrace ();
62
72
}
63
73
return response ;
64
74
}
65
75
66
76
public static RiskDecideResponse postAuthDecide () {
67
77
RiskDecideRequest request = new RiskDecideRequest ();
68
78
request .setClientId (CLIENT_ID );
69
- request .setPath ("/ams/api/v1/risk/payments/decide" );
79
+ request .setPath ("/ams/api/v1/risk/privacy/ payments/decide" );
70
80
request .setReferenceTransactionId ("test_20231012091493242" );
71
81
request .setAuthorizationPhase (AuthorizationPhase .POST_AUTHORIZATION );
72
82
// 1. build plaintext request
@@ -85,7 +95,6 @@ public static RiskDecideResponse postAuthDecide() {
85
95
paymentMethodMetaData .setCardVerificationResult (cardVerificationResult );
86
96
// 2. encrypt request
87
97
encryptRequest (request );
88
- // System.out.println(JSONObject.toJSONString(request));
89
98
// 3. send request
90
99
RiskDecideResponse response = null ;
91
100
try {
@@ -109,15 +118,15 @@ public static void encryptRequest(RiskDecideRequest request) {
109
118
EncryptKeyEnum .SHIPPING_EMAIL ,
110
119
EncryptKeyEnum .SHIPPING_PHONE_NO
111
120
);
112
- // 2.2. encrypt request by RiskDecideEncryptStrategy
121
+ // 2.2. encrypt request by using RiskDecideEncryptStrategy
113
122
RiskDecideEncryptStrategy strategy = new RiskDecideEncryptStrategy ();
114
123
strategy .encrypt (DATA_KEY , request , encryptList );
115
124
}
116
125
117
126
public static SendPaymentResultResponse sendPaymentResult () {
118
127
SendPaymentResultRequest request = new SendPaymentResultRequest ();
119
128
request .setClientId (CLIENT_ID );
120
- request .setPath ("/ams/api/v1/risk/payments/sendPaymentResult" );
129
+ request .setPath ("/ams/api/v1/risk/privacy/ payments/sendPaymentResult" );
121
130
request .setReferenceTransactionId ("test_20231012091493242" );
122
131
123
132
request .setPaymentStatus ("SUCCESS" );
@@ -137,29 +146,31 @@ public static SendPaymentResultResponse sendPaymentResult() {
137
146
response = defaultAlipayClient .execute (request );
138
147
} catch (AlipayApiException e ) {
139
148
// TODO Handle AlipayApiException and log
149
+ e .printStackTrace ();
140
150
}
141
151
return response ;
142
152
}
143
153
144
154
public static SendRefundResultResponse sendPaymentRefund () {
145
155
SendRefundResultRequest request = new SendRefundResultRequest ();
146
156
request .setClientId (CLIENT_ID );
147
- request .setPath ("/ams/api/v1/risk/payments/sendRefundResult" );
157
+ request .setPath ("/ams/api/v1/risk/privacy/ payments/sendRefundResult" );
148
158
request .setReferenceTransactionId ("test_20231012091493242" );
149
159
150
160
SendRefundResultResponse response = null ;
151
161
try {
152
162
response = defaultAlipayClient .execute (request );
153
163
} catch (AlipayApiException e ) {
154
164
// TODO Handle AlipayApiException and log
165
+ e .printStackTrace ();
155
166
}
156
167
return response ;
157
168
}
158
169
159
170
public static RiskReportResponse reportRisk () {
160
171
RiskReportRequest request = new RiskReportRequest ();
161
172
request .setClientId (CLIENT_ID );
162
- request .setPath ("/ams/api/v1/risk/payments/reportRisk" );
173
+ request .setPath ("/ams/api/v1/risk/privacy/ payments/reportRisk" );
163
174
request .setReferenceTransactionId ("test_20231012091493242" );
164
175
request .setReportReason ("test" );
165
176
request .setRiskType ("FRAUD" );
@@ -170,6 +181,7 @@ public static RiskReportResponse reportRisk() {
170
181
response = defaultAlipayClient .execute (request );
171
182
} catch (AlipayApiException e ) {
172
183
// TODO Handle AlipayApiException and log
184
+ e .printStackTrace ();
173
185
}
174
186
return response ;
175
187
}
@@ -254,7 +266,7 @@ private static void buildRiskDecideRequest(RiskDecideRequest request) {
254
266
UserName cardHolderName = new UserName ();
255
267
cardHolderName .setFirstName ("Tom" );
256
268
cardHolderName .setLastName ("Jay" );
257
- paymentMethodMetaData .setCardholderName (cardHolderName );
269
+ paymentMethodMetaData .setCardHolderName (cardHolderName );
258
270
Address billingAddress = new Address ();
259
271
billingAddress .setRegion ("CN" );
260
272
billingAddress .setState ("Zhejiang" );
0 commit comments