File Coverage

blib/lib/Business/OnlinePayment/Litle/ErrorCodes.pm
Criterion Covered Total %
statement 12 15 80.0
branch 0 2 0.0
condition 0 3 0.0
subroutine 4 5 80.0
pod 1 1 100.0
total 17 26 65.3


line stmt bran cond sub pod time code
1             package Business::OnlinePayment::Litle::ErrorCodes;
2 4     4   30 use strict;
  4         9  
  4         123  
3 4     4   21 use warnings;
  4         9  
  4         209  
4              
5             our $VERSION = '0.958'; # VERSION
6 4     4   27 use Exporter 'import';
  4         10  
  4         145  
7 4     4   24 use vars qw(@EXPORT_OK);
  4         10  
  4         2186  
8              
9             @EXPORT_OK = qw(lookup %ERRORS);
10              
11             our %ERRORS;
12              
13             # ABSTRACT: Business::OnlinePayment::Litle::ErrorCodes - Error code hash
14              
15              
16             sub lookup {
17 0     0 1   my $code = shift;
18 0 0 0       return if not $code or not defined $ERRORS{$code};
19 0           return $ERRORS{$code};
20             }
21              
22              
23             %ERRORS = (
24             '000' => {
25             notes => 'Approved'
26             },
27             '010' => {
28             notes => 'Partially Approved'
29             },
30             '100' => {
31             notes => 'Processing Network Unavailable',
32             reason => 'Visa/MC network is down',
33             status => 'Soft',
34             },
35             '101' => {
36             notes => 'Issuer Unavailable',
37             reason => 'Issuing bank network is down',
38             status => 'Soft',
39             },
40             '102' => {
41             notes => 'Re-submit Transaction',
42             reason => 'Transaction was not accepted - please resubmit',
43             status => 'Soft',
44             },
45             '110' => {
46             notes => 'Insufficient Funds',
47             reason => 'Cardholder does not have funds available',
48             status => 'Soft',
49             failure => 'nsf',
50             },
51             '111' => {
52             notes => 'Authorization amount has already been depleted',
53             },
54             '120' => {
55             notes => 'Call Issuer',
56             reason => 'Call Issuing Bank for details related to the decline',
57             status => 'Soft',
58             },
59             '121' => {
60             notes => 'Call AMEX',
61             reason => 'Call Amex for details related to the decline',
62             status => 'Soft',
63             },
64             '122' => {
65             notes => 'Call Diners Club',
66             reason => 'Call Diners Club for details related to the decline',
67             status => 'Soft',
68             },
69             '123' => {
70             notes => 'Call Discover',
71             reason => 'Call Discover for details related to the decline',
72             status => 'Soft',
73             },
74             '124' => {
75             notes => 'Call JBS',
76             reason => 'Call JBS for details related to the decline',
77             status => 'Soft',
78             },
79             '125' => {
80             notes => 'Call Visa/MasterCard',
81             reason => 'Call Visa/MC for details related to the decline',
82             status => 'Soft',
83             },
84             '126' => {
85             notes => 'Call Issuer - Update Cardholder Data',
86             reason => 'Call Issuing Bank for details related to the decline',
87             status => 'Soft',
88             },
89             '127' => {
90             notes => 'Exceeds Approval Amount Limit',
91             reason => 'Cardholder has a maximum transaction amount that was exceeded',
92             status => 'Soft',
93             },
94             '130' => {
95             notes => 'Call Indicated Number',
96             reason => 'Call the indicated phone number for details related to the decline',
97             status => 'Soft',
98             },
99             '140' => {
100             notes => 'Update Cardholder Data',
101             reason => 'Submitted Cardholder Data is not correct',
102             status => 'Hard',
103             },
104             '191' => {
105             notes => 'The merchant is not registered in the update program.'
106             },
107             '301' => {
108             notes => 'Invalid Account Number',
109             reason => 'Credit Card number is not correct',
110             status => 'Hard',
111             },
112             '302' => {
113             notes => 'Account Number Does Not Match Payment Type',
114             reason => 'Credit Card number does not match credit card type',
115             status => 'Hard',
116             },
117             '303' => {
118             notes => 'Pick Up Card',
119             reason => 'In card-present situation, this is a request to retain the card from the customer',
120             status => 'Hard',
121             failure => 'pickup',
122             },
123             '304' => {
124             notes => 'Lost/Stolen Card',
125             reason => 'The credit card was reported as lost or stolen',
126             status => 'Hard',
127             failure => 'stolen',
128             },
129             '305' => {
130             notes => 'Expired Card',
131             reason => 'The card is no longer valid',
132             status => 'Hard',
133             failure => 'expired',
134             },
135             '306' => {
136             notes => 'Authorization has expired; no need to reverse',
137             },
138             '307' => {
139             notes => 'Restricted Card',
140             reason => 'There are either cardholder or merchant restrictions on the card',
141             status => 'Hard',
142             },
143             '308' => {
144             notes => 'Restricted Card - Chargeback'
145             },
146             '310' => {
147             notes => 'Invalid track data'
148             },
149             '311' => {
150             notes => 'Deposit is already referenced by a chargeback'
151             },
152             '320' => {
153             notes => 'Invalid Expiration Date',
154             reason => 'The expiration date submitted is not correct',
155             status => 'Hard',
156             },
157             '321' => {
158             notes => 'Invalid Merchant',
159             reason => 'The cardholder is not allowed to submit transactions to you the merchant',
160             status => 'Hard',
161             },
162             '322' => {
163             notes => 'Invalid Transaction',
164             reason => 'The merchant is not allowed to process transactions from this card',
165             status => 'Hard',
166             },
167             '323' => {
168             notes => 'No such issuer',
169             reason => 'Credit Card is not valid as it is not a bank issued card',
170             status => 'Hard',
171             },
172             '324' => {
173             notes => 'Invalid Pin',
174             reason => 'PIN is not correct',
175             status => 'Hard',
176             },
177             '325' => {
178             notes => 'Transaction not allowed at terminal',
179             reason => 'The merchant is not allowed to process POS transactions from this card',
180             status => 'Hard',
181             },
182             '326' => {
183             notes => 'Exceeds number of PIN entries',
184             reason => 'Too many invalid PIN entries occurred',
185             status => 'Hard',
186             },
187             '327' => {
188             notes => 'Cardholder transaction not permitted',
189             reason => 'The merchant is not allowed to process transactions from this card',
190             status => 'Hard',
191             },
192             '328' => {
193             notes => 'Cardholder requested that recurring or installment payment be stopped',
194             reason => 'The merchant should cancel recurring or installment relationship with credit card holder',
195             status => 'Hard',
196             },
197             '330' => {
198             notes => 'Invalid Payment Type',
199             reason => 'The merchant does not accept payment type',
200             status => 'Hard',
201             },
202             '335' => {
203             notes => 'This method of payment does not support authorization reversals'
204             },
205             '340' => {
206             notes => 'Invalid Amount'
207             },
208             '346' => {
209             notes => 'Invalid billing descriptor prefix'
210             },
211             '347' => {
212             notes => 'Invalid billing descriptor'
213             },
214             '349' => {
215             notes => 'Do Not Honor',
216             reason => 'Cardholder transactions are temporarily held pending issuing bank query with cardholder',
217             status => 'Soft',
218             },
219             '350' => {
220             notes => 'Generic Decline',
221             reason => 'Nondescript decline. Call issuing bank for details related to the decline',
222             status => 'Soft',
223             },
224             '351' => {
225             notes => 'Decline - Request Positive ID',
226             reason => 'Cardholder transactions not permitted without identification confirmation',
227             status => 'Soft',
228             },
229             '352' => {
230             notes => 'Decline CVV2/CID Fail',
231             reason => 'CVV2/CID code is not correct and transaction is not approved due to this',
232             status => 'Hard',
233             },
234             '353' => {
235             notes => 'Merchant requested decline due to AVS result'
236             },
237             '354' => {
238             notes => '3-D Secure transaction not supported by merchant'
239             },
240             '355' => {
241             notes => 'Failed velocity check'
242             },
243             '356' => {
244             notes => 'Invalid purchase level III, the transaction contained bad or missing data'
245             },
246             '360' => {
247             notes => 'No transaction found with specified litleTxnId'
248             },
249             '361' => {
250             notes => 'Authorization no longer available'
251             },
252             '362' => {
253             notes => 'Transaction Not Voided - Already Settled'
254             },
255             '363' => {
256             notes => 'Auto-void on refund'
257             },
258             '365' => {
259             notes => 'Total credit amount exceeds capture amount'
260             },
261             '370' => {
262             notes => 'Internal System Error - Call Litle',
263             reason => 'Call Litle & Co. for details related to the decline',
264             status => 'Hard',
265             },
266             '400' => {
267             notes => 'No Email Notification was sent for the transaction'
268             },
269             '401' => {
270             notes => 'Invalid Email Address'
271             },
272             '500' => {
273             notes => 'The account number was changed'
274             },
275             '501' => {
276             notes => 'The account was closed'
277             },
278             '502' => {
279             notes => 'The expiration date was changed'
280             },
281             '503' => {
282             notes => 'The issuing bank does not participate in the update program'
283             },
284             '504' => {
285             notes => 'Contact the cardholder for updated information'
286             },
287             '505' => {
288             notes => 'No match found'
289             },
290             '506' => {
291             notes => 'No changes found'
292             },
293             '601' => {
294             notes => 'Soft Decline - Primary Funding Source Failed'
295             },
296             '602' => {
297             notes => 'Soft Decline - Buyer has alternate funding source'
298             },
299             '610' => {
300             notes => 'Hard Decline - Invalid Billing Agreement Id'
301             },
302             '611' => {
303             notes => 'Hard Decline - Primary Funding Source Failed'
304             },
305             '612' => {
306             notes => 'Hard Decline - Issue with Paypal Account'
307             },
308             '701' => {
309             notes => 'Under 18 years old'
310             },
311             '702' => {
312             notes => 'Bill to outside USA'
313             },
314             '703' => {
315             notes => 'Bill to address is not equal to ship to address'
316             },
317             '704' => {
318             notes => 'Declined, foreign currency, must be USD'
319             },
320             '705' => {
321             notes => 'On negative file'
322             },
323             '706' => {
324             notes => 'Blocked agreement'
325             },
326             '707' => {
327             notes => 'Insufficient buying power'
328             },
329             '708' => {
330             notes => 'Invalid Data'
331             },
332             '709' => {
333             notes => 'Invalid Data - data elements missing'
334             },
335             '710' => {
336             notes => 'Invalid Data - data format error'
337             },
338             '711' => {
339             notes => 'Invalid Data - Invalid T&C version'
340             },
341             '712' => {
342             notes => 'Duplicate transaction'
343             },
344             '713' => {
345             notes => 'Verify billing address'
346             },
347             '714' => {
348             notes => 'Inactive Account'
349             },
350             '716' => {
351             notes => 'Invalid Auth'
352             },
353             '717' => {
354             notes => 'Authorization already exists for the order'
355             },
356             '900' => {
357             notes => 'Invalid Bank Routing Number'
358             }
359             );
360             1;
361              
362             __END__