@@ -27,6 +27,20 @@ def test_payment_methods_success_mocked(self):
2727 self .assertEqual ("Credit Card via AsiaPay" ,
2828 result .message ['paymentMethods' ][3 ]['name' ])
2929
30+ def test_payment_methods_error_mocked (self ):
31+ request = {'merchantAccount' : "YourMerchantAccount" }
32+ self .ady .client = self .test .create_client_from_file (200 , request ,
33+ "test/mocks/"
34+ "checkout/"
35+ "paymentmethods-"
36+ "error-forbidden"
37+ "-403.json" )
38+ result = self .ady .checkout .payment_methods (request )
39+ self .assertEqual (403 , result .message ['status' ])
40+ self .assertEqual ("901" , result .message ['errorCode' ])
41+ self .assertEqual ("Invalid Merchant Account" , result .message ['message' ])
42+ self .assertEqual ("security" , result .message ['errorType' ])
43+
3044 def test_payments_success_mocked (self ):
3145 request = {'amount' : {"value" : "100000" , "currency" : "EUR" },
3246 'reference' : "123456" , 'paymentMethod' : {
@@ -52,6 +66,30 @@ def test_payments_success_mocked(self):
5266 self .assertEqual ("GREEN" ,
5367 result .message ["additionalData" ]['fraudResultType' ])
5468
69+ def test_payments_error_mocked (self ):
70+ request = {'amount' : {"value" : "100000" , "currency" : "EUR" },
71+ 'reference' : "54431" , 'paymentMethod' : {
72+ "type" : "scheme" ,
73+ "number" : "4111111111111111" ,
74+ "expiryMonth" : "08" ,
75+ "expiryYear" : "2018" ,
76+ "holderName" : "John Smith" ,
77+ "cvc" : "737"
78+ }, 'merchantAccount' : "YourMerchantAccount" ,
79+ 'returnUrl' : "https://your-company.com/..." }
80+
81+ self .ady .client = self .test .create_client_from_file (200 , request ,
82+ "test/mocks/"
83+ "checkout/"
84+ "payments-error"
85+ "-invalid-data-422"
86+ ".json" )
87+ result = self .ady .checkout .payments (request )
88+ self .assertEqual (422 , result .message ['status' ])
89+ self .assertEqual ("130" , result .message ['errorCode' ])
90+ self .assertEqual ("Reference Missing" , result .message ['message' ])
91+ self .assertEqual ("validation" , result .message ['errorType' ])
92+
5593 def test_payments_details_success_mocked (self ):
5694 request = {'paymentData' : "Hee57361f99...." , 'details' : {
5795 "MD" : "sdfsdfsdf..." ,
@@ -70,6 +108,23 @@ def test_payments_details_success_mocked(self):
70108 self .assertEqual ("AUTHORISED" ,
71109 result .message ['additionalData' ]['refusalReasonRaw' ])
72110
111+ def test_payments_details_error_mocked (self ):
112+ request = {'paymentData' : "Hee57361f99...." , 'details' : {
113+ "MD" : "sdfsdfsdf..." ,
114+ "PaRes" : "sdkfhskdjfsdf..."
115+ }}
116+ self .ady .client = self .test .create_client_from_file (200 , request ,
117+ "test/mocks/"
118+ "checkout/"
119+ "paymentsdetails"
120+ "-error-invalid-"
121+ "data-422.json" )
122+ result = self .ady .checkout .payments_details (request )
123+ self .assertEqual (422 , result .message ['status' ])
124+ self .assertEqual ("101" , result .message ['errorCode' ])
125+ self .assertEqual ("Invalid card number" , result .message ['message' ])
126+ self .assertEqual ("validation" , result .message ['errorType' ])
127+
73128 def test_payments_session_success_mocked (self ):
74129 request = {"reference" : "Your order number" ,
75130 "shopperReference" : "yourShopperId_IOfW3k9G2PvXFu2j" ,
@@ -89,6 +144,30 @@ def test_payments_session_success_mocked(self):
89144 result = self .ady .checkout .payment_session (request )
90145 self .assertIsNotNone (result .message ['paymentSession' ])
91146
147+ def test_payments_session_error_mocked (self ):
148+ request = {"reference" : "Your wro order number" ,
149+ "shopperReference" : "yourShopperId_IOfW3k9G2PvXFu2j" ,
150+ "channel" : "iOS" ,
151+ "token" : "WRONG_TOKEN" ,
152+ "returnUrl" : "app://" , "countryCode" : "NL" ,
153+ "shopperLocale" : "nl_NL" ,
154+ "sessionValidity" : "2017-04-06T13:09:13Z" ,
155+ "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" ,
156+ 'amount' : {"value" : "17408" , "currency" : "EUR" }}
157+
158+ self .ady .client = self .test .create_client_from_file (200 , request ,
159+ "test/mocks/"
160+ "checkout/"
161+ "paymentsession"
162+ "-error-invalid-"
163+ "data-422.json" )
164+ result = self .ady .checkout .payment_session (request )
165+ self .assertEqual (422 , result .message ['status' ])
166+ self .assertEqual ("14_012" , result .message ['errorCode' ])
167+ self .assertEqual ("The provided SDK token could not be parsed." ,
168+ result .message ['message' ])
169+ self .assertEqual ("validation" , result .message ['errorType' ])
170+
92171 def test_payments_result_success_mocked (self ):
93172 request = {"payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" }
94173 self .ady .client = self .test .create_client_from_file (200 , request ,
@@ -99,3 +178,18 @@ def test_payments_result_success_mocked(self):
99178 result = self .ady .checkout .payment_result (request )
100179 self .assertEqual ("8535253563623704" , result .message ['pspReference' ])
101180 self .assertEqual ("Authorised" , result .message ['resultCode' ])
181+
182+ def test_payments_result_error_mocked (self ):
183+ request = {"payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" }
184+ self .ady .client = self .test .create_client_from_file (200 , request ,
185+ "test/mocks/"
186+ "checkout/"
187+ "paymentsresult"
188+ "-error-invalid-"
189+ "data-payload-"
190+ "422.json" )
191+ result = self .ady .checkout .payment_result (request )
192+ self .assertEqual (422 , result .message ['status' ])
193+ self .assertEqual ("14_018" , result .message ['errorCode' ])
194+ self .assertEqual ("Invalid payload provided" , result .message ['message' ])
195+ self .assertEqual ("validation" , result .message ['errorType' ])
0 commit comments