Skip to content

Commit ec77e9f

Browse files
committed
start working on the Android pay feature - initial commit
1 parent b794968 commit ec77e9f

File tree

11 files changed

+84
-52
lines changed

11 files changed

+84
-52
lines changed

src/main/java/com/visa/inappsdk/connectors/inapp/InAppGateway.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.visa.inappsdk.connectors.inapp.receivers.TransactionResultReceiver;
99
import com.visa.inappsdk.datamodel.SDKGateway;
1010
import com.visa.inappsdk.datamodel.response.SDKGatewayResponse;
11-
import com.visa.inappsdk.datamodel.transaction.SDKTransactionObject;
11+
import com.visa.inappsdk.connectors.inapp.transaction.client.InAppTransactionObject;
1212
import com.visa.inappsdk.datamodel.transaction.callbacks.SDKApiConnectionCallback;
1313

1414
/**
@@ -30,7 +30,7 @@ public static InAppGateway getGateway() {
3030
}
3131

3232
@Override
33-
protected boolean performEncryption(SDKTransactionObject transactionObject, SDKApiConnectionCallback applicationConnectionCallback) {
33+
protected boolean performEncryption(InAppTransactionObject transactionObject, SDKApiConnectionCallback applicationConnectionCallback) {
3434
if(transactionInProgress)
3535
return transactionInProgress;
3636
if (transactionObject == null)

src/main/java/com/visa/inappsdk/connectors/inapp/InAppSDKApiClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import com.visa.inappsdk.common.SDKCore;
66
import com.visa.inappsdk.connectors.inapp.connection.InAppConnectionData;
7-
import com.visa.inappsdk.datamodel.transaction.SDKTransactionObject;
7+
import com.visa.inappsdk.connectors.inapp.transaction.client.InAppTransactionObject;
88
import com.visa.inappsdk.datamodel.transaction.callbacks.SDKApiConnectionCallback;
99

1010
import java.lang.ref.WeakReference;
@@ -75,7 +75,7 @@ public static void dispose() {
7575
InAppGateway.dispose();
7676
}
7777

78-
public boolean performApi(Api api, SDKTransactionObject transactionObject, String messageSignature){
78+
public boolean performApi(Api api, InAppTransactionObject transactionObject, String messageSignature){
7979
if(api == null)
8080
throw new NullPointerException("API must not be null");
8181
if(transactionObject == null)

src/main/java/com/visa/inappsdk/connectors/inapp/envelopes/InAppEncryptEnvelope.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import com.visa.inappsdk.connectors.inapp.datamodel.InAppCard;
66
import com.visa.inappsdk.connectors.inapp.responses.InAppResponseObject;
77
import com.visa.inappsdk.connectors.inapp.services.InAppEncryptPaymentDataService;
8-
import com.visa.inappsdk.connectors.inapp.transaction.InAppEncryptionTransactionObject;
8+
import com.visa.inappsdk.connectors.inapp.transaction.InAppEnvelopeEncryptionTransactionObject;
99
import com.visa.inappsdk.datamodel.response.SDKGatewayResponseType;
10-
import com.visa.inappsdk.datamodel.transaction.SDKTransactionObject;
10+
import com.visa.inappsdk.connectors.inapp.transaction.client.InAppTransactionObject;
1111
import com.visa.inappsdk.datamodel.transaction.fields.SDKBillTo;
1212
import com.visa.inappsdk.datamodel.transaction.fields.SDKCardData;
1313
import com.visa.inappsdk.soap.model.SDKXMLParentNode;
@@ -22,18 +22,18 @@ public class InAppEncryptEnvelope extends InAppBaseEnvelope {
2222
InAppEncryptEnvelope() {
2323
}
2424

25-
public InAppEncryptEnvelope(SDKTransactionObject transactionObject, String merchantId, String messageSignature) {
25+
public InAppEncryptEnvelope(InAppTransactionObject transactionObject, String merchantId, String messageSignature) {
2626
createEnvelopeHeader(merchantId, messageSignature);
27-
InAppEncryptionTransactionObject encryptionTransactionObject = convertTransactionObject(transactionObject, merchantId);
27+
InAppEnvelopeEncryptionTransactionObject encryptionTransactionObject = convertTransactionObject(transactionObject, merchantId);
2828
createEnvelopeBody(encryptionTransactionObject);
2929
}
3030

31-
private void createEnvelopeBody(InAppEncryptionTransactionObject paymentObject) {
31+
private void createEnvelopeBody(InAppEnvelopeEncryptionTransactionObject paymentObject) {
3232
SDKXMLParentNode request = this.createRequestMessage();
3333
paymentObject.updateEnvelope(request);
3434
}
3535

36-
private InAppEncryptionTransactionObject convertTransactionObject(SDKTransactionObject transactionObject,
36+
private InAppEnvelopeEncryptionTransactionObject convertTransactionObject(InAppTransactionObject transactionObject,
3737
String merchantId) {
3838

3939
String merchantReferenceCode = transactionObject.getMerchantReferenceCode();
@@ -64,7 +64,7 @@ private InAppEncryptionTransactionObject convertTransactionObject(SDKTransaction
6464
encryptedPayment.setEncodedMetaData(VMposMessageSignature.MetadataEncodedValue);
6565
encryptedPayment.setPaymentSolution(VMposMessageSignature.PAYMENT_SOLUTION_DEFAULT_VALUE);*/
6666

