Skip to content

Commit 8e2201b

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

File tree

9 files changed

+330
-196
lines changed

9 files changed

+330
-196
lines changed

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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy