-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathASResponseCodes.py
More file actions
119 lines (112 loc) · 3.98 KB
/
ASResponseCodes.py
File metadata and controls
119 lines (112 loc) · 3.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
__author__ = 'arthurvandermerwe'
_AS2805ResponseText = {
"00": "Approved or completed successfully",
"01": "Refer to card issuer",
"02": "Refer to card issuer, special condition",
"03": "Invalid merchant",
"04": "Pick-up card",
"05": "Do not honor",
"06": "Error",
"07": "Pick-up card, special condition",
"08": "Honor with identification",
"09": "Request in progress",
"10": "Approved, partial",
"11": "Approved, VIP",
"12": "Invalid transaction",
"13": "Invalid amount",
"14": "Invalid card number",
"15": "No such issuer",
"16": "Approved, update track 3",
"17": "Customer cancellation",
"18": "Customer dispute",
"19": "Re-enter transaction",
"20": "Invalid response",
"21": "No action taken",
"22": "Suspected malfunction",
"23": "Unacceptable transaction fee",
"24": "File update not supported",
"25": "Unable to locate record",
"26": "Duplicate record",
"27": "File update field edit error",
"28": "File update file locked",
"29": "File update failed",
"30": "Format error",
"31": "Bank not supported",
"32": "Completed partially",
"33": "Expired card, pick-up",
"34": "Suspected fraud, pick-up",
"35": "Contact acquirer, pick-up",
"36": "Restricted card, pick-up",
"37": "Call acquirer security, pick-up",
"38": "PIN tries exceeded, pick-up",
"39": "No credit account",
"40": "Function not supported",
"41": "Lost card, pick-up",
"42": "No universal account",
"43": "Stolen card, pick-up",
"44": "No investment account",
"45": "Account closed",
"46": "Identification required",
"47": "Identification cross-check required",
"48": "Reserved for future use",
"49": "Reserved for future use",
"50": "Reserved for future use",
"51": "Not sufficient funds",
"52": "No check account",
"53": "No savings account",
"54": "Expired card",
"55": "Incorrect PIN",
"56": "No card record",
"57": "Transaction not permitted to cardholder",
"58": "Transaction not permitted on terminal",
"59": "Suspected fraud",
"60": "Contact acquirer",
"61": "Exceeds withdrawal limit",
"62": "Restricted card",
"63": "Security violation",
"64": "Original amount incorrect",
"65": "Exceeds withdrawal frequency",
"66": "Call acquirer security",
"67": "Hard capture",
"68": "Response received too late",
"69": "Advice received too late",
"70": "Reserved for future use",
"71": "Reserved for future use",
"72": "Reserved for future use",
"73": "Reserved for future use",
"74": "Reserved for future use",
"75": "PIN tries exceeded",
"76": "Reserved for future use",
"77": "Intervene, bank approval required",
"78": "Intervene, bank approval required for partial amount",
"79": "Reserved for client-specific use (declined)",
"80": "Reserved for client-specific use (declined)",
"81": "Reserved for client-specific use (declined)",
"82": "Reserved for client-specific use (declined)",
"83": "Reserved for client-specific use (declined)",
"84": "Reserved for client-specific use (declined)",
"85": "Reserved for client-specific use (declined)",
"86": "Reserved for client-specific use (declined)",
"87": "Reserved for client-specific use (declined)",
"88": "Reserved for client-specific use (declined)",
"89": "Reserved for client-specific use (declined)",
"90": "Cut-off in progress",
"91": "Issuer or switch inoperative",
"92": "Routing error",
"93": "Violation of law",
"94": "Duplicate transaction",
"95": "Reconcile error",
"96": "System malfunction",
"97": "Reserved for future use",
"98": "Exceeds cash limit",
"99": "Reserved for future use"}
def GetISOResponseText(code):
txt = "Unmapped Response"
try:
txt = _AS2805ResponseText[code]
except:
pass
return txt
if __name__ == '__main__':
print GetISOResponseText("00")
print GetISOResponseText("PP")