67-
InAppEncryptionTransactionObject inAppEncryptionTransactionObject = new InAppEncryptionTransactionObject(
67+
InAppEnvelopeEncryptionTransactionObject inAppEncryptionTransactionObject = new InAppEnvelopeEncryptionTransactionObject(
6868
merchantId, merchantReferenceCode, card, bill, inAppEncryptPaymentDataService, CLIENT_LIBRARY/*, encryptedPayment*/);
6969
return inAppEncryptionTransactionObject;
7070
}
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.visa.inappsdk.connectors.inapp.datamodel.InAppBillTo;
44
import com.visa.inappsdk.connectors.inapp.datamodel.InAppCard;
5-
import com.visa.inappsdk.connectors.inapp.datamodel.InAppPurchaseTotals;
65
import com.visa.inappsdk.connectors.inapp.services.InAppEncryptPaymentDataService;
76
import com.visa.inappsdk.soap.model.SDKXMLParentNode;
87

@@ -11,7 +10,7 @@
1110
*
1211
* Created by fzubair on 10/8/2015.
1312
*/
14-
public class InAppEncryptionTransactionObject extends InAppTransactionObject {
13+
public class InAppEnvelopeEncryptionTransactionObject extends InAppEnvelopeTransactionObject {
1514

1615
public InAppCard card;
1716
public InAppBillTo billTo;
@@ -35,10 +34,10 @@ public class InAppEncryptionTransactionObject extends InAppTransactionObject {
3534
* @param encryptPaymentDataService
3635
* @param //shipTo
3736
*/
38-
public InAppEncryptionTransactionObject(String merchantId, String merchantReferenceCode,
39-
InAppCard inAppWebServiceCard, InAppBillTo inAppBillTo,
40-
InAppEncryptPaymentDataService encryptPaymentDataService,
41-
String clientLibrary) {
37+
public InAppEnvelopeEncryptionTransactionObject(String merchantId, String merchantReferenceCode,
38+
InAppCard inAppWebServiceCard, InAppBillTo inAppBillTo,
39+
InAppEncryptPaymentDataService encryptPaymentDataService,
40+
String clientLibrary) {
4241
this.merchantID = merchantId;
4342
this.merchantReferenceCode = merchantReferenceCode;
4443
this.clientLibrary = clientLibrary;

src/main/java/com/visa/inappsdk/connectors/inapp/transaction/InAppTransactionObject.java renamed to src/main/java/com/visa/inappsdk/connectors/inapp/transaction/InAppEnvelopeTransactionObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*
1010
* @author fzubair
1111
*/
12-
public abstract class InAppTransactionObject {
12+
public abstract class InAppEnvelopeTransactionObject {
1313

1414
public final String MERCHANT_ID = "merchantID";
1515
public final String MERCHANT_REFERENCE_CODE = "merchantReferenceCode";
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.visa.inappsdk.connectors.inapp.transaction.client;
2+
3+
import static com.visa.inappsdk.connectors.inapp.transaction.client.InAppTransactionType.SDK_TRANSACTION_ANDROID_PAY;
4+
5+
/**
6+
* Created by fzubair on 11/18/2015.
7+
*/
8+
final class InAppAndroidPayTransactionObject extends InAppTransactionObject {
9+
10+
private InAppAndroidPayTransactionObject(Builder builder)
11+
{
12+
this.transactionType = builder.transactionType;
13+
this.merchantReferenceCode = builder.merchantReferenceCode;
14+
this.transactionTime = builder.transactionTime;
15+
this.transactionDate = builder.transactionDate;
16+
this.billTo = builder.billTo;
17+
}
18+
19+
public static class Builder extends InAppTransactionObject.Builder{
20+
21+
public Builder(){
22+
this.transactionType = SDK_TRANSACTION_ANDROID_PAY;
23+
this.merchantReferenceCode = Long.toString(System.currentTimeMillis());
24+
}
25+
26+
@Override
27+
public InAppAndroidPayTransactionObject build(){
28+
return new InAppAndroidPayTransactionObject(this);
29+
}
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
package com.visa.inappsdk.datamodel.transaction;
1+
package com.visa.inappsdk.connectors.inapp.transaction.client;
22

3-
import static com.visa.inappsdk.datamodel.transaction.SDKTransactionType.SDK_TRANSACTION_ENCRYPTION;
3+
import static com.visa.inappsdk.connectors.inapp.transaction.client.InAppTransactionType.SDK_TRANSACTION_ENCRYPTION;
44

55
/**
66
* Provides data for refund transaction
77
*
88
* @author fzubair
99
*/
10-
final class SDKEncryptTransactionObject extends SDKTransactionObject {
10+
final class InAppEncryptTransactionObject extends InAppTransactionObject {
1111

12-
private SDKEncryptTransactionObject(Builder builder)
12+
private InAppEncryptTransactionObject(Builder builder)
1313
{
1414
this.transactionType = builder.transactionType;
1515
this.merchantReferenceCode = builder.merchantReferenceCode;
@@ -19,16 +19,16 @@ private SDKEncryptTransactionObject(Builder builder)
1919
this.billTo = builder.billTo;
2020
}
2121

22-
public static class Builder extends SDKTransactionObject.Builder{
22+
public static class Builder extends InAppTransactionObject.Builder{
2323

2424
public Builder(){
2525
this.transactionType = SDK_TRANSACTION_ENCRYPTION;
2626
this.merchantReferenceCode = Long.toString(System.currentTimeMillis());
2727
}
2828

2929
@Override
30-
public SDKEncryptTransactionObject build(){
31-
return new SDKEncryptTransactionObject(this);
30+
public InAppEncryptTransactionObject build(){
31+
return new InAppEncryptTransactionObject(this);
3232
}
3333
}
3434
}

src/main/java/com/visa/inappsdk/datamodel/transaction/SDKTransactionObject.java renamed to src/main/java/com/visa/inappsdk/connectors/inapp/transaction/client/InAppTransactionObject.java

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.visa.inappsdk.datamodel.transaction;
1+
package com.visa.inappsdk.connectors.inapp.transaction.client;
22

33
import com.visa.inappsdk.datamodel.transaction.fields.SDKBillTo;
44
import com.visa.inappsdk.datamodel.transaction.fields.SDKCardData;
@@ -8,19 +8,19 @@
88
*
99
* @author fzubair
1010
*/
11-
public abstract class SDKTransactionObject {
11+
public abstract class InAppTransactionObject {
1212

1313
protected String merchantReferenceCode;
14-
protected SDKTransactionType transactionType;
14+
protected InAppTransactionType transactionType;
1515
protected String transactionTime;
1616
protected String transactionDate;
1717
protected SDKCardData cardData;
1818
protected SDKBillTo billTo;
1919

20-
SDKTransactionObject(Builder builder) {
20+
InAppTransactionObject(Builder builder) {
2121
}
2222

23-
SDKTransactionObject() {
23+
InAppTransactionObject() {
2424
}
2525

2626
public String getMerchantReferenceCode() {
@@ -43,7 +43,7 @@ public SDKBillTo getBillTo() {
4343
return billTo;
4444
}
4545

46-
public SDKTransactionType getTransactionType() {
46+
public InAppTransactionType getTransactionType() {
4747
return transactionType;
4848
}
4949

@@ -53,50 +53,52 @@ public SDKTransactionType getTransactionType() {
5353
* @param type transaction type
5454
* @return one of transaction objects
5555
*/
56-
public static SDKTransactionObject.Builder createTransactionObject(SDKTransactionType type) {
56+
public static InAppTransactionObject.Builder createTransactionObject(InAppTransactionType type) {
5757

5858
switch (type) {
5959
case SDK_TRANSACTION_ENCRYPTION:
60-
return new SDKEncryptTransactionObject.Builder();
60+
return new InAppEncryptTransactionObject.Builder();
61+
case SDK_TRANSACTION_ANDROID_PAY:
62+
return new InAppAndroidPayTransactionObject.Builder();
6163
default:
62-
return new SDKEncryptTransactionObject.Builder();
64+
return new InAppEncryptTransactionObject.Builder();
6365
}
6466
}
6567

6668
public static abstract class Builder {
6769
protected String merchantReferenceCode;
68-
protected SDKTransactionType transactionType;
70+
protected InAppTransactionType transactionType;
6971
protected String transactionTime;
7072
protected String transactionDate;
7173
protected SDKCardData cardData;
7274
protected SDKBillTo billTo;
7375

74-
public SDKTransactionObject.Builder merchantReferenceCode(String merchantReferenceCode) {
76+
public InAppTransactionObject.Builder merchantReferenceCode(String merchantReferenceCode) {
7577
this.merchantReferenceCode = merchantReferenceCode;
7678
return this;
7779
}
7880

79-
public SDKTransactionObject.Builder cardData(SDKCardData cardData) {
81+
public InAppTransactionObject.Builder cardData(SDKCardData cardData) {
8082
this.cardData = cardData;
8183
return this;
8284
}
8385

84-
public SDKTransactionObject.Builder billTo(SDKBillTo billTo) {
86+
public InAppTransactionObject.Builder billTo(SDKBillTo billTo) {
8587
this.billTo = billTo;
8688
return this;
8789
}
8890

89-
public SDKTransactionObject.Builder transactionDate(String transactionDate) {
91+
public InAppTransactionObject.Builder transactionDate(String transactionDate) {
9092
this.transactionDate = transactionDate;
9193
return this;
9294
}
9395

94-
public SDKTransactionObject.Builder transactionTime(String transactionTime) {
96+
public InAppTransactionObject.Builder transactionTime(String transactionTime) {
9597
this.transactionTime = transactionTime;
9698
return this;
9799
}
98100

99-
public abstract SDKEncryptTransactionObject build();
101+
public abstract InAppTransactionObject build();
100102

101103
}
102104
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.visa.inappsdk.datamodel.transaction;
1+
package com.visa.inappsdk.connectors.inapp.transaction.client;
22

33
/**
44
* Enumeration used to indicate the transaction type. Possible states:
@@ -8,6 +8,6 @@
88
*
99
* @author fzubair
1010
*/
11-
public enum SDKTransactionType {
12-
SDK_TRANSACTION_ENCRYPTION
11+
public enum InAppTransactionType {
12+
SDK_TRANSACTION_ENCRYPTION, SDK_TRANSACTION_ANDROID_PAY
1313
}

src/main/java/com/visa/inappsdk/datamodel/SDKGateway.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.visa.inappsdk.datamodel;
22

3-
import com.visa.inappsdk.datamodel.transaction.SDKTransactionObject;
3+
import com.visa.inappsdk.connectors.inapp.transaction.client.InAppTransactionObject;
44
import com.visa.inappsdk.datamodel.transaction.callbacks.SDKApiConnectionCallback;
55

66
/**
@@ -39,7 +39,7 @@ protected static void setGateway(SDKGateway gatewayInstance) {
3939
* during operation
4040
* @return true if a transaction is already in progress
4141
*/
42-
protected abstract boolean performEncryption(SDKTransactionObject transactionObject,
42+
protected abstract boolean performEncryption(InAppTransactionObject transactionObject,
4343
SDKApiConnectionCallback applicationConnectionCallback);
4444

4545
/**

0 commit comments

Comments
 (0)