Skip to content

Commit 8e2201b

Browse files
committed
Merge pull request #37 from xianwang423/future
Fixed test failures. Now all the tests except for the PayPal one run GRE...
2 parents b6f831a + e5a3331 commit 8e2201b

9 files changed

Lines changed: 330 additions & 196 deletions

File tree

anet-java-sdk.properties

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
# populate this file and put it into your ${user.home} directory named as
2-
# anet-java-sdk.properties
1+
# Populate this file. If you use the ANT to run the tests, put this file into your ${user.home}
2+
# directory named as anet-java-sdk.properties
33
#
44
# If using Eclipse, set working directory in your Run/Debug configuration to ${user.home}
55
#
66
api.login.id=API_LOGIN_ID
77
transaction.key=TRANSACTION_KEY
88
md5.hash.key=MD5_HASH_KEY
99

10+
# Keys for ApplePay transaction tests. These keys may or may not be
11+
# the same as the key above. If not specified, they are defaulted to
12+
# the keys above.
13+
# api.login.id.applepay=API_LOGIN_ID_APPLEPAY
14+
# transaction.key.applepay=TRANSACTION_KEY_APPLEPAY
15+
# md5.hash.key.applepay=MD5_HASH_KEY_APPLEPAY
16+
1017
# if behind a proxy, use these settings:
1118
# http.proxyHost=HTTP_PROXY_HOST
1219
# http.proxyPort=HTTP_PROXY_PORT

src/main/java/net/authorize/util/Constants.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,15 @@ public final class Constants {
1515
public static final String ENV_TRANSACTION_KEY = "TRANSACTION_KEY";
1616
public static final String ENV_MD5_HASHKEY = "MD5_HASH_KEY";
1717

18+
public static final String ENV_API_LOGINID_APPLEPAY = "API_LOGIN_ID_APPLEPAY";
19+
public static final String ENV_TRANSACTION_KEY_APPLEPAY = "TRANSACTION_KEY_APPLEPAY";
20+
public static final String ENV_MD5_HASHKEY_APPLEPAY = "MD5_HASH_KEY_APPLEPAY";
21+
1822
public static final String PROP_API_LOGINID = "api.login.id";
1923
public static final String PROP_TRANSACTION_KEY = "transaction.key";
2024
public static final String PROP_MD5_HASHKEY = "md5.hash.key";
25+
26+
public static final String PROP_API_LOGINID_APPLEPAY = "api.login.id.applepay";
27+
public static final String PROP_TRANSACTION_KEY_APPLEPAY = "transaction.key.applepay";
28+
public static final String PROP_MD5_HASHKEY_APPLEPAY = "md5.hash.key.applepay";
2129
}

src/test/java/net/authorize/api/controller/sampletest/ArbSubscriptionSampleTest.java

