@@ -86,23 +86,49 @@ public void TestPaymentSuccess() throws Exception {
86
86
* Should be able to stringify and parse paymentMethod in CheckoutPaymentRequest (test oneOf serialization and deserialization)
87
87
*/
88
88
@ Test
89
- public void TestCheckoutPaymentRequestSerialization () throws Exception {
90
- String paymentRequestJson = getFileContents ("mocks/checkout/paymentRequest.json" );
91
- IdealDetails idealDetails = new IdealDetails ();
92
- idealDetails .setIssuer ("issuerName" );
93
- Amount amount = new Amount ().currency ("EUR" ).value (1000L );
94
- PaymentRequest paymentRequest = new PaymentRequest ();
95
- paymentRequest .setAmount (amount );
96
- paymentRequest .setMerchantAccount ("myMerchantAccount" );
97
- paymentRequest .setReference ("merchantReference" );
98
- paymentRequest .setReturnUrl ("http://return.com" );
99
- paymentRequest .setPaymentMethod (new CheckoutPaymentMethod (idealDetails ));
89
+ public void TestDeserializePaymentRequestIdeal () throws Exception {
90
+ String paymentRequestJson = getFileContents ("mocks/checkout/paymentRequestIdeal.json" );
100
91
101
92
PaymentRequest parsedCheckoutPaymentRequest = PaymentRequest .fromJson (paymentRequestJson );
93
+
94
+ // paymentMethod
102
95
assertEquals (IdealDetails .TypeEnum .IDEAL , parsedCheckoutPaymentRequest .getPaymentMethod ().getIdealDetails ().getType ());
96
+ assertEquals ("issuerName" , parsedCheckoutPaymentRequest .getPaymentMethod ().getIdealDetails ().getIssuer ());
97
+ // amount
98
+ assertEquals (1000L , parsedCheckoutPaymentRequest .getAmount ().getValue ().longValue ());
103
99
assertEquals ("EUR" , parsedCheckoutPaymentRequest .getAmount ().getCurrency ());
100
+ // merchant account
101
+ assertEquals ("myMerchantAccount" , parsedCheckoutPaymentRequest .getMerchantAccount ());
102
+ // reference
103
+ assertEquals ("merchantReference" , parsedCheckoutPaymentRequest .getReference ());
104
+ // return url
105
+ assertEquals ("https://your-company.com/.." , parsedCheckoutPaymentRequest .getReturnUrl ());
104
106
}
105
107
108
+ /**
109
+ * Deserialise CardDetails (scheme)
110
+ * @throws Exception
111
+ */
112
+ @ Test
113
+ public void TestDeserializePaymentRequestScheme () throws Exception {
114
+ String paymentRequestJson = getFileContents ("mocks/checkout/paymentRequestScheme.json" );
115
+
116
+ PaymentRequest parsedCheckoutPaymentRequest = PaymentRequest .fromJson (paymentRequestJson );
117
+ assertNotNull (parsedCheckoutPaymentRequest .getPaymentMethod ());
118
+ assertEquals (CardDetails .TypeEnum .SCHEME , parsedCheckoutPaymentRequest .getPaymentMethod ().getCardDetails ().getType ());
119
+ assertEquals ("2.4.2" , parsedCheckoutPaymentRequest .getPaymentMethod ().getCardDetails ().getThreeDS2SdkVersion ());
120
+ // verify un-encrypted fields are empty
121
+ assertNull (parsedCheckoutPaymentRequest .getPaymentMethod ().getCardDetails ().getNumber ());
122
+ assertNull (parsedCheckoutPaymentRequest .getPaymentMethod ().getCardDetails ().getCvc ());
123
+ // verify encrypted fields are correct
124
+ assertNotNull (parsedCheckoutPaymentRequest .getPaymentMethod ().getCardDetails ().getEncryptedCardNumber ());
125
+ assertEquals ("eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwidmVyc2lvbiI6IjEifQ.DXQDEl3M" +
126
+ "dyyW_ZrJoF2Kt3P1H2wWaP1z-FgI6SuDv96lN7e_0ki0mUkI8AL2USS_iiMbG5W4NtD4Ut5TqCBPlgOZfN6vDyM8O6Df-" +
127
+ "qNbX7rnW9iQQUue_21oo6U9K2tpFEQ9rYgUVIFhfLdFmLZ4q8ejmXFSGuTh-iC06APs2zWdUn0v-S4q4ltAzhee_5yOvff" +
128
+ "oSCWOWiGltUqViVOnrllheH-POp4qfL9GbaIkjixPyLNLRizQTrOO_j3m0gczeiORcrjXI2NSouSkPP9M1K9nwUWX-jpVTf" +
129
+ "1PkqLTYRzGQwZCoL9JU9HabRXYdM_eLMtNaIfiBo_4wPq5Iocmww" ,
130
+ parsedCheckoutPaymentRequest .getPaymentMethod ().getCardDetails ().getEncryptedCardNumber ());
131
+ }
106
132
/**
107
133
* Should make paymentMethods call
108
134
*/
0 commit comments