@@ -86,23 +86,49 @@ public void TestPaymentSuccess() throws Exception {
8686 * Should be able to stringify and parse paymentMethod in CheckoutPaymentRequest (test oneOf serialization and deserialization)
8787 */
8888 @ 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" );
10091
10192 PaymentRequest parsedCheckoutPaymentRequest = PaymentRequest .fromJson (paymentRequestJson );
93+
94+ // paymentMethod
10295 assertEquals (IdealDetails .TypeEnum .IDEAL , parsedCheckoutPaymentRequest .getPaymentMethod ().getIdealDetails ().getType ());
96+ assertEquals ("issuerName" , parsedCheckoutPaymentRequest .getPaymentMethod ().getIdealDetails ().getIssuer ());
97+ // amount
98+ assertEquals (1000L , parsedCheckoutPaymentRequest .getAmount ().getValue ().longValue ());
10399 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 ());
104106 }
105107
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+ }
106132 /**
107133 * Should make paymentMethods call
108134 */
0 commit comments