Lines changed: 68 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -72,57 +72,78 @@ public void subscriptionSamples() {
7272
logger.info(String.format("Created Subscription: %s", createResponse.getSubscriptionId()));
7373
String subscriptionId = createResponse.getSubscriptionId();
7474

75-
//get
76-
ARBGetSubscriptionStatusRequest getRequest = new ARBGetSubscriptionStatusRequest();
77-
getRequest.setRefId(refId);
78-
getRequest.setSubscriptionId(subscriptionId);
79-
ARBGetSubscriptionStatusController statusController = new ARBGetSubscriptionStatusController(getRequest);
80-
//execute and getResponse calls together
81-
ARBGetSubscriptionStatusResponse getResponse = statusController.executeWithApiResponse();
82-
Assert.assertNotNull(getResponse.getStatus());
83-
logger.info(String.format("Subscription Status: %s", getResponse.getStatus()));
84-
ARBSubscriptionStatusEnum newStatus = getResponse.getStatus();
85-
Assert.assertEquals(ARBSubscriptionStatusEnum.ACTIVE, newStatus);
86-
LogHelper.info(logger, "Getting Subscription List for SubscriptionId: %s", subscriptionId);
75+
try {
76+
//get
77+
ARBGetSubscriptionStatusRequest getRequest = new ARBGetSubscriptionStatusRequest();
78+
getRequest.setRefId(refId);
79+
getRequest.setSubscriptionId(subscriptionId);
80+
ARBGetSubscriptionStatusController statusController = new ARBGetSubscriptionStatusController(getRequest);
81+
//execute and getResponse calls together
82+
ARBGetSubscriptionStatusResponse getResponse = statusController.executeWithApiResponse();
83+
Assert.assertNotNull(getResponse.getStatus());
84+
logger.info(String.format("Subscription Status: %s", getResponse.getStatus()));
85+
ARBSubscriptionStatusEnum newStatus = getResponse.getStatus();
86+
Assert.assertEquals(ARBSubscriptionStatusEnum.ACTIVE, newStatus);
87+
LogHelper.info(logger, "Getting Subscription List for SubscriptionId: %s", subscriptionId);
8788

88-
//get list
89-
ARBGetSubscriptionListSorting sorting = new ARBGetSubscriptionListSorting();
90-
sorting.setOrderDescending(true);
91-
sorting.setOrderBy(ARBGetSubscriptionListOrderFieldEnum.CREATE_TIME_STAMP_UTC);
92-
Paging paging = new Paging();
93-
paging.setLimit(100);
94-
paging.setOffset(1);
95-
ARBGetSubscriptionListRequest listRequest = new ARBGetSubscriptionListRequest();
96-
listRequest.setRefId(refId);
97-
listRequest.setSearchType(ARBGetSubscriptionListSearchTypeEnum.SUBSCRIPTION_ACTIVE);
98-
listRequest.setSorting(sorting);
99-
listRequest.setPaging(paging);
100-
ARBGetSubscriptionListController listController = new ARBGetSubscriptionListController(listRequest);
101-
ARBGetSubscriptionListResponse listResponse = listController.executeWithApiResponse();
102-
LogHelper.info( logger, "Subscription Count: %d", listResponse.getTotalNumInResultSet());
103-
Assert.assertTrue( 0 < listResponse.getTotalNumInResultSet());
89+
//get list
90+
ARBGetSubscriptionListSorting sorting = new ARBGetSubscriptionListSorting();
91+
sorting.setOrderDescending(true);
92+
sorting.setOrderBy(ARBGetSubscriptionListOrderFieldEnum.CREATE_TIME_STAMP_UTC);
93+
Paging paging = new Paging();
94+
paging.setLimit(100);
95+
paging.setOffset(1);
96+
ARBGetSubscriptionListRequest listRequest = new ARBGetSubscriptionListRequest();
97+
listRequest.setRefId(refId);
98+
listRequest.setSearchType(ARBGetSubscriptionListSearchTypeEnum.SUBSCRIPTION_ACTIVE);
99+
listRequest.setSorting(sorting);
100+
listRequest.setPaging(paging);
101+
102+
int retryCount = 3;
103+
boolean found = false;
104+
do {
105+
// Pause for about 15 seconds, so that the created subscription
106+
// will be in the next service call.
107+
try {
108+
Thread.sleep(15000L);
109+
} catch (InterruptedException e) {
110+
e.printStackTrace();
111+
}
112+
113+
ARBGetSubscriptionListController listController = new ARBGetSubscriptionListController(listRequest);
114+
ARBGetSubscriptionListResponse listResponse = listController.executeWithApiResponse();
115+
LogHelper.info( logger, "Subscription Count: %d", listResponse.getTotalNumInResultSet());
116+
Assert.assertTrue( 0 < listResponse.getTotalNumInResultSet());
104117

105-
//cancel
106-
ARBCancelSubscriptionRequest cancelRequest = new ARBCancelSubscriptionRequest();
107-
cancelRequest.setMerchantAuthentication(merchantAuthenticationType);
108-
cancelRequest.setRefId(refId);
109-
cancelRequest.setSubscriptionId(subscriptionId);
110-
//explicitly setting up the merchant id and environment
111-
ARBCancelSubscriptionResponse cancelResponse = executeTestRequestWithSuccess(cancelRequest, ARBCancelSubscriptionController.class, environment);
112-
Assert.assertNotNull(cancelResponse.getMessages());
113-
logger.info(String.format("Subscription Cancelled %s", subscriptionId));
118+
//validation of list
119+
ArrayOfSubscription subscriptionsArray = listResponse.getSubscriptionDetails();
120+
Assert.assertNotNull( subscriptionsArray);
114121

115-
//validation of list
116-
ArrayOfSubscription subscriptionsArray = listResponse.getSubscriptionDetails();
117-
Assert.assertNotNull( subscriptionsArray);
118-
boolean found = false;
119-
int subsId = Integer.parseInt(subscriptionId);
120-
for( SubscriptionDetail aSubscription : subscriptionsArray.getSubscriptionDetail()) {
121-
Assert.assertTrue( 0 < aSubscription.getId());
122-
LogHelper.info( logger, "Subscription Id: %s, Status:%s, PaymentMethod: %s, Amount: %s, Account:%s",
122+
int subsId = Integer.parseInt(subscriptionId);
123+
for( SubscriptionDetail aSubscription : subscriptionsArray.getSubscriptionDetail()) {
124+
Assert.assertTrue( 0 < aSubscription.getId());
125+
LogHelper.info( logger, "Subscription Id: %s, Status:%s, PaymentMethod: %s, Amount: %s, Account:%s",
123126
aSubscription.getId(), aSubscription.getStatus(), aSubscription.getPaymentMethod(), aSubscription.getAmount(), aSubscription.getAccountNumber());
124-
if ( subsId == aSubscription.getId()) { found = true;}
127+
if ( subsId == aSubscription.getId()) { found = true;}
128+
}
129+
} while (!found && --retryCount > 0);
130+
131+
Assert.assertTrue("Retried " + retryCount
132+
+ " times, the subscription " + subscriptionId
133+
+ " not found in the subscription list.", found);
134+
} finally {
135+
// cancel
136+
ARBCancelSubscriptionRequest cancelRequest = new ARBCancelSubscriptionRequest();
137+
cancelRequest.setMerchantAuthentication(merchantAuthenticationType);
138+
cancelRequest.setRefId(refId);
139+
cancelRequest.setSubscriptionId(subscriptionId);
140+
// explicitly setting up the merchant id and environment
141+
ARBCancelSubscriptionResponse cancelResponse = executeTestRequestWithSuccess(
142+
cancelRequest, ARBCancelSubscriptionController.class,
143+
environment);
144+
Assert.assertNotNull(cancelResponse.getMessages());
145+
logger.info(String.format("Subscription Cancelled %s",
146+
subscriptionId));
125147
}
126-
Assert.assertTrue(found);
127148
}
128149
}

src/test/java/net/authorize/api/controller/sampletest/CreateTransactionTest.java

Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,10 @@
22

33
import java.math.BigDecimal;
44

5-
import org.junit.After;
6-
import org.junit.AfterClass;
7-
import org.junit.Assert;
8-
import org.junit.Before;
9-
import org.junit.BeforeClass;
10-
import org.junit.Test;
11-
125
import net.authorize.api.contract.v1.CreateTransactionRequest;
136
import net.authorize.api.contract.v1.CreateTransactionResponse;
147
import net.authorize.api.contract.v1.CreditCardType;
8+
import net.authorize.api.contract.v1.MerchantAuthenticationType;
159
import net.authorize.api.contract.v1.MessageTypeEnum;
1610
import net.authorize.api.contract.v1.OpaqueDataType;
1711
import net.authorize.api.contract.v1.PayPalType;
@@ -21,6 +15,14 @@
2115
import net.authorize.api.controller.base.ApiOperationBase;
2216
import net.authorize.api.controller.test.ApiCoreTestBase;
2317

18+
import org.junit.After;
19+
import org.junit.AfterClass;
20+
import org.junit.Assert;
21+
import org.junit.Before;
22+
import org.junit.BeforeClass;
23+
import org.junit.Ignore;
24+
import org.junit.Test;
25+
2426
public class CreateTransactionTest extends ApiCoreTestBase {
2527

2628
@BeforeClass
@@ -53,7 +55,7 @@ public void createTransactionWithCreditCard()
5355
PaymentType paymentType = new PaymentType();
5456
paymentType.setCreditCard(creditCard);
5557

56-
CreateTransactionResponse response = createAndValidate("authOnlyTransaction",paymentType);
58+
CreateTransactionResponse response = createAndValidate("authOnlyTransaction",paymentType, merchantAuthenticationType);
5759

5860
Assert.assertNotNull(response);
5961
Assert.assertEquals(MessageTypeEnum.OK, response.getMessages().getResultCode());
@@ -63,37 +65,56 @@ public void createTransactionWithCreditCard()
6365
@Test
6466
public void createTransactionWithApplePay()
6567
{
66-
OpaqueDataType opaqueData = new OpaqueDataType();
67-
opaqueData.setDataDescriptor("COMMON.APPLE.INAPP.PAYMENT");
68-
opaqueData.setDataValue("eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0=");
68+
// Switch to use the ApplePay apiLoginIdKey and transactionKey
69+
final String apiLoginIdKey = merchantAuthenticationType.getName();
70+
final String transactionKey = merchantAuthenticationType.getTransactionKey();
71+
72+
merchantAuthenticationType.setName(apiLoginIdKeyApplePay);
73+
merchantAuthenticationType.setTransactionKey(transactionKeyApplePay);
74+
75+
try {
76+
OpaqueDataType opaqueData = new OpaqueDataType();
77+
opaqueData.setDataDescriptor("COMMON.APPLE.INAPP.PAYMENT");
78+
opaqueData.setDataValue("eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0=");
6979

70-
PaymentType paymentType = new PaymentType();
71-
paymentType.setOpaqueData(opaqueData);
80+
PaymentType paymentType = new PaymentType();
81+
paymentType.setOpaqueData(opaqueData);
7282

73-
CreateTransactionResponse response = createAndValidate("authCaptureTransaction", paymentType);
74-
Assert.assertNotNull(response);
75-
Assert.assertFalse(response.getTransactionResponse().getTransHash().isEmpty());
83+
CreateTransactionResponse response = createAndValidate("authCaptureTransaction", paymentType, merchantAuthenticationType);
84+
85+
Assert.assertNotNull(response);
86+
Assert.assertEquals("1", response.getTransactionResponse().getMessages().getMessage().get(0).getCode());
87+
}
88+
finally {
89+
merchantAuthenticationType.setName(apiLoginIdKey);
90+
merchantAuthenticationType.setTransactionKey(transactionKey);
91+
}
7692
}
7793

7894
@Test
7995
public void createTransactionWithPayPal()
8096
{
97+
/*
98+
* Please enable the PayPal feature of your ANet account.
99+
*/
81100
PayPalType payPalData = new PayPalType();
82101
payPalData.setPaypalLc("IT");
83102
payPalData.setPaypalPayflowcolor("FFFF00");
103+
payPalData.setSuccessUrl("https://success.anet.net");
104+
payPalData.setCancelUrl("https://cancel.anet.net");
84105

85106
PaymentType paymentType = new PaymentType();
86107
paymentType.setPayPal(payPalData);
87108

88-
CreateTransactionResponse response = createAndValidate("authOnlyTransaction", paymentType);
109+
CreateTransactionResponse response = createAndValidate("authOnlyTransaction", paymentType, merchantAuthenticationType);
89110
Assert.assertNotNull(response);
90111
Assert.assertFalse(response.getTransactionResponse().getTransId().isEmpty());
91112
Assert.assertFalse(response.getTransactionResponse().getTransHash().isEmpty());
92113
Assert.assertNotNull(response.getTransactionResponse().getSecureAcceptance());
93114
Assert.assertFalse(response.getTransactionResponse().getSecureAcceptance().getSecureAcceptanceUrl().isEmpty());
94115
}
95-
96-
private CreateTransactionResponse createAndValidate(String transactionType, PaymentType paymentType)
116+
117+
private CreateTransactionResponse createAndValidate(String transactionType, PaymentType paymentType, MerchantAuthenticationType merchantAuthenticationType)
97118
{
98119
//Common code to set for all requests
99120
ApiOperationBase.setEnvironment(environment);

0 commit comments

Comments
 (0)