Skip to content

Commit 63ada8c

Browse files
committed
Added CreateGooglePayTransaction
1 parent 4273524 commit 63ada8c

File tree

2 files changed

+101
-0
lines changed

2 files changed

+101
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
package net.authorize.sample.MobileInAppTransactions;
2+
3+
import net.authorize.Environment;
4+
import net.authorize.api.contract.v1.*;
5+
import net.authorize.api.controller.CreateTransactionController;
6+
import net.authorize.api.controller.base.ApiOperationBase;
7+
8+
import java.math.BigDecimal;
9+
10+
public class CreateGooglePayTransaction {
11+
public static ANetApiResponse run(String apiLoginId, String transactionKey, Double amount) {
12+
ApiOperationBase.setEnvironment(Environment.SANDBOX);
13+
14+
MerchantAuthenticationType merchantAuthenticationType = new MerchantAuthenticationType();
15+
merchantAuthenticationType.setName(apiLoginId);
16+
merchantAuthenticationType.setTransactionKey(transactionKey);
17+
ApiOperationBase.setMerchantAuthentication(merchantAuthenticationType);
18+
19+
OpaqueDataType opaqueData = new OpaqueDataType();
20+
opaqueData.setDataDescriptor("COMMON.GOOGLE.INAPP.PAYMENT");
21+
opaqueData.setDataValue("1234567890ABCDEF1111AAAA2222BBBB3333CCCC4444DDDD5555EEEE6666FFFF7777888899990000");
22+
23+
PaymentType paymentType = new PaymentType();
24+
paymentType.setOpaqueData(opaqueData);
25+
26+
LineItemType lineItem = new LineItemType();
27+
lineItem.setItemId("1");
28+
lineItem.setName("vase");
29+
lineItem.setDescription("Cannes logo");
30+
lineItem.setQuantity(BigDecimal.valueOf(18));
31+
lineItem.setUnitPrice(BigDecimal.valueOf(45.00));
32+
33+
ArrayOfLineItem lineItems = new ArrayOfLineItem();
34+
lineItems.getLineItem().add(lineItem);
35+
36+
ExtendedAmountType tax = new ExtendedAmountType();
37+
tax.setAmount(BigDecimal.valueOf(amount));
38+
tax.setName("level2 tax name");
39+
tax.setDescription("level2 tax");
40+
41+
UserField userField = new UserField();
42+
TransactionRequestType.UserFields userFields = new TransactionRequestType.UserFields();
43+
44+
userField.setName("UserDefinedFieldName1");
45+
userField.setValue("UserDefinedFieldValue1");
46+
userFields.getUserField().add(userField);
47+
48+
userField.setName("UserDefinedFieldName2");
49+
userField.setValue("UserDefinedFieldValue2");
50+
userFields.getUserField().add(userField);
51+
52+
TransactionRequestType transactionRequest = new TransactionRequestType();
53+
transactionRequest.setAmount(BigDecimal.valueOf(amount));
54+
transactionRequest.setTransactionType(TransactionTypeEnum.AUTH_CAPTURE_TRANSACTION.value());
55+
transactionRequest.setPayment(paymentType);
56+
57+
CreateTransactionRequest apiRequest = new CreateTransactionRequest();
58+
apiRequest.setTransactionRequest(transactionRequest);
59+
60+
CreateTransactionController controller = new CreateTransactionController(apiRequest);
61+
controller.execute();
62+
63+
CreateTransactionResponse response = controller.getApiResponse();
64+
65+
if (response!=null) {
66+
// If API Response is ok, go ahead and check the transaction response
67+
if (response.getMessages().getResultCode() == MessageTypeEnum.OK) {
68+
TransactionResponse result = response.getTransactionResponse();
69+
if (result.getMessages() != null) {
70+
System.out.println("Successfully created transaction with Transaction ID: " + result.getTransId());
71+
System.out.println("Response Code: " + result.getResponseCode());
72+
System.out.println("Message Code: " + result.getMessages().getMessage().get(0).getCode());
73+
System.out.println("Description: " + result.getMessages().getMessage().get(0).getDescription());
74+
System.out.println("Auth code : " + result.getAuthCode());
75+
} else {
76+
System.out.println("Failed Transaction.");
77+
if (response.getTransactionResponse().getErrors() != null) {
78+
System.out.println("Error Code: " + response.getTransactionResponse().getErrors().getError().get(0).getErrorCode());
79+
System.out.println("Error message: " + response.getTransactionResponse().getErrors().getError().get(0).getErrorText());
80+
}
81+
}
82+
} else {
83+
System.out.println("Failed Transaction.");
84+
if (response.getTransactionResponse() != null && response.getTransactionResponse().getErrors() != null) {
85+
System.out.println("Error Code: " + response.getTransactionResponse().getErrors().getError().get(0).getErrorCode());
86+
System.out.println("Error message: " + response.getTransactionResponse().getErrors().getError().get(0).getErrorText());
87+
} else {
88+
System.out.println("Error Code: " + response.getMessages().getMessage().get(0).getCode());
89+
System.out.println("Error message: " + response.getMessages().getMessage().get(0).getText());
90+
}
91+
}
92+
} else {
93+
System.out.println("Null Response.");
94+
}
95+
96+
return response;
97+
}
98+
}

src/main/java/net/authorize/sample/SampleCode.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ private static void ShowMethods() {
8383
System.out.println(" CreateAnApplePayTransaction");
8484
System.out.println(" CreateAnAndroidPayTransaction");
8585
System.out.println(" CreateAnAcceptTransaction");
86+
System.out.println(" CreateGooglePayTransaction");
8687
System.out.println(" ChargeCustomerProfile");
8788
System.out.println(" CreateSubscription");
8889
System.out.println(" CreateSubscriptionFromCustomerProfile");
@@ -205,6 +206,8 @@ private static void RunMethod(String methodName) {
205206
case "CreateAnAcceptTransaction":
206207
CreateAnAcceptTransaction.run(apiLoginId, transactionKey);
207208
break;
209+
case "CreateGooglePayTransaction":
210+
CreateGooglePayTransaction.run(apiLoginId, transactionKey, amount);
208211
case "ChargeCustomerProfile":
209212
ChargeCustomerProfile.run(apiLoginId, transactionKey, customerProfileId, customerPaymentProfileId, amount);
210213
break;

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