From 9b7e68007441b60ffbafd11614a4a48ba5ba037b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Faure-Lacroix?= Date: Thu, 6 Sep 2018 06:53:57 +0300 Subject: [PATCH 1/2] Update response code and better use of Exceptions --- beanstream/convert.py | 53 + beanstream/errors.py | 6 +- beanstream/gateway.py | 3 +- beanstream/response_codes.py | 5380 +++++++++++++++++++++++++++++----- beanstream/transaction.py | 14 +- 5 files changed, 4663 insertions(+), 793 deletions(-) create mode 100644 beanstream/convert.py diff --git a/beanstream/convert.py b/beanstream/convert.py new file mode 100644 index 0000000..2d63917 --- /dev/null +++ b/beanstream/convert.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +types = { + 'B': 'Bambora', + 'TD': 'TD', + 'FD': 'First Data', + 'UK': 'UK', + 'G': 'Global Payments', + 'V': 'Vital', + 'EL': 'Elavon', + 'E': 'Elavon', + 'EFT': 'EFT', + 'E/A': 'EBP/ACH', + 'PT': 'Paymentech', + 'IOP': 'INTERAC Online', + 'EMV': 'Europay, Mastercard, Visa', + 'DJN': 'Desjardins', +} + +import csv +import json + +messages = {} + +def is_approved(message): + message_up = message.upper() + if ( + 'approved'.upper() in message_up or + 'approval'.upper() in message_up and + not 'duplicate'.upper() in message_up + ): + return True + return False + +def make_line(line): + return str(line[0]), { + "type": types[line[1].upper()], + "approved": is_approved(line[3]), + "cardholder_message": line[2], + "merchant_message": line[3], + } + +for line in csv.reader(open('messages.csv')): + if '-' in line[0]: + from_id, to_id = line[0].split('-') + from_id, to_id = int(from_id), int(to_id) + for id in range(from_id, to_id+1): + id2, value = make_line(line) + messages[id2] = value + else: + id2, value = make_line(line) + messages[id2] = value + +print(json.dumps(messages, indent=2)) diff --git a/beanstream/errors.py b/beanstream/errors.py index e632790..344019f 100644 --- a/beanstream/errors.py +++ b/beanstream/errors.py @@ -47,6 +47,9 @@ class ForbiddenException(BeanstreamApiException):#HTTP status code 403 class InternalServerException(BeanstreamApiException):#default pass +class NotFoundException(BeanstreamApiException): + pass + def getMappedException(httpstatuscode): code=str(httpstatuscode) @@ -61,7 +64,8 @@ def getMappedException(httpstatuscode): error_dict={ '1':UnAuthorizedException, '2':BusinessRuleException, - '3':ForbiddenException + '3':ForbiddenException, + '4':NotFoundException, } if code in error_dict: return error_dict[code] diff --git a/beanstream/gateway.py b/beanstream/gateway.py index 084e602..0cc4276 100644 --- a/beanstream/gateway.py +++ b/beanstream/gateway.py @@ -265,12 +265,13 @@ def get_legato_token(self, card_number, expiry_month, expiry_year, cvd): headers={ 'Content-Type': 'application/json' } - connection = HTTPSConnection('www.beanstream.com') + connection = HTTPSConnection('dev.na.bambora.com') result = None try: connection.request('POST', '/scripts/tokenization/tokens', data, headers) response = connection.getresponse() body = response.read() + print(body) body = body.decode('utf-8') result = json.loads(body) diff --git a/beanstream/response_codes.py b/beanstream/response_codes.py index 494cfae..16ec4fb 100644 --- a/beanstream/response_codes.py +++ b/beanstream/response_codes.py @@ -1,790 +1,4602 @@ -''' -Copyright 2012 Upverter Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -''' - -# Beanstream response codes taken from 'Response Codes and Messages' document -# last updated 2011/11/22 -# pylint: disable=C0301 response_codes = { - '1': {'type': 'NDC', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '2': {'type': 'NDC', 'approved': True, 'cardholder_message': 'Debit approved', 'merchant_message': 'Debit approved'}, - '3': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Declined - Please call credit agency'}, - '4': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Issuer unavailable', 'merchant_message': 'Issuer unavailable'}, - '5': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Invalid banking merchant ID', 'merchant_message': 'Invalid banking merchant ID'}, - '6': {'type': 'NDC', 'approved': False, 'cardholder_message': 'PIC UP', 'merchant_message': 'PIC UP'}, - '7': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Transaction Declined'}, - '8': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Transaction reversed', 'merchant_message': 'Transaction reversed'}, - '9': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Approved with ID', 'merchant_message': 'Approved with ID'}, - '10': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Invalid serv ID', 'merchant_message': 'Invalid serv ID'}, - '11': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Invalid transaction amount', 'merchant_message': 'Invalid transaction amount'}, - '12': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Invalid account', 'merchant_message': 'Invalid account'}, - '13': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Please retry transaction', 'merchant_message': 'Please retry transaction'}, - '14': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid expiration date', 'merchant_message': 'Invalid expiration date'}, - '15': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Unauthorized transaction', 'merchant_message': 'Unauthorized transaction'}, - '16': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Duplicate Transaction - This transaction has already been approved', 'merchant_message': 'Duplicate Transaction - This transaction has already been approved'}, - '17': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Current batch must be settled', 'merchant_message': 'Current batch must be settled'}, - '18': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Electronic Draft Capture unavailable', 'merchant_message': 'Electronic Draft Capture unavailable'}, - '19': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Unexpected error', 'merchant_message': 'Unexpected error'}, - '20': {'type': 'NDC', 'approved': False, 'cardholder_message': 'License has expired - Unable to authorize', 'merchant_message': 'License has expired - Unable to authorize'}, - '21': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Validation is less than the minimum amount', 'merchant_message': 'Validation is less than the minimum amount'}, - '22': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Validation greater than maximum amount', 'merchant_message': 'Validation greater than maximum amount'}, - '23': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Validation - Bad data', 'merchant_message': 'Validation - Bad data'}, - '24': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Bad card number', 'merchant_message': 'Bad card number'}, - '25': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Bad card', 'merchant_message': 'Bad card'}, - '26': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid expiry date', 'merchant_message': 'Invalid expiry date'}, - '27': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Timer Exceeded', 'merchant_message': 'Timer Exceeded'}, - '28': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Bad logical merchant number', 'merchant_message': 'Bad logical merchant number'}, - '29': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Security Violation', 'merchant_message': 'Security Violation'}, - '30': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Com Port Open Error', 'merchant_message': 'Com Port Open Error'}, - '31': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Max Com Reties', 'merchant_message': 'Max Com Reties'}, - '32': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Open File Error', 'merchant_message': 'Open File Error'}, - '33': {'type': 'NDC', 'approved': False, 'cardholder_message': 'User or Remote Abort', 'merchant_message': 'User or Remote Abort'}, - '34': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Com Error', 'merchant_message': 'Com Error'}, - '35': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Error expired license', 'merchant_message': 'Error expired license'}, - '36': {'type': 'NDC', 'approved': False, 'cardholder_message': 'No Pickup', 'merchant_message': 'No Pickup'}, - '37': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Incomplete', 'merchant_message': 'Incomplete'}, - '38': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Communication error', 'merchant_message': 'Communication error'}, - '39': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Error Tranaction Type', 'merchant_message': 'Error Tranaction Type'}, - '40': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Error Data Dictionary', 'merchant_message': 'Error Data Dictionary'}, - '41': {'type': 'NDC', 'approved': False, 'cardholder_message': 'ErrorGetSc', 'merchant_message': 'ErrorGetSc'}, - '42': {'type': 'NDC', 'approved': False, 'cardholder_message': 'ErrorExeSc', 'merchant_message': 'ErrorExeSc'}, - '43': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Error Velocity', 'merchant_message': 'Error Velocity'}, - '44': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Error Stale Dated Input File', 'merchant_message': 'Error Stale Dated Input File'}, - '45': {'type': 'NDC', 'approved': False, 'cardholder_message': 'ForcdCmplt', 'merchant_message': 'ForcdCmplt'}, - '46': {'type': 'NDC', 'approved': False, 'cardholder_message': 'ErrorSrvNr', 'merchant_message': 'ErrorSrvNr'}, - '47': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Printer configuration error', 'merchant_message': 'Printer configuration error'}, - '48': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Card reader configuration error', 'merchant_message': 'Card reader configuration error'}, - '49': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid transaction request string', 'merchant_message': 'Invalid transaction request string'}, - '50': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid transaction type', 'merchant_message': 'Invalid transaction type'}, - '51': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Restricted Card or IP'}, - '52': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid Card Number', 'merchant_message': 'Invalid Card Number'}, - '53': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Application Error - Sending Request', 'merchant_message': 'Application Error - Sending Request'}, - '54': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction timeout - No available device', 'merchant_message': 'Transaction timeout - No available device'}, - '55': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction timeout - No transaction Response', 'merchant_message': 'Transaction timeout - No transaction Response'}, - '56': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Aplication Error - Retrieving Response', 'merchant_message': 'Aplication Error - Retrieving Response'}, - '57': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Transaction Amount greater than processing limit.', 'merchant_message': 'Transaction Amount greater than processing limit.'}, - '58': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Declined'}, - '59': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Declined - Operation must be performed by Master Merchant', 'merchant_message': 'Declined - Operation must be performed by Master Merchant'}, - '60': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Declined - Operation restricted through Master Merchant', 'merchant_message': 'Declined - Operation restricted through Master Merchant'}, - '61': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '62': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '63': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '64': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '65': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '66': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '67': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '68': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '69': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '70': {'type': 'TD Bank', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '71': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '72': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined EXPIRED CARD', 'merchant_message': 'Declined EXPIRED CARD'}, - '73': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '74': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '75': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '76': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'PLEASE TRY AGAIN', 'merchant_message': 'PLEASE TRY AGAIN'}, - '77': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '78': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '79': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '80': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '81': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '82': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '83': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '84': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '85': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '86': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'PLEASE TRY AGAIN', 'merchant_message': 'Declined'}, - '87': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined ADJ NOT ALLOWED'}, - '88': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '89': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined INVALID TRAN DATE'}, - '90': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '91': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'PLEASE TRY AGAIN', 'merchant_message': 'Declined'}, - '92': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '93': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '94': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '95': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '96': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '97': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '98': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '99': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '100': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined DUPLICATE TRAN'}, - '101': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '102': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '103': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined MAX PER REFUND'}, - '104': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined NUM TIMES USED'}, - '105': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined MAX REFUND TOTAL'}, - '106': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '107': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '108': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '109': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined MAX REFUND NUMBER'}, - '110': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '111': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '112': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '113': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '114': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '115': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '116': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '117': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '118': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '119': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '120': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '121': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '122': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '123': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Call for Auth', 'merchant_message': 'Call for Auth'}, - '124': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '125': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '126': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '127': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined CARD NOT SUPPORTED'}, - '128': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '129': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '130': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '131': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '132': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '133': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '134': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '135': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '136': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '137': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '138': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '139': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined SERVICE MERCHANT NOT ON FILE'}, - '140': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '141': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '142': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '143': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '144': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '145': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '146': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '147': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined INVALID TRAN DATE'}, - '148': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined INVALID EXP DATE'}, - '149': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined INVALID TRANCODE'}, - '150': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '151': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '152': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '153': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '154': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined BAD FORMAT'}, - '155': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined BAD DATA'}, - '156': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '157': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '158': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'PLEASE TRY AGAIN', 'merchant_message': 'Declined - TIMEOUT'}, - '159': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '160': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined TERMINAL DEACTIVATED'}, - '161': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined BAD RESPONSE LENGTH'}, - '162': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '163': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '164': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '165': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '166': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined BAD SEQUENCE NUMBER'}, - '167': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '168': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined EXPIRED CARD'}, - '169': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '170': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '171': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '172': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '173': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '174': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '175': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '176': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '177': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined ADMIN CARD NOT FOUND'}, - '178': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined ADMIN CARD NOT ALLOWED'}, - '179': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '180': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '181': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '182': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '183': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '184': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '185': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '186': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '187': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '188': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '189': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '190': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Unknown transaction response', 'merchant_message': 'Unknown transaction response'}, - '191': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid Transaction Amount', 'merchant_message': 'Invalid Transaction Amount'}, - '192': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction cannot be voided after being returned', 'merchant_message': 'Transaction cannot be voided after being returned'}, - '193': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Amount does not match the transaction you are modifying.', 'merchant_message': 'Amount does not match the transaction you are modifying.'}, - '194': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction exceeds return limit.', 'merchant_message': 'Transaction exceeds return limit.'}, - '195': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid adjustment amount.', 'merchant_message': 'Invalid adjustment amount.'}, - '196': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Original purchase transaction has been voided', 'merchant_message': 'Original purchase transaction has been voided'}, - '197': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transactions cannot be adjusted to a zero or negative value', 'merchant_message': 'Transactions cannot be adjusted to a zero or negative value'}, - '198': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Zero value transactions cannot be voided', 'merchant_message': 'Zero value transactions cannot be voided'}, - '199': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Credit card does not match original purchase.', 'merchant_message': 'Credit card does not match original purchase.'}, - '200': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction cannot be adjusted', 'merchant_message': 'Transaction cannot be adjusted'}, - '201': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid transaction adjustment ID', 'merchant_message': 'Invalid transaction adjustment ID'}, - '202': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid order number', 'merchant_message': 'Invalid order number'}, - '203': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Pre-Authorization already completed', 'merchant_message': 'Pre-Authorization already completed'}, - '204': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Declined: Use Pre-Auth Completion', 'merchant_message': 'Declined: Use Pre-Auth Completion'}, - '205': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction only voidable on the date processed', 'merchant_message': 'Transaction only voidable on the date processed'}, - '206': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Account missing terminal id', 'merchant_message': 'Account missing terminal id'}, - '207': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid merchant id', 'merchant_message': 'Invalid merchant id'}, - '208': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Completion greater than remaining reserve amount.', 'merchant_message': 'Completion greater than remaining reserve amount.'}, - '209': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Merchant Account Disabled', 'merchant_message': 'Merchant Account Disabled'}, - '210': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Merchant Account Closed', 'merchant_message': 'Merchant Account Closed'}, - '211': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '212': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '213': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Invalid or missing AVS address', 'merchant_message': 'Invalid or missing AVS address'}, - '214': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction reversed', 'merchant_message': 'Transaction reversed'}, - '215': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Address Validation Failed', 'merchant_message': 'Address Validation Failed'}, - '216': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Validation greater than maximum amount', 'merchant_message': 'Validation greater than maximum amount'}, - '217': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Transaction Declined TR'}, - '218': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Transaction Declined AC'}, - '219': {'type': 'NDC', 'approved': False, 'cardholder_message': 'PIN INVLD', 'merchant_message': 'PIN INVLD'}, - '220': {'type': 'NDC', 'approved': False, 'cardholder_message': 'MAX PIN RETRIES', 'merchant_message': 'MAX PIN RETRIES'}, - '221': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INV ACCT MATCH', 'merchant_message': 'INV ACCT MATCH'}, - '222': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INV AMT MATCH', 'merchant_message': 'INV AMT MATCH'}, - '223': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INV ITEM NUM', 'merchant_message': 'INV ITEM NUM'}, - '224': {'type': 'NDC', 'approved': False, 'cardholder_message': 'ITEM REV-VOIDED', 'merchant_message': 'ITEM REV-VOIDED'}, - '225': {'type': 'NDC', 'approved': False, 'cardholder_message': 'USE DUP THEN BALANCE NOW', 'merchant_message': 'USE DUP THEN BALANCE NOW'}, - '226': {'type': 'NDC', 'approved': False, 'cardholder_message': 'NO DUPE FOUND', 'merchant_message': 'NO DUPE FOUND'}, - '227': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID DATA', 'merchant_message': 'INVALID DATA'}, - '228': {'type': 'NDC', 'approved': False, 'cardholder_message': 'NO TRANS FOUND', 'merchant_message': 'NO TRANS FOUND'}, - '229': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AP NOT CAPTURED', 'merchant_message': 'AP NOT CAPTURED'}, - '230': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AP AUTH ONLY', 'merchant_message': 'AP AUTH ONLY'}, - '231': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INV BANK', 'merchant_message': 'INV BANK'}, - '232': {'type': 'NDC', 'approved': False, 'cardholder_message': 'TRAN TYPE INVLD', 'merchant_message': 'TRAN TYPE INVLD'}, - '233': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DB UNAVAIL 02', 'merchant_message': 'DB UNAVAIL 02'}, - '234': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DB UNAVAIL 03', 'merchant_message': 'DB UNAVAIL 03'}, - '235': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DB UNAVAIL 04', 'merchant_message': 'DB UNAVAIL 04'}, - '236': {'type': 'NDC', 'approved': False, 'cardholder_message': 'UNAUTH USER', 'merchant_message': 'UNAUTH USER'}, - '237': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID CARD', 'merchant_message': 'INVALID CARD'}, - '238': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DB ISSUER UNAVAIL', 'merchant_message': 'DB ISSUER UNAVAIL'}, - '239': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID POS CARD', 'merchant_message': 'INVALID POS CARD'}, - '240': {'type': 'NDC', 'approved': False, 'cardholder_message': 'ACCT TYPE INVLD', 'merchant_message': 'ACCT TYPE INVLD'}, - '241': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID PREFIX', 'merchant_message': 'INVALID PREFIX'}, - '242': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID FIID', 'merchant_message': 'INVALID FIID'}, - '243': {'type': 'NDC', 'approved': False, 'cardholder_message': 'VERIFY', 'merchant_message': 'VERIFY'}, - '244': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID LIC', 'merchant_message': 'INVALID LIC'}, - '245': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID STATE CD', 'merchant_message': 'INVALID STATE CD'}, - '246': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DB UNAVAIL 01', 'merchant_message': 'DB UNAVAIL 01'}, - '247': {'type': 'NDC', 'approved': False, 'cardholder_message': 'SCAN UNAVAILABLE', 'merchant_message': 'SCAN UNAVAILABLE'}, - '248': {'type': 'NDC', 'approved': False, 'cardholder_message': 'EXCEEDS MAX AMT', 'merchant_message': 'EXCEEDS MAX AMT'}, - '249': {'type': 'NDC', 'approved': False, 'cardholder_message': 'EXCEEDS MAX USERS', 'merchant_message': 'EXCEEDS MAX USERS'}, - '250': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID USER ID/PIN', 'merchant_message': 'INVALID USER ID/PIN'}, - '251': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AMOUNT BELOW MINIMUM', 'merchant_message': 'AMOUNT BELOW MINIMUM'}, - '252': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AMOUNT OVER MAXIMUM', 'merchant_message': 'AMOUNT OVER MAXIMUM'}, - '253': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AMOUNT BADLY FORMED', 'merchant_message': 'AMOUNT BADLY FORMED'}, - '254': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID USER ID/PIN', 'merchant_message': 'INVALID USER ID/PIN'}, - '255': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERT. DOES NOT EXIST', 'merchant_message': 'CERT. DOES NOT EXIST'}, - '256': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INV. CERT. FOR STORE', 'merchant_message': 'INV. CERT. FOR STORE'}, - '257': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERTIFICATE CLOSED', 'merchant_message': 'CERTIFICATE CLOSED'}, - '258': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERTIFICATE EXPIRED', 'merchant_message': 'CERTIFICATE EXPIRED'}, - '259': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AMOUNT BELOW MINIMUM', 'merchant_message': 'AMOUNT BELOW MINIMUM'}, - '260': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AMOUNT OVER MAXIMUM', 'merchant_message': 'AMOUNT OVER MAXIMUM'}, - '261': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AMOUNT BADLY FORMED', 'merchant_message': 'AMOUNT BADLY FORMED'}, - '262': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID USER ID/PIN', 'merchant_message': 'INVALID USER ID/PIN'}, - '263': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID AMOUNT', 'merchant_message': 'INVALID AMOUNT'}, - '264': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERT. ALREADY ACTIVE', 'merchant_message': 'CERT. ALREADY ACTIVE'}, - '265': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERT. DOES NOT EXIST', 'merchant_message': 'CERT. DOES NOT EXIST'}, - '266': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID USER ID/PIN', 'merchant_message': 'INVALID USER ID/PIN'}, - '267': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERT. DOES NOT EXIST', 'merchant_message': 'CERT. DOES NOT EXIST'}, - '268': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INV. CERT. FOR STORE', 'merchant_message': 'INV. CERT. FOR STORE'}, - '269': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERTIFICATE REDEEMED', 'merchant_message': 'CERTIFICATE REDEEMED'}, - '270': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERTIFICATE EXPIRED', 'merchant_message': 'CERTIFICATE EXPIRED'}, - '271': {'type': 'NDC', 'approved': False, 'cardholder_message': 'VALIDATION NO MATCH', 'merchant_message': 'VALIDATION NO MATCH'}, - '272': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INCORRECT AMOUNT', 'merchant_message': 'INCORRECT AMOUNT'}, - '273': {'type': 'NDC', 'approved': False, 'cardholder_message': 'VALIDATION NO MATCH', 'merchant_message': 'VALIDATION NO MATCH'}, - '274': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INVALID USER ID/PIN', 'merchant_message': 'INVALID USER ID/PIN'}, - '275': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERT. DOES NOT EXIST', 'merchant_message': 'CERT. DOES NOT EXIST'}, - '276': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INV. TRAN. FOR STORE', 'merchant_message': 'INV. TRAN. FOR STORE'}, - '277': {'type': 'NDC', 'approved': False, 'cardholder_message': 'CERTIFICATE TOO OLD', 'merchant_message': 'CERTIFICATE TOO OLD'}, - '278': {'type': 'NDC', 'approved': False, 'cardholder_message': 'INCORRECT AMOUNT', 'merchant_message': 'INCORRECT AMOUNT'}, - '279': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Velocity >$Daily Max', 'merchant_message': 'Velocity >$Daily Max'}, - '280': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Velocity >%Daily Max', 'merchant_message': 'Velocity >%Daily Max'}, - '281': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Velocity >Bad Daily Max', 'merchant_message': 'Velocity >Bad Daily Max'}, - '282': {'type': 'NDC', 'approved': False, 'cardholder_message': 'AP DUPE', 'merchant_message': 'AP DUPE'}, - '283': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Msg Error', 'merchant_message': 'Msg Error'}, - '284': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Velocity <$Min', 'merchant_message': 'Velocity <$Min'}, - '285': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Velocity <>Avg', 'merchant_message': 'Velocity <>Avg'}, - '286': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Velocity Neg File', 'merchant_message': 'Velocity Neg File'}, - '287': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Err PinPad Config PPxxxxx', 'merchant_message': 'Err PinPad Config PPxxxxx'}, - '288': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Err Settle File Sharing', 'merchant_message': 'Err Settle File Sharing'}, - '289': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Engine Aborted By Request', 'merchant_message': 'Engine Aborted By Request'}, - '290': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Engine Aborted By Request', 'merchant_message': 'Engine Aborted By Request'}, - '291': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '292': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Err Bad Password', 'merchant_message': 'Err Bad Password'}, - '293': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Err Operation Not Permitted', 'merchant_message': 'Err Operation Not Permitted'}, - '294': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Err Archived Batch Not Found', 'merchant_message': 'Err Archived Batch Not Found'}, - '295': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Err Ext.Data Config EDxxxxx', 'merchant_message': 'Err Ext.Data Config EDxxxxx'}, - '296': {'type': 'NDC', 'approved': False, 'cardholder_message': 'Err Ext.Data Failure EDxxxxx', 'merchant_message': 'Err Ext.Data Failure EDxxxxx'}, - '297': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '298': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '299': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '300': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '301': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '302': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '303': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '304': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '305': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '306': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '307': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '308': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '309': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '310': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Service Unavailable - Please try again later', 'merchant_message': 'Service Unavailable - Please try again later'}, - '311': {'type': 'Beanstream', 'approved': False, 'cardholder_message': '3D Secure Failed', 'merchant_message': '3D Secure Failed'}, - '312': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Card type not accepted', 'merchant_message': 'Card type not accepted'}, - '313': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Over sales limit'}, - '314': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Missing or invalid payment information - Please validate all required payment information.', 'merchant_message': 'Missing or invalid consumer payment information'}, - '315': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'HTTPS Connection Required'}, - '316': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'Invalid transaction validation type'}, - '317': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'Authentication Failed'}, - '318': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'No transaction request data received'}, - '319': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'Transaction Declined - Restricted transaction type'}, - '320': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'Missing errorPage URL'}, - '321': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'Missing or invalid return URL'}, - '322': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'Transaction amount does not match inventory calculation'}, - '323': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'One or more products not found in inventory'}, - '324': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'CALL HELP DESK', 'merchant_message': 'Invalid product quantity'}, - '325': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'File Transfer Approved', 'merchant_message': 'File Transfer Approved'}, - '326': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Declined - Invalid bank account', 'merchant_message': 'Declined - Invalid bank account'}, - '327': {'type': 'NDC', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'Declined - Invalid CVD'}, - '328': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Non sufficient Funds', 'merchant_message': 'Non sufficient Funds'}, - '329': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Account Closed', 'merchant_message': 'Account Closed'}, - '330': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Invalid Account', 'merchant_message': 'Invalid Account'}, - '331': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Payment Stoped', 'merchant_message': 'Payment Stoped'}, - '332': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Cannot trace account', 'merchant_message': 'Cannot trace account'}, - '334': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'No chequing privleges', 'merchant_message': 'No chequing privleges'}, - '335': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Funds not cleared', 'merchant_message': 'Funds not cleared'}, - '336': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Payor/Payee Deceased', 'merchant_message': 'Payor/Payee Deceased'}, - '337': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Account frozen', 'merchant_message': 'Account frozen'}, - '338': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Incorrect payor/payee name', 'merchant_message': 'Incorrect payor/payee name'}, - '339': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Refused by payor/payee', 'merchant_message': 'Refused by payor/payee'}, - '340': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Payment recalled', 'merchant_message': 'Payment recalled'}, - '341': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Interbank reject - Invalid due date', 'merchant_message': 'Interbank reject - Invalid due date'}, - '342': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Interbank reject - Invalid institution number', 'merchant_message': 'Interbank reject - Invalid institution number'}, - '343': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Interbank reject - Invalid account number', 'merchant_message': 'Interbank reject - Invalid account number'}, - '344': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Interbank reject - Invalid institution and account number', 'merchant_message': 'Interbank reject - Invalid institution and account number'}, - '345': {'type': 'Beanstream', 'approved': True, 'cardholder_message': 'Interbank reject - Other', 'merchant_message': 'Interbank reject - Other'}, - '346': {'type': 'Paymentech', 'approved': True, 'cardholder_message': 'Approved', 'merchant_message': 'Approved'}, - '347': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Declined', 'merchant_message': 'Auth Declined'}, - '348': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Call Voice Oper', 'merchant_message': 'Call Voice Oper'}, - '349': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Hold - Call', 'merchant_message': 'Hold - Call'}, - '350': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Call Voice Oper', 'merchant_message': 'Call Voice Oper'}, - '351': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Card No', 'merchant_message': 'Invalid Card No'}, - '352': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Exp. Date', 'merchant_message': 'Invalid Exp. Date'}, - '353': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid ICA No', 'merchant_message': 'Invalid ICA No'}, - '354': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid ABA No', 'merchant_message': 'Invalid ABA No'}, - '355': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid PIN No', 'merchant_message': 'Invalid PIN No'}, - '356': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Bank MID', 'merchant_message': 'Invalid Bank MID'}, - '357': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term No', 'merchant_message': 'Invalid Term No'}, - '358': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Amount', 'merchant_message': 'Invalid Amount'}, - '359': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Tran Fmt', 'merchant_message': 'Invalid Tran Fmt'}, - '360': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Call Voice Oper', 'merchant_message': 'Call Voice Oper'}, - '361': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Lost/Stolen Card', 'merchant_message': 'Lost/Stolen Card'}, - '362': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid PIN', 'merchant_message': 'Invalid PIN'}, - '363': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Over Credit Flr', 'merchant_message': 'Over Credit Flr'}, - '364': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Request Denied', 'merchant_message': 'Request Denied'}, - '365': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Not Online to XX', 'merchant_message': 'Not Online to XX'}, - '366': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Down-Retry', 'merchant_message': 'Auth Down-Retry'}, - '367': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Declined', 'merchant_message': 'Auth Declined'}, - '368': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Pin No', 'merchant_message': 'Invalid Pin No'}, - '369': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Declined', 'merchant_message': 'Auth Declined'}, - '370': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Card Not Allowed', 'merchant_message': 'Card Not Allowed'}, - '371': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'PL Setup Reqd', 'merchant_message': 'PL Setup Reqd'}, - '372': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'BIN Not Allowed', 'merchant_message': 'BIN Not Allowed'}, - '373': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Card Not Allowed', 'merchant_message': 'Card Not Allowed'}, - '374': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Merc Rstrct Code', 'merchant_message': 'Inv Merc Rstrct Code'}, - '375': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Prod Restricted', 'merchant_message': 'Prod Restricted'}, - '376': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Prod Not On File', 'merchant_message': 'Prod Not On File'}, - '377': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Declined', 'merchant_message': 'Auth Declined'}, - '378': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Declined', 'merchant_message': 'Auth Declined'}, - '379': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Declined', 'merchant_message': 'Auth Declined'}, - '380': {'type': 'Paymentech', 'approved': False, 'cardholder_message': '*Request Denied*', 'merchant_message': '*Request Denied*'}, - '381': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Driver Number', 'merchant_message': 'Invalid Driver Number'}, - '382': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'PIN Not Selected', 'merchant_message': 'PIN Not Selected'}, - '383': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Unmatch Vch Info', 'merchant_message': 'Unmatch Vch Info'}, - '384': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'CVC2/CID ERROR', 'merchant_message': 'CVC2/CID ERROR'}, - '385': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Tran Not Defined', 'merchant_message': 'Tran Not Defined'}, - '386': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Block Act Not Alwd', 'merchant_message': 'Block Act Not Alwd'}, - '387': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Incorrect Act Amt', 'merchant_message': 'Incorrect Act Amt'}, - '388': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Down - Retry', 'merchant_message': 'Auth Down - Retry'}, - '389': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Busy - Retry', 'merchant_message': 'Auth Busy - Retry'}, - '390': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Busy - Retry', 'merchant_message': 'Auth Busy - Retry'}, - '391': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Error - Retry', 'merchant_message': 'Auth Error - Retry'}, - '392': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Err - Pls Retry', 'merchant_message': 'Err - Pls Retry'}, - '393': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Err - Pls Retry', 'merchant_message': 'Err - Pls Retry'}, - '394': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '395': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '396': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Card', 'merchant_message': 'Invalid Card'}, - '397': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Exp. Date', 'merchant_message': 'Invalid Exp. Date'}, - '398': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Action Code', 'merchant_message': 'Invalid Action Code'}, - '399': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Amt Entry Error', 'merchant_message': 'Amt Entry Error'}, - '400': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid PIN', 'merchant_message': 'Invalid PIN'}, - '401': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Card', 'merchant_message': 'Invalid Card'}, - '402': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth # Not Entered', 'merchant_message': 'Auth # Not Entered'}, - '403': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Down Pay Ind', 'merchant_message': 'Invalid Down Pay Ind'}, - '404': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Policy # Wrong Len', 'merchant_message': 'Policy # Wrong Len'}, - '405': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Ind Code', 'merchant_message': 'Invalid Ind Code'}, - '406': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '407': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Entry Mode Invalid', 'merchant_message': 'Entry Mode Invalid'}, - '408': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Industry Data', 'merchant_message': 'Invalid Industry Data'}, - '409': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Fleet Data', 'merchant_message': 'Inv Fleet Data'}, - '410': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Sys Info', 'merchant_message': 'Invalid Sys Info'}, - '411': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Format', 'merchant_message': 'Invalid Format'}, - '412': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Transaction Class', 'merchant_message': 'Inv Transaction Class'}, - '413': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv PIN Capability', 'merchant_message': 'Inv PIN Capability'}, - '414': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv/Missing Retr Ref', 'merchant_message': 'Inv/Missing Retr Ref'}, - '415': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv MSDI', 'merchant_message': 'Inv MSDI'}, - '416': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Duration', 'merchant_message': 'Invalid Duration'}, - '417': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Pref Cust Ind', 'merchant_message': 'Inv Pref Cust Ind'}, - '418': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv MO/TO Number', 'merchant_message': 'Inv MO/TO Number'}, - '419': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Sale/Chg Des/Folio', 'merchant_message': 'Inv Sale/Chg Des/Folio'}, - '420': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Mult Clr Seq No', 'merchant_message': 'Inv Mult Clr Seq No'}, - '421': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Purch Card Data', 'merchant_message': 'Inv Purch Card Data'}, - '422': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Inv Input/Use VRU', 'merchant_message': 'Inv Input/Use VRU'}, - '423': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid EC Data 329', 'merchant_message': 'Invalid EC Data 329'}, - '424': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'INV Function or Multiple FS or Unknown TKN', 'merchant_message': 'INV Function or Multiple FS or Unknown TKN'}, - '425': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'INV TKN Value', 'merchant_message': 'INV TKN Value'}, - '426': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'CVD Data Error', 'merchant_message': 'CVD Data Error'}, - '427': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'TKN Data Error', 'merchant_message': 'TKN Data Error'}, - '428': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '429': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '430': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Term Not Active', 'merchant_message': 'Term Not Active'}, - '431': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Act Code', 'merchant_message': 'Invalid Act Code'}, - '432': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Void Not Allowed', 'merchant_message': 'Void Not Allowed'}, - '433': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Ref Num Not Found', 'merchant_message': 'Ref Num Not Found'}, - '434': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Proc Error 7', 'merchant_message': 'Proc Error 7'}, - '435': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Too Many Batches', 'merchant_message': 'Too Many Batches'}, - '436': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Release Batch', 'merchant_message': 'Release Batch'}, - '437': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '438': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '439': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '440': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Proc Error 13', 'merchant_message': 'Proc Error 13'}, - '441': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Proc Error 14', 'merchant_message': 'Proc Error 14'}, - '442': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Proc Error 15', 'merchant_message': 'Proc Error 15'}, - '443': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '444': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '445': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '446': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Please Try Again', 'merchant_message': 'Please Try Again'}, - '447': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '448': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Amount Too Large', 'merchant_message': 'Amount Too Large'}, - '449': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Amount Too Large', 'merchant_message': 'Amount Too Large'}, - '450': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '451': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Proc Error 24', 'merchant_message': 'Proc Error 24'}, - '452': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '453': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Function', 'merchant_message': 'Invalid Function'}, - '454': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Rev Not Allowed', 'merchant_message': 'Rev Not Allowed'}, - '455': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Rev Not Allowed', 'merchant_message': 'Rev Not Allowed'}, - '456': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Dscv Not Allowed', 'merchant_message': 'Dscv Not Allowed'}, - '457': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Rev Not Allowed', 'merchant_message': 'Rev Not Allowed'}, - '458': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Dscv Not Allowed', 'merchant_message': 'Dscv Not Allowed'}, - '459': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'DC Not Allowed', 'merchant_message': 'DC Not Allowed'}, - '460': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'CB Not Allowed', 'merchant_message': 'CB Not Allowed'}, - '461': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Key', 'merchant_message': 'Invalid Key'}, - '462': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Key', 'merchant_message': 'Invalid Key'}, - '463': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed-Plz Call', 'merchant_message': 'Failed-Plz Call'}, - '464': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed-Plz Call', 'merchant_message': 'Failed-Plz Call'}, - '465': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed-Plz Call', 'merchant_message': 'Failed-Plz Call'}, - '466': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed-Plz Call', 'merchant_message': 'Failed-Plz Call'}, - '467': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed-Plz Call', 'merchant_message': 'Failed-Plz Call'}, - '468': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed-Plz Call', 'merchant_message': 'Failed-Plz Call'}, - '469': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed-Plz Call', 'merchant_message': 'Failed-Plz Call'}, - '470': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'JCB Not Allowed', 'merchant_message': 'JCB Not Allowed'}, - '471': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'JCB Not Allowed', 'merchant_message': 'JCB Not Allowed'}, - '472': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Bank Not On File', 'merchant_message': 'Bank Not On File'}, - '473': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'No Sponsor Inst', 'merchant_message': 'No Sponsor Inst'}, - '474': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Failed Plz Call', 'merchant_message': 'Failed Plz Call'}, - '475': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'WX Not Allowed', 'merchant_message': 'WX Not Allowed'}, - '476': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Amount Too Large', 'merchant_message': 'Amount Too Large'}, - '477': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Reenter Odometer ', 'merchant_message': 'Reenter Odometer'}, - # XXX: This line appears with blank cardholder and merchant messages in the gateway response messages document - '478': {'type': 'Paymentech', 'approved': False, 'cardholder_message': '', 'merchant_message': ''}, - '479': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Tran Not Allowed', 'merchant_message': 'Tran Not Allowed'}, - '480': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Bat Already Rels', 'merchant_message': 'Bat Already Rels'}, - '481': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Rtng Ind', 'merchant_message': 'Invalid Rtng Ind'}, - '482': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'AX Not Allowed', 'merchant_message': 'AX Not Allowed'}, - '483': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Merchant', 'merchant_message': 'Invalid Merchant'}, - '484': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Call Voice Op', 'merchant_message': 'Call Voice Op'}, - '485': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Down-Retry', 'merchant_message': 'Auth Down-Retry'}, - '486': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Busy-Retry', 'merchant_message': 'Auth Busy-Retry'}, - '487': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Auth Busy-Retry', 'merchant_message': 'Auth Busy-Retry'}, - '488': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Invalid Term ID', 'merchant_message': 'Invalid Term ID'}, - '489': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Term Not Active', 'merchant_message': 'Term Not Active'}, - '490': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'No Transactions', 'merchant_message': 'No Transactions'}, - '491': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Bat Already Rels', 'merchant_message': 'Bat Already Rels'}, - '492': {'type': 'Paymentech', 'approved': False, 'cardholder_message': 'Batch Not Found', 'merchant_message': 'Batch Not Found'}, - '494': {'type': 'Vital', 'approved': True, 'cardholder_message': 'Approval', 'merchant_message': 'Approval'}, - '495': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Card OK', 'merchant_message': 'Card OK'}, - '496': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Call', 'merchant_message': 'Call'}, - '497': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Call', 'merchant_message': 'Call'}, - '498': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Reply', 'merchant_message': 'No Reply'}, - '499': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Reply', 'merchant_message': 'No Reply'}, - '500': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Hold-call or Pick Up Card', 'merchant_message': 'Hold-call or Pick Up Card'}, - '501': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Hold-call or Pick Up Card', 'merchant_message': 'Hold-call or Pick Up Card'}, - '502': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Hold-call or Pick Up Card', 'merchant_message': 'Hold-call or Pick Up Card'}, - '503': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Hold-call or Pick Up Card', 'merchant_message': 'Hold-call or Pick Up Card'}, - '504': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Acct Length Err', 'merchant_message': 'Acct Length Err'}, - '505': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Already Reversed', 'merchant_message': 'Already Reversed'}, - '506': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Amount Error', 'merchant_message': 'Amount Error'}, - '507': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Cant Verify PIN', 'merchant_message': 'Cant Verify PIN'}, - '508': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Cant Verify PIN', 'merchant_message': 'Cant Verify PIN'}, - '509': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Card No. Error', 'merchant_message': 'Card No. Error'}, - '510': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Cashback Not App', 'merchant_message': 'Cashback Not App'}, - '511': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Cashback Not Avl', 'merchant_message': 'Cashback Not Avl'}, - '512': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Check Digit Err', 'merchant_message': 'Check Digit Err'}, - '513': {'type': 'Vital', 'approved': False, 'cardholder_message': 'CID Format Error', 'merchant_message': 'CID Format Error'}, - '514': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Date Error', 'merchant_message': 'Date Error'}, - '515': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '516': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '517': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '518': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '519': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '520': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '521': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '522': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Encryption Error', 'merchant_message': 'Encryption Error'}, - '523': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Error', 'merchant_message': 'Error'}, - '524': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Expired Card', 'merchant_message': 'Expired Card'}, - '525': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Failure HV', 'merchant_message': 'Failure HV'}, - '526': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Failure CV', 'merchant_message': 'Failure CV'}, - '527': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Invalid Routing', 'merchant_message': 'Invalid Routing'}, - '528': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Invalid Trans', 'merchant_message': 'Invalid Trans'}, - '529': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Account', 'merchant_message': 'No Account'}, - '530': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Action Taken', 'merchant_message': 'No Action Taken'}, - '531': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Unsolic Reversal', 'merchant_message': 'Unsolic Reversal'}, - '532': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Action Taken', 'merchant_message': 'No Action Taken'}, - '533': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Check Account', 'merchant_message': 'No Check Account'}, - '534': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Credit Acct', 'merchant_message': 'No Credit Acct'}, - '535': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Save Account', 'merchant_message': 'No Save Account'}, - '536': {'type': 'Vital', 'approved': False, 'cardholder_message': 'No Such Issuer', 'merchant_message': 'No Such Issuer'}, - '537': {'type': 'Vital', 'approved': False, 'cardholder_message': 'PIN Exceeded', 'merchant_message': 'PIN Exceeded'}, - '538': {'type': 'Vital', 'approved': False, 'cardholder_message': 'RE Enter', 'merchant_message': 'RE Enter'}, - '539': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Sec Violation', 'merchant_message': 'Sec Violation'}, - '540': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Serv Not Allowed', 'merchant_message': 'Serv Not Allowed'}, - '541': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Serv NOt Allowed', 'merchant_message': 'Serv NOt Allowed'}, - '542': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Stop Recurring', 'merchant_message': 'Stop Recurring'}, - '543': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Stop Recurring', 'merchant_message': 'Stop Recurring'}, - '544': {'type': 'Vital', 'approved': False, 'cardholder_message': 'System Error', 'merchant_message': 'System Error'}, - '545': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Term Id Error', 'merchant_message': 'Term Id Error'}, - '546': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Wrong Pin', 'merchant_message': 'Wrong Pin'}, - '547': {'type': 'Vital', 'approved': False, 'cardholder_message': 'CVV2 Mismatch', 'merchant_message': 'CVV2 Mismatch'}, - '548': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Duplicate Trans', 'merchant_message': 'Duplicate Trans'}, - '549': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Approval', 'merchant_message': 'Approval'}, - '550': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Cannot Convert', 'merchant_message': 'Cannot Convert'}, - '551': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Invalid ABA', 'merchant_message': 'Invalid ABA'}, - '552': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Amount Error', 'merchant_message': 'Amount Error'}, - '553': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Unpaid Items', 'merchant_message': 'Unpaid Items'}, - '554': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Duplicate Number', 'merchant_message': 'Duplicate Number'}, - '555': {'type': 'Vital', 'approved': False, 'cardholder_message': 'MICR Error', 'merchant_message': 'MICR Error'}, - '556': {'type': 'Vital', 'approved': False, 'cardholder_message': 'Too Many Checks', 'merchant_message': 'Too Many Checks'}, - '558': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '559': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'No Transaction Found', 'merchant_message': 'No Transaction Found'}, - '560': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Transaction In Process', 'merchant_message': 'Transaction In Process'}, - '561': {'type': 'Global', 'approved': True, 'cardholder_message': 'APPROVED', 'merchant_message': 'APPROVED'}, - '562': {'type': 'Global', 'approved': False, 'cardholder_message': 'CALL CARD ISSUER', 'merchant_message': 'CALL CARD ISSUER'}, - '563': {'type': 'Global', 'approved': False, 'cardholder_message': 'CALL', 'merchant_message': 'CALL'}, - '564': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVLD MERCH ID', 'merchant_message': 'INVLD MERCH ID'}, - '565': {'type': 'Global', 'approved': False, 'cardholder_message': 'PIC UP', 'merchant_message': 'PIC UP'}, - '566': {'type': 'Global', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'DECLINE'}, - '567': {'type': 'Global', 'approved': False, 'cardholder_message': 'REVERSED', 'merchant_message': 'REVERSED'}, - '568': {'type': 'Global', 'approved': False, 'cardholder_message': 'Decline-CV2 FAIL', 'merchant_message': 'Decline-CV2 FAIL'}, - '569': {'type': 'Global', 'approved': False, 'cardholder_message': 'AP WITH ID', 'merchant_message': 'AP WITH ID'}, - '570': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVLD', 'merchant_message': 'INVLD'}, - '571': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVLD AMOUNT', 'merchant_message': 'INVLD AMOUNT'}, - '572': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVLD ACCT', 'merchant_message': 'INVLD ACCT'}, - '573': {'type': 'Global', 'approved': False, 'cardholder_message': 'PLEASE RETRY', 'merchant_message': 'PLEASE RETRY'}, - '574': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVLD EXP DATE', 'merchant_message': 'INVLD EXP DATE'}, - '575': {'type': 'Global', 'approved': False, 'cardholder_message': 'PIN INVALID', 'merchant_message': 'PIN INVALID'}, - '576': {'type': 'Global', 'approved': False, 'cardholder_message': 'UNAUTH TRANS', 'merchant_message': 'UNAUTH TRANS'}, - '577': {'type': 'Global', 'approved': False, 'cardholder_message': 'MAX PIN RETRIES', 'merchant_message': 'MAX PIN RETRIES'}, - '578': {'type': 'Global', 'approved': False, 'cardholder_message': 'AP DUPE', 'merchant_message': 'AP DUPE'}, - '579': {'type': 'Global', 'approved': False, 'cardholder_message': 'SYSTEM UNAVAILABLE', 'merchant_message': 'SYSTEM UNAVAILABLE'}, - '580': {'type': 'Global', 'approved': False, 'cardholder_message': 'INV ACCT MATCH', 'merchant_message': 'INV ACCT MATCH'}, - '581': {'type': 'Global', 'approved': False, 'cardholder_message': 'INV AMT MATCH', 'merchant_message': 'INV AMT MATCH'}, - '582': {'type': 'Global', 'approved': False, 'cardholder_message': 'INV ITEM NUM', 'merchant_message': 'INV ITEM NUM'}, - '583': {'type': 'Global', 'approved': False, 'cardholder_message': 'ITEM ADJ', 'merchant_message': 'ITEM ADJ'}, - '584': {'type': 'Global', 'approved': False, 'cardholder_message': 'MUST BALANCE NOW', 'merchant_message': 'MUST BALANCE NOW'}, - '585': {'type': 'Global', 'approved': False, 'cardholder_message': 'USE DUP THEN BAL', 'merchant_message': 'USE DUP THEN BAL'}, - '586': {'type': 'Global', 'approved': False, 'cardholder_message': 'NO DUP FOUND', 'merchant_message': 'NO DUP FOUND'}, - '587': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID DATA', 'merchant_message': 'INVALID DATA'}, - '588': {'type': 'Global', 'approved': False, 'cardholder_message': 'NO TRANS FOUND', 'merchant_message': 'NO TRANS FOUND'}, - '589': {'type': 'Global', 'approved': False, 'cardholder_message': 'AP NOT CAPTURED', 'merchant_message': 'AP NOT CAPTURED'}, - '590': {'type': 'Global', 'approved': False, 'cardholder_message': 'AP AUTH-ONLY', 'merchant_message': 'AP AUTH-ONLY'}, - '591': {'type': 'Global', 'approved': False, 'cardholder_message': 'INV BANK', 'merchant_message': 'INV BANK'}, - '592': {'type': 'Global', 'approved': False, 'cardholder_message': 'TRAN TYPE INVLD', 'merchant_message': 'TRAN TYPE INVLD'}, - '593': {'type': 'Global', 'approved': False, 'cardholder_message': 'APPROVED', 'merchant_message': 'APPROVED'}, - '594': {'type': 'Global', 'approved': False, 'cardholder_message': 'DB UNAVAIL 02', 'merchant_message': 'DB UNAVAIL 02'}, - '595': {'type': 'Global', 'approved': False, 'cardholder_message': 'DB UNAVAIL 03', 'merchant_message': 'DB UNAVAIL 03'}, - '596': {'type': 'Global', 'approved': False, 'cardholder_message': 'DB UNAVAIL 04', 'merchant_message': 'DB UNAVAIL 04'}, - '597': {'type': 'Global', 'approved': False, 'cardholder_message': 'UNAUTH USER', 'merchant_message': 'UNAUTH USER'}, - '598': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID CARD', 'merchant_message': 'INVALID CARD'}, - '599': {'type': 'Global', 'approved': False, 'cardholder_message': 'DB ISSUER UNAVAIL', 'merchant_message': 'DB ISSUER UNAVAIL'}, - '600': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID POS CARD', 'merchant_message': 'INVALID POS CARD'}, - '601': {'type': 'Global', 'approved': False, 'cardholder_message': 'ACCT TYPE INVLD', 'merchant_message': 'ACCT TYPE INVLD'}, - '602': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID PREFIX', 'merchant_message': 'INVALID PREFIX'}, - '603': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID FIID', 'merchant_message': 'INVALID FIID'}, - '604': {'type': 'Global', 'approved': False, 'cardholder_message': 'VERIFY', 'merchant_message': 'VERIFY'}, - '605': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID LIC', 'merchant_message': 'INVALID LIC'}, - '606': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID STATE CD', 'merchant_message': 'INVALID STATE CD'}, - '607': {'type': 'Global', 'approved': False, 'cardholder_message': 'EDC UNAVAILABLE', 'merchant_message': 'EDC UNAVAILABLE'}, - '608': {'type': 'Global', 'approved': False, 'cardholder_message': 'DB UNAVAIL 01', 'merchant_message': 'DB UNAVAIL 01'}, - '609': {'type': 'Global', 'approved': False, 'cardholder_message': 'SCAN UNAVAILABLE', 'merchant_message': 'SCAN UNAVAILABLE'}, - '610': {'type': 'Global', 'approved': False, 'cardholder_message': 'EXCEEDS MAX AMT', 'merchant_message': 'EXCEEDS MAX AMT'}, - '611': {'type': 'Global', 'approved': False, 'cardholder_message': 'EXCEEDS MAX USES', 'merchant_message': 'EXCEEDS MAX USES'}, - '627': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Edit Reject', 'merchant_message': 'Edit Reject'}, - '629': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Currency/Account Mismatch', 'merchant_message': 'Currency/Account Mismatch'}, - '630': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Payment Recalled', 'merchant_message': 'Payment Recalled'}, - '632': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Max number of recurring billing accounts reached'}, - '633': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Invalid XML message', 'merchant_message': 'Invalid XML message'}, - '634': {'type': 'Interac Online', 'approved': True, 'cardholder_message': 'APPROVED THANKS', 'merchant_message': 'APPROVED'}, - '635': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CARD USE LIMITED REFER TO BRANCH', 'merchant_message': 'CARD USE LIMITED REFER TO BRANCH'}, - '636': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'FUNDS NOT AVAIL REFER TO BRANCH', 'merchant_message': 'INSUFFICIENT FUNDS REFER TO BRANCH'}, - '637': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'EXPIRED CARD REFER TO BRANCH', 'merchant_message': 'EXPIRED CARD REFER TO BRANCH'}, - '638': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'PIN ERROR PLEASE RE-TRY', 'merchant_message': 'RE-TRY PIN ERROR'}, - '639': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY INVALID TRANSACTION'}, - '640': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY INVALID TRANSACTION'}, - '641': {'type': 'Interac Online', 'approved': False, 'cardholder_message': '$ LIMIT EXCEEDED REFER TO BRANCH', 'merchant_message': '$ LIMIT EXCEEDED REFER TO BRANCH'}, - '642': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CARD USE LIMITED REFER TO BRANCH', 'merchant_message': 'CARD USE LIMITED REFER TO BRANCH'}, - '643': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'USAGE EXCEEDED REFER TO BRANCH', 'merchant_message': 'USAGE EXCEEDED REFER TO BRANCH'}, - '644': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'EXCESS PIN RETRY REFER TO BRANCH', 'merchant_message': 'EXCESS PIN RETRY REFER TO BRANCH'}, - '645': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'PIN ERROR PLEASE RE-TRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '646': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'INVALID CARD REFER TO BRANCH', 'merchant_message': 'INVALID CARD REFER TO BRANCH'}, - '647': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '648': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '649': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '650': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY INVALID CARD'}, - '651': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY SYSTEM PROBLEM'}, - '652': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'INVALID CARD REFER TO BRANCH', 'merchant_message': 'CARD NOT SUPPORTED REFER TO BRANCH'}, - '653': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'ACCT NOT SET UP REFER TO BRANCH', 'merchant_message': 'ACCT NOT SET UP REFER TO BRANCH'}, - '654': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'ACCT NOT SET UP REFER TO BRANCH', 'merchant_message': 'ACCT NOT SET UP REFER TO BRANCH'}, - '655': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CARD IS NOT SETUP REFER TO BRANCH', 'merchant_message': 'CARD IS NOT SETUP REFER TO BRANCH'}, - '656': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RETRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '657': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RETRY', 'merchant_message': 'RETRY SYSTEM TIMEOUT'}, - '658': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '659': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY SYSTEM PROBLEM'}, - '660': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'Bad sequence number: resend transaction', 'merchant_message': 'Bad sequence number: resend transaction'}, - '661': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY SYSTEM PROBLEM'}, - '662': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RETRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '663': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RETRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '664': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RETRY', 'merchant_message': 'RE-TRY EDIT ERROR'}, - '665': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RETRY SYSTEM PROBLEM'}, - '666': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RETRY SYSTEM PROBLEM'}, - '667': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RETRY SYSTEM PROBLEM'}, - '668': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RETRY SYSTEM PROBLEM'}, - '669': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS OVER STORE LIMIT', 'merchant_message': 'OVER RETAILER LIMIT'}, - '670': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS PLEASE RE-TRY', 'merchant_message': 'RE-TRY INVALID TRANSACTION'}, - '671': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS', 'merchant_message': 'CANNOT PROCESS'}, - '672': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS OVER CORR LIMIT', 'merchant_message': 'EXCEEDS CORRECTION LIMIT'}, - '673': {'type': 'Interac Online', 'approved': False, 'cardholder_message': 'CANNOT PROCESS', 'merchant_message': 'CANNOT PROCESS'}, - '674': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Payment declined', 'merchant_message': 'Payment declined'}, - '681': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Payment method not accepted on this account.', 'merchant_message': 'Payment method not accepted on this account.'}, - '682': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Decline', 'merchant_message': 'Decline'}, - '683': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Declined. Missing or invalid merchant data.', 'merchant_message': 'Declined. Missing or invalid merchant data.'}, - '684': {'type': 'First Data', 'approved': True, 'cardholder_message': 'APPROVAL', 'merchant_message': 'APPROVAL'}, - '685': {'type': 'First Data', 'approved': False, 'cardholder_message': 'REFERRAL', 'merchant_message': 'REFERRAL'}, - '686': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVLD MER ID', 'merchant_message': 'INVLD MER ID'}, - '687': {'type': 'First Data', 'approved': True, 'cardholder_message': 'APPRV LESSER AMT', 'merchant_message': 'APPRV LESSER AMT'}, - '688': {'type': 'First Data', 'approved': False, 'cardholder_message': 'BAD PROCESSING CODE', 'merchant_message': 'BAD PROCESSING CODE'}, - '689': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV AMT', 'merchant_message': 'INV AMT'}, - '690': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV ACCT NUM', 'merchant_message': 'INV ACCT NUM'}, - '691': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV TERMINAL', 'merchant_message': 'INV TERMINAL'}, - '692': {'type': 'First Data', 'approved': False, 'cardholder_message': 'PLEASE RETRY', 'merchant_message': 'PLEASE RETRY'}, - '693': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DECLINED', 'merchant_message': 'DECLINED'}, - '694': {'type': 'First Data', 'approved': False, 'cardholder_message': 'EXPIRED CARD', 'merchant_message': 'EXPIRED CARD'}, - '695': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DECLINED', 'merchant_message': 'DECLINED'}, - '696': {'type': 'First Data', 'approved': False, 'cardholder_message': 'HOLD - CALL CTR', 'merchant_message': 'HOLD - CALL CTR'}, - '697': {'type': 'First Data', 'approved': False, 'cardholder_message': 'SERV NOT ALLOWED', 'merchant_message': 'SERV NOT ALLOWED'}, - '698': {'type': 'First Data', 'approved': True, 'cardholder_message': 'APPROVAL', 'merchant_message': 'APPROVAL'}, - '699': {'type': 'First Data', 'approved': True, 'cardholder_message': 'AVS ACCEPTED', 'merchant_message': 'AVS ACCEPTED'}, - '700': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVALID TERM ID', 'merchant_message': 'INVALID TERM ID'}, - '701': {'type': 'First Data', 'approved': False, 'cardholder_message': 'PLEASE RETRY', 'merchant_message': 'PLEASE RETRY'}, - '702': {'type': 'First Data', 'approved': False, 'cardholder_message': 'RESEND BATCH', 'merchant_message': 'RESEND BATCH'}, - '703': {'type': 'First Data', 'approved': False, 'cardholder_message': 'SYSTEM PROBLEM', 'merchant_message': 'SYSTEM PROBLEM'}, - '704': {'type': 'First Data', 'approved': False, 'cardholder_message': 'CVV2 DECLINED', 'merchant_message': 'CVV2 DECLINED'}, - '705': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DOWNLOAD FAILED', 'merchant_message': 'DOWNLOAD FAILED'}, - '706': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVLID MAC', 'merchant_message': 'INVLID MAC'}, - '707': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVALID ID NBR', 'merchant_message': 'INVALID ID NBR'}, - '708': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV DRIVER NBR', 'merchant_message': 'INV DRIVER NBR'}, - '709': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV VEHICLE NBR', 'merchant_message': 'INV VEHICLE NBR'}, - '710': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV EXP DATE', 'merchant_message': 'INV EXP DATE'}, - '711': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVLD AMT 3', 'merchant_message': 'INVLD AMT 3'}, - '712': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVLD ACCT 2', 'merchant_message': 'INVLD ACCT 2'}, - '713': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV EXP DATE', 'merchant_message': 'INV EXP DATE'}, - '714': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV ACCT', 'merchant_message': 'INV ACCT'}, - '715': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVLD ACCT 1', 'merchant_message': 'INVLD ACCT 1'}, - '716': {'type': 'First Data', 'approved': False, 'cardholder_message': 'CAPT. NOT ALLOWED', 'merchant_message': 'CAPT. NOT ALLOWED'}, - '717': {'type': 'First Data', 'approved': False, 'cardholder_message': 'COMM ERR RESEND', 'merchant_message': 'COMM ERR RESEND'}, - '718': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVL TERMINAL ID', 'merchant_message': 'INVL TERMINAL ID'}, - '719': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVL ARRIVAL-DT', 'merchant_message': 'INVL ARRIVAL-DT'}, - '720': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVL CHECKOUT DT', 'merchant_message': 'INVL CHECKOUT DT'}, - '721': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVL ROOM RATE', 'merchant_message': 'INVL ROOM RATE'}, - '722': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INVL FOLIO NBR', 'merchant_message': 'INVL FOLIO NBR'}, - '723': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV TRN TYPE', 'merchant_message': 'INV TRN TYPE'}, - '724': {'type': 'First Data', 'approved': False, 'cardholder_message': 'MAX TIP $999', 'merchant_message': 'MAX TIP $999'}, - '725': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INCORRECT PIN', 'merchant_message': 'INCORRECT PIN'}, - '726': {'type': 'First Data', 'approved': False, 'cardholder_message': 'AMT EXCEEDED LIMIT', 'merchant_message': 'AMT EXCEEDED LIMIT'}, - '727': {'type': 'First Data', 'approved': False, 'cardholder_message': 'HOST KEY ERROR', 'merchant_message': 'HOST KEY ERROR'}, - '728': {'type': 'First Data', 'approved': False, 'cardholder_message': 'PIN RETRY EXCEEDED', 'merchant_message': 'PIN RETRY EXCEEDED'}, - '729': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DUPLICATE TRAN', 'merchant_message': 'DUPLICATE TRAN'}, - '730': {'type': 'First Data', 'approved': False, 'cardholder_message': 'REV REJECTED', 'merchant_message': 'REV REJECTED'}, - '731': {'type': 'First Data', 'approved': False, 'cardholder_message': 'ENTER LESSER AMOUNT', 'merchant_message': 'ENTER LESSER AMOUNT'}, - '732': {'type': 'First Data', 'approved': False, 'cardholder_message': 'PIN XLATE ERROR', 'merchant_message': 'PIN XLATE ERROR'}, - '733': {'type': 'First Data', 'approved': False, 'cardholder_message': 'INV CASHBACK AMT', 'merchant_message': 'INV CASHBACK AMT'}, - '734': {'type': 'First Data', 'approved': False, 'cardholder_message': 'CRYPTO BOX UNAV', 'merchant_message': 'CRYPTO BOX UNAV'}, - '735': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DBT SWITCH UNAVL', 'merchant_message': 'DBT SWITCH UNAVL'}, - '736': {'type': 'First Data', 'approved': False, 'cardholder_message': 'ISSUER UNAV', 'merchant_message': 'ISSUER UNAV'}, - '737': {'type': 'First Data', 'approved': False, 'cardholder_message': 'UNDEFINED CARD', 'merchant_message': 'UNDEFINED CARD'}, - '738': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DBTSW INV MERID', 'merchant_message': 'DBTSW INV MERID'}, - '739': {'type': 'First Data', 'approved': False, 'cardholder_message': 'TRAN CT EXCD LMT', 'merchant_message': 'TRAN CT EXCD LMT'}, - '740': {'type': 'First Data', 'approved': False, 'cardholder_message': 'RESUB EXCDS LMT', 'merchant_message': 'RESUB EXCDS LMT'}, - '741': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DBTSW PIN XL ERR', 'merchant_message': 'DBTSW PIN XL ERR'}, - '742': {'type': 'First Data', 'approved': False, 'cardholder_message': 'DECLINE', 'merchant_message': 'DECLINE'}, - '743': {'type': 'Elavon', 'approved': True, 'cardholder_message': 'APPROVAL', 'merchant_message': 'APPROVAL'}, - '744': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'DECLINED-HELP 9999 (Gift Card - Host Busy)', 'merchant_message': 'DECLINED-HELP 9999 (Gift Card - Host Busy)'}, - '745': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'INVALID CARD (Gift Card)', 'merchant_message': 'INVALID CARD (Gift Card)'}, - '746': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'INVALID TERM ID (Gift Card)', 'merchant_message': 'INVALID TERM ID (Gift Card)'}, - '747': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'AMOUNT ERROR (Gift Card)', 'merchant_message': 'AMOUNT ERROR (Gift Card)'}, - '748': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'ALREADY ACTIVE (Gift Card)', 'merchant_message': 'ALREADY ACTIVE (Gift Card)'}, - '749': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'REQ. EXCEEDS BAL. (Gift Card)', 'merchant_message': 'REQ. EXCEEDS BAL. (Gift Card)'}, - '750': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'MAX REACHED (Gift Card)', 'merchant_message': 'MAX REACHED (Gift Card)'}, - '751': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'NON RELOADABLE (Gift Card)', 'merchant_message': 'NON RELOADABLE (Gift Card)'}, - '752': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'CARD NOT ACTIVE (Gift Card)', 'merchant_message': 'CARD NOT ACTIVE (Gift Card)'}, - '753': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'SEQ ERR PLS CALL (Gift Card)', 'merchant_message': 'SEQ ERR PLS CALL (Gift Card)'}, - '754': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'DECLINED-HELP 9999 (Gift Card - System Error)', 'merchant_message': 'DECLINED-HELP 9999 (Gift Card - System Error)'}, - '755': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'DECLINE CVV2', 'merchant_message': 'DECLINE CVV2'}, - '756': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'PICK UP CARD', 'merchant_message': 'PICK UP CARD'}, - '757': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'DECLINED', 'merchant_message': 'DECLINED'}, - '758': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'CALL AUTH. CENTER', 'merchant_message': 'CALL AUTH. CENTER'}, - '759': {'type': 'Elavon', 'approved': False, 'cardholder_message': 'ELAVON PROCESSING ERROR', 'merchant_message': 'ELAVON PROCESSING ERROR'}, - '760': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Multiple Transaction Matches Found', 'merchant_message': 'Multiple Transaction Matches Found'}, - '761': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Payment Canceled', 'merchant_message': 'Payment Canceled'}, - '762': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Expired session. Transaction not completed in allocated time.', 'merchant_message': 'Expired session. Transaction not completed in allocated time.'}, - '763': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Not in accordance with agreement - Personal', 'merchant_message': 'Not in accordance with agreement - Personal'}, - '764': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Agreement revoked - Personal', 'merchant_message': 'Agreement revoked - Personal'}, - '765': {'type': 'EFT', 'approved': True, 'cardholder_message': 'No pre-notification - Personal', 'merchant_message': 'No pre-notification - Personal'}, - '766': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Not in accordance with agreement - Business', 'merchant_message': 'Not in accordance with agreement - Business'}, - '767': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Agreement revoked - Business', 'merchant_message': 'Agreement revoked - Business'}, - '768': {'type': 'EFT', 'approved': True, 'cardholder_message': 'No pre-notification - Business', 'merchant_message': 'No pre-notification - Business'}, - '769': {'type': 'EFT', 'approved': True, 'cardholder_message': 'Customer Initiated Return Credit Only', 'merchant_message': 'Customer Initiated Return Credit Only'}, - '770': {'type': 'Global', 'approved': False, 'cardholder_message': 'INVALID CID', 'merchant_message': 'INVALID CID'}, - '771': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '772': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '773': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '774': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '775': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '776': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '777': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '778': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '779': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '780': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '781': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '782': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '783': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '784': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '785': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '786': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '787': {'type': 'TD Bank', 'approved': False, 'cardholder_message': 'Declined', 'merchant_message': 'Declined'}, - '788': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Duplicate Order Number - This order number has already been processed', 'merchant_message': 'Duplicate Order Number - This order number has already been processed'}, - '789': {'type': 'Beanstream', 'approved': False, 'cardholder_message': 'Card Number Mismatch', 'merchant_message': 'Card Number Mismatch'}, + "0": { + "type": "test", + "cardholder_message": "ERROR", + "approved": False, + "merchant_message": "ERROR", + }, + "1114": { + "type": "Desjardins", + "cardholder_message": "KEY CHANGE REQUIRED", + "approved": False, + "merchant_message": "Declined. First transaction for a terminal must be a transaction code 96" + }, + "595": { + "type": "Global Payments", + "cardholder_message": "DB UNAVAIL 03", + "approved": False, + "merchant_message": "DB UNAVAIL 03" + }, + "312": { + "type": "Bambora", + "cardholder_message": "Card type not accepted", + "approved": False, + "merchant_message": "Card type not accepted" + }, + "1125": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. Requires caisse authorization" + }, + "1025": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Cannot authorize" + }, + "483": { + "type": "Paymentech", + "cardholder_message": "Invalid Merchant", + "approved": False, + "merchant_message": "Invalid Merchant" + }, + "765": { + "type": "EBP/ACH", + "cardholder_message": "No pre-notification - Personal", + "approved": False, + "merchant_message": "No pre-notification - Personal" + }, + "427": { + "type": "Paymentech", + "cardholder_message": "TKN Data Error", + "approved": False, + "merchant_message": "TKN Data Error" + }, + "16": { + "type": "Bambora", + "cardholder_message": "Duplicate Transaction \u2013 This transaction has already been approved", + "approved": True, + "merchant_message": "Duplicate Transaction \u2013 This transaction has already been approved" + }, + "893": { + "type": "UK", + "cardholder_message": "Invalid input data", + "approved": False, + "merchant_message": "Invalid input data" + }, + "364": { + "type": "Paymentech", + "cardholder_message": "Request Denied", + "approved": False, + "merchant_message": "Request Denied" + }, + "422": { + "type": "Paymentech", + "cardholder_message": "Inv Input/Use VRU", + "approved": False, + "merchant_message": "Inv Input/Use VRU" + }, + "206": { + "type": "Bambora", + "cardholder_message": "Account missing terminal id", + "approved": False, + "merchant_message": "Account missing terminal id" + }, + "342": { + "type": "EBP/ACH", + "cardholder_message": "Interbank reject - Invalid institution number", + "approved": False, + "merchant_message": "Interbank reject - Invalid institution number" + }, + "1089": { + "type": "Desjardins", + "cardholder_message": "FORMAT ERROR", + "approved": False, + "merchant_message": "Declined. Error in the contents of a field in the transaction" + }, + "635": { + "type": "INTERAC Online", + "cardholder_message": "CARD USE LIMITED REFER TO BRANCH", + "approved": False, + "merchant_message": "CARD USE LIMITED REFER TO BRANCH" + }, + "801": { + "type": "Bambora", + "cardholder_message": "Card number missing for given customer code (token)", + "approved": False, + "merchant_message": "Card number missing for given customer code (token)" + }, + "819": { + "type": "Bambora", + "cardholder_message": "Missing AVS and CVD data required for Discover transaction", + "approved": False, + "merchant_message": "Missing AVS and CVD data required for Discover transaction" + }, + "590": { + "type": "Global Payments", + "cardholder_message": "AP AUTH-ONLY", + "approved": False, + "merchant_message": "AP AUTH-ONLY" + }, + "1009": { + "type": "Desjardins", + "cardholder_message": "SYSTEM NOT AVAIL.", + "approved": False, + "merchant_message": "Declined. The host cannot authorize the transaction at this time" + }, + "709": { + "type": "First Data", + "cardholder_message": "INV VEHICLE NBR", + "approved": False, + "merchant_message": "INV VEHICLE NBR" + }, + "410": { + "type": "Paymentech", + "cardholder_message": "Invalid Sys Info", + "approved": False, + "merchant_message": "Invalid Sys Info" + }, + "700": { + "type": "First Data", + "cardholder_message": "INVALID TERM ID", + "approved": False, + "merchant_message": "INVALID TERM ID" + }, + "848": { + "type": "UK", + "cardholder_message": "Invalid reference transaction ID", + "approved": False, + "merchant_message": "Invalid reference transaction ID" + }, + "1057": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. ARQC error" + }, + "338": { + "type": "EBP/ACH", + "cardholder_message": "Incorrect payor/payee name", + "approved": False, + "merchant_message": "Incorrect payor/payee name" + }, + "199": { + "type": "Bambora", + "cardholder_message": "Credit card does not match original purchase.", + "approved": False, + "merchant_message": "Credit card does not match original purchase." + }, + "742": { + "type": "First Data", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "DECLINE" + }, + "693": { + "type": "First Data", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "DECLINED" + }, + "375": { + "type": "Paymentech", + "cardholder_message": "Prod Restricted", + "approved": False, + "merchant_message": "Prod Restricted" + }, + "420": { + "type": "Paymentech", + "cardholder_message": "Inv Mult Clr Seq No", + "approved": False, + "merchant_message": "Inv Mult Clr Seq No" + }, + "944": { + "type": "Bambora", + "cardholder_message": "Card entry method not accepted", + "approved": False, + "merchant_message": "Card entry method not accepted" + }, + "856": { + "type": "UK", + "cardholder_message": "Transaction refused: The sum of this and previously credited amounts (if any) exceeds debited amount", + "approved": False, + "merchant_message": "Transaction refused: The sum of this and previously credited amounts (if any) exceeds debited amount" + }, + "453": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "1127": { + "type": "Desjardins", + "cardholder_message": "CARD NOT SUPPORTED", + "approved": False, + "merchant_message": "Declined. Caisse (branch) does not exist" + }, + "421": { + "type": "Paymentech", + "cardholder_message": "Inv Purch Card Data", + "approved": False, + "merchant_message": "Inv Purch Card Data" + }, + "1041": { + "type": "Desjardins", + "cardholder_message": "REFUND LIMIT", + "approved": False, + "merchant_message": "Declined. Limit in the no. of trans. or refund amount and Interac cancellations reached for the terminal" + }, + "1032": { + "type": "Desjardins", + "cardholder_message": "REFUND LIMIT", + "approved": False, + "merchant_message": "Declined. Max refund amount for a transaction" + }, + "1111": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - TVR error" + }, + "505": { + "type": "Vital", + "cardholder_message": "Already Reversed", + "approved": False, + "merchant_message": "Already Reversed" + }, + "147": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined INVALID TRAN DATE" + }, + "26": { + "type": "Bambora", + "cardholder_message": "Invalid expiry date", + "approved": False, + "merchant_message": "Invalid expiry date" + }, + "387": { + "type": "Paymentech", + "cardholder_message": "Incorrect Act Amt", + "approved": False, + "merchant_message": "Incorrect Act Amt" + }, + "569": { + "type": "Global Payments", + "cardholder_message": "AP WITH ID", + "approved": False, + "merchant_message": "AP WITH ID" + }, + "1077": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - TVR error" + }, + "470": { + "type": "Paymentech", + "cardholder_message": "JCB Not Allowed", + "approved": False, + "merchant_message": "JCB Not Allowed" + }, + "207": { + "type": "Bambora", + "cardholder_message": "Invalid merchant id", + "approved": False, + "merchant_message": "Invalid merchant id" + }, + "484": { + "type": "Paymentech", + "cardholder_message": "Call Voice Op", + "approved": False, + "merchant_message": "Call Voice Op" + }, + "674": { + "type": "Bambora", + "cardholder_message": "Payment declined", + "approved": False, + "merchant_message": "Payment declined" + }, + "437": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "705": { + "type": "First Data", + "cardholder_message": "DOWNLOAD FAILED", + "approved": False, + "merchant_message": "DOWNLOAD FAILED" + }, + "771\u2013787": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "803": { + "type": "Global Payments", + "cardholder_message": "ISSUER UNAVAIL", + "approved": False, + "merchant_message": "ISSUER UNAVAIL" + }, + "1083": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. PPC - Activation correction impossible" + }, + "362": { + "type": "Paymentech", + "cardholder_message": "Invalid PIN", + "approved": False, + "merchant_message": "Invalid PIN" + }, + "139": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined SERVICE MERCHANT NOT ON FILE" + }, + "726": { + "type": "First Data", + "cardholder_message": "AMT EXCEEDED LIMIT", + "approved": False, + "merchant_message": "AMT EXCEEDED LIMIT" + }, + "807": { + "type": "Bambora", + "cardholder_message": "Batch close completed successfully", + "approved": False, + "merchant_message": "Batch close completed successfully" + }, + "345": { + "type": "EBP/ACH", + "cardholder_message": "Interbank reject - Other", + "approved": False, + "merchant_message": "Interbank reject - Other" + }, + "571": { + "type": "Global Payments", + "cardholder_message": "INVLD AMOUNT", + "approved": False, + "merchant_message": "INVLD AMOUNT" + }, + "730": { + "type": "First Data", + "cardholder_message": "REV REJECTED", + "approved": False, + "merchant_message": "REV REJECTED" + }, + "525": { + "type": "Vital", + "cardholder_message": "Failure HV", + "approved": False, + "merchant_message": "Failure HV" + }, + "659": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY SYSTEM PROBLEM" + }, + "447": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "154": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined BAD FORMAT" + }, + "696": { + "type": "First Data", + "cardholder_message": "HOLD - CALL CTR", + "approved": False, + "merchant_message": "HOLD - CALL CTR" + }, + "891": { + "type": "UK", + "cardholder_message": "Communication problems", + "approved": False, + "merchant_message": "Communication problems" + }, + "731": { + "type": "First Data", + "cardholder_message": "ENTER LESSER AMOUNT", + "approved": False, + "merchant_message": "ENTER LESSER AMOUNT" + }, + "887\u2013888": { + "type": "UK", + "cardholder_message": "Server error", + "approved": False, + "merchant_message": "Server error" + }, + "488": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "365": { + "type": "Paymentech", + "cardholder_message": "Not Online to XX", + "approved": False, + "merchant_message": "Not Online to XX" + }, + "1010": { + "type": "Desjardins", + "cardholder_message": "TRX NOT ALLOWED", + "approved": False, + "merchant_message": "Declined. The transaction type is invalid" + }, + "370": { + "type": "Paymentech", + "cardholder_message": "Card Not Allowed", + "approved": False, + "merchant_message": "Card Not Allowed" + }, + "761": { + "type": "Bambora", + "cardholder_message": "Payment Canceled", + "approved": False, + "merchant_message": "Payment Canceled" + }, + "60": { + "type": "Bambora", + "cardholder_message": "Declined - Operation restricted through Master Merchant", + "approved": False, + "merchant_message": "Declined - Operation restricted through Master Merchant" + }, + "669": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS OVER STORE LIMIT", + "approved": False, + "merchant_message": "OVER RETAILER LIMIT" + }, + "1081": { + "type": "Desjardins", + "cardholder_message": "INC. AMOUNT/CARD", + "approved": False, + "merchant_message": "Declined. PPC - Amount differs from the program" + }, + "319": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "Transaction Declined - Restricted transaction type" + }, + "603": { + "type": "Global Payments", + "cardholder_message": "INVALID FIID", + "approved": False, + "merchant_message": "INVALID FIID" + }, + "812": { + "type": "Bambora", + "cardholder_message": "Insufficient user permission for processing refund transactions", + "approved": False, + "merchant_message": "Insufficient user permission for processing refund transactions" + }, + "1071": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - ARQC invalid" + }, + "710": { + "type": "First Data", + "cardholder_message": "INV EXP DATE", + "approved": False, + "merchant_message": "INV EXP DATE" + }, + "749": { + "type": "Elavon", + "cardholder_message": "REQ. EXCEEDS BAL. (Gift Card)", + "approved": False, + "merchant_message": "REQ. EXCEEDS BAL. (Gift Card)" + }, + "372": { + "type": "Paymentech", + "cardholder_message": "BIN Not Allowed", + "approved": False, + "merchant_message": "BIN Not Allowed" + }, + "1132": { + "type": "Desjardins", + "cardholder_message": "Invalid Accord D Transaction", + "approved": False, + "merchant_message": "Invalid Accord D Transaction" + }, + "935": { + "type": "Bambora", + "cardholder_message": "Adjustment failed, please wait one minute and retry", + "approved": False, + "merchant_message": "Adjustment failed, please wait one minute and retry" + }, + "1068": { + "type": "Desjardins", + "cardholder_message": "INVALID DATE", + "approved": False, + "merchant_message": "Declined. The expiry date of the card is invalid" + }, + "473": { + "type": "Paymentech", + "cardholder_message": "No Sponsor Inst", + "approved": False, + "merchant_message": "No Sponsor Inst" + }, + "324": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "Invalid product quantity" + }, + "198": { + "type": "Bambora", + "cardholder_message": "Zero value transactions cannot be voided", + "approved": False, + "merchant_message": "Zero value transactions cannot be voided" + }, + "148": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined INVALID EXP DATE" + }, + "691": { + "type": "First Data", + "cardholder_message": "INV TERMINAL", + "approved": False, + "merchant_message": "INV TERMINAL" + }, + "480": { + "type": "Paymentech", + "cardholder_message": "Bat Already Rels", + "approved": False, + "merchant_message": "Bat Already Rels" + }, + "553": { + "type": "Vital", + "cardholder_message": "Unpaid Items", + "approved": False, + "merchant_message": "Unpaid Items" + }, + "214": { + "type": "Bambora", + "cardholder_message": "Transaction reversed", + "approved": False, + "merchant_message": "Transaction reversed" + }, + "662\u2013664": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RETRY", + "approved": False, + "merchant_message": "RE-TRY EDIT ERROR" + }, + "322": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "Transaction amount does not match inventory calculation" + }, + "600": { + "type": "Global Payments", + "cardholder_message": "INVALID POS CARD", + "approved": False, + "merchant_message": "INVALID POS CARD" + }, + "920": { + "type": "UK", + "cardholder_message": "Acquirer error. Transaction not processed", + "approved": False, + "merchant_message": "Acquirer error. Transaction not processed" + }, + "429": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "594": { + "type": "Global Payments", + "cardholder_message": "DB UNAVAIL 02", + "approved": False, + "merchant_message": "DB UNAVAIL 02" + }, + "741": { + "type": "First Data", + "cardholder_message": "DBTSW PIN XL ERR", + "approved": False, + "merchant_message": "DBTSW PIN XL ERR" + }, + "459": { + "type": "Paymentech", + "cardholder_message": "DC Not Allowed", + "approved": False, + "merchant_message": "DC Not Allowed" + }, + "873": { + "type": "UK", + "cardholder_message": "Server error, no transaction sent to acquirer", + "approved": False, + "merchant_message": "Server error, no transaction sent to acquirer" + }, + "389": { + "type": "Paymentech", + "cardholder_message": "Auth Busy - Retry", + "approved": False, + "merchant_message": "Auth Busy - Retry" + }, + "1112": { + "type": "Desjardins", + "cardholder_message": "UNABLE TO PROCESS", + "approved": False, + "merchant_message": "Declined. Error in the tax calculation" + }, + "1106": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Limit exceeded" + }, + "634": { + "type": "INTERAC Online", + "cardholder_message": "APPROVED THANKS", + "approved": True, + "merchant_message": "APPROVED" + }, + "563": { + "type": "Global Payments", + "cardholder_message": "CALL", + "approved": False, + "merchant_message": "CALL" + }, + "580\u2013581": { + "type": "Global Payments", + "cardholder_message": "INV ACCT MATCH", + "approved": False, + "merchant_message": "INV ACCT MATCH" + }, + "124\u2013126": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "1092": { + "type": "Desjardins", + "cardholder_message": "FORMAT ERROR", + "approved": False, + "merchant_message": "Declined. Error in the Desjardins host acquirer system" + }, + "335": { + "type": "EBP/ACH", + "cardholder_message": "Funds not cleared", + "approved": False, + "merchant_message": "Funds not cleared" + }, + "72": { + "type": "TD", + "cardholder_message": "Declined EXPIRED CARD", + "approved": False, + "merchant_message": "Declined EXPIRED CARD" + }, + "54": { + "type": "Bambora", + "cardholder_message": "Transaction timeout - No available device", + "approved": False, + "merchant_message": "Transaction timeout - No available device" + }, + "551": { + "type": "Vital", + "cardholder_message": "Invalid ABA", + "approved": False, + "merchant_message": "Invalid ABA" + }, + "921": { + "type": "UK", + "cardholder_message": "System error", + "approved": False, + "merchant_message": "System error" + }, + "426": { + "type": "Paymentech", + "cardholder_message": "CVD Data Error", + "approved": False, + "merchant_message": "CVD Data Error" + }, + "481": { + "type": "Paymentech", + "cardholder_message": "Invalid Rtng Ind", + "approved": False, + "merchant_message": "Invalid Rtng Ind" + }, + "560": { + "type": "Bambora", + "cardholder_message": "Transaction In Process", + "approved": False, + "merchant_message": "Transaction In Process" + }, + "482": { + "type": "Paymentech", + "cardholder_message": "AX Not Allowed", + "approved": False, + "merchant_message": "AX Not Allowed" + }, + "898": { + "type": "UK", + "cardholder_message": "Invalid Merchant ID", + "approved": False, + "merchant_message": "Invalid Merchant ID" + }, + "886": { + "type": "UK", + "cardholder_message": "Transaction refused: Velocity check rule violation (details provided in description)", + "approved": False, + "merchant_message": "Transaction refused: Velocity check rule violation (details provided in description)" + }, + "1074": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - Key cannot be found in the security module" + }, + "461": { + "type": "Paymentech", + "cardholder_message": "Invalid Key", + "approved": False, + "merchant_message": "Invalid Key" + }, + "1107": { + "type": "Desjardins", + "cardholder_message": "HOLD CARD", + "approved": False, + "merchant_message": "Declined. Amount exceeds the limit" + }, + "1051": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. Maximum amount limit for the day reached" + }, + "745": { + "type": "Elavon", + "cardholder_message": "INVALID CARD (Gift Card)", + "approved": False, + "merchant_message": "INVALID CARD (Gift Card)" + }, + "1110": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - CVR error" + }, + "1035": { + "type": "Desjardins", + "cardholder_message": "NOT AVAILABLE", + "approved": False, + "merchant_message": "Declined. Balance inquiry transaction not permitted" + }, + "906": { + "type": "UK", + "cardholder_message": "Invalid Card Type", + "approved": False, + "merchant_message": "Invalid Card Type" + }, + "1021": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Format error in the transaction" + }, + "1122": { + "type": "Desjardins", + "cardholder_message": "ADM PIN NOT IN FILE", + "approved": False, + "merchant_message": "Declined. Unrecognized administrative card" + }, + "917": { + "type": "UK", + "cardholder_message": "Invalid Issue", + "approved": False, + "merchant_message": "Invalid Issue" + }, + "514": { + "type": "Vital", + "cardholder_message": "Date Error", + "approved": False, + "merchant_message": "Date Error" + }, + "815": { + "type": "Bambora", + "cardholder_message": "Invalid session source", + "approved": False, + "merchant_message": "Invalid session source" + }, + "701": { + "type": "First Data", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "PLEASE RETRY" + }, + "885": { + "type": "UK", + "cardholder_message": "The Originating Account Type parameter is invalid", + "approved": False, + "merchant_message": "The Originating Account Type parameter is invalid" + }, + "435": { + "type": "Paymentech", + "cardholder_message": "Too Many Batches", + "approved": False, + "merchant_message": "Too Many Batches" + }, + "637": { + "type": "INTERAC Online", + "cardholder_message": "EXPIRED CARD REFER TO BRANCH", + "approved": False, + "merchant_message": "EXPIRED CARD REFER TO BRANCH" + }, + "386": { + "type": "Paymentech", + "cardholder_message": "Block Act Not Alwd", + "approved": False, + "merchant_message": "Block Act Not Alwd" + }, + "683": { + "type": "Bambora", + "cardholder_message": "Declined. Missing or invalid merchant data.", + "approved": False, + "merchant_message": "Declined. Missing or invalid merchant data." + }, + "1115": { + "type": "Desjardins", + "cardholder_message": "CARD NOT SUPPORTED", + "approved": False, + "merchant_message": "Declined." + }, + "87": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined ADJ NOT ALLOWED" + }, + "900": { + "type": "UK", + "cardholder_message": "Server error", + "approved": False, + "merchant_message": "Server error" + }, + "391": { + "type": "Paymentech", + "cardholder_message": "Auth Error - Retry", + "approved": False, + "merchant_message": "Auth Error - Retry" + }, + "423": { + "type": "Paymentech", + "cardholder_message": "Invalid EC Data 329", + "approved": False, + "merchant_message": "Invalid EC Data 329" + }, + "913": { + "type": "UK", + "cardholder_message": "Corrupt input data to server", + "approved": False, + "merchant_message": "Corrupt input data to server" + }, + "748": { + "type": "Elavon", + "cardholder_message": "ALREADY ACTIVE (Gift Card)", + "approved": False, + "merchant_message": "ALREADY ACTIVE (Gift Card)" + }, + "570": { + "type": "Global Payments", + "cardholder_message": "INVLD", + "approved": False, + "merchant_message": "INVLD" + }, + "218": { + "type": "Bambora", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "Transaction Declined AC" + }, + "931": { + "type": "UK", + "cardholder_message": "Operation cannot be performed at this time: [Description]", + "approved": False, + "merchant_message": "Operation cannot be performed at this time: [Description]" + }, + "871": { + "type": "UK", + "cardholder_message": "Invalid track 2 data", + "approved": False, + "merchant_message": "Invalid track 2 data" + }, + "515\u2013521": { + "type": "Vital", + "cardholder_message": "Decline", + "approved": False, + "merchant_message": "Decline" + }, + "1031": { + "type": "Desjardins", + "cardholder_message": "REFUND LIMIT", + "approved": False, + "merchant_message": "Declined. Max offline refund amount reached for a card for the period" + }, + "1109": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - ARQC error" + }, + "1099": { + "type": "Desjardins", + "cardholder_message": "PIN TRIES EXCEEDED", + "approved": False, + "merchant_message": "Declined. Number of PIN attempts exceeded" + }, + "808": { + "type": "Bambora", + "cardholder_message": "Batch close failed on all terminals", + "approved": False, + "merchant_message": "Batch close failed on all terminals" + }, + "585": { + "type": "Global Payments", + "cardholder_message": "USE DUP THEN BAL", + "approved": False, + "merchant_message": "USE DUP THEN BAL" + }, + "552": { + "type": "Vital", + "cardholder_message": "Amount Error", + "approved": False, + "merchant_message": "Amount Error" + }, + "547": { + "type": "Vital", + "cardholder_message": "CVV2 Mismatch", + "approved": False, + "merchant_message": "CVV2 Mismatch" + }, + "158": { + "type": "TD", + "cardholder_message": "PLEASE TRY AGAIN", + "approved": False, + "merchant_message": "Declined - TIMEOUT" + }, + "719": { + "type": "First Data", + "cardholder_message": "INVL ARRIVAL-DT", + "approved": False, + "merchant_message": "INVL ARRIVAL-DT" + }, + "149": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined INVALID TRANCODE" + }, + "529": { + "type": "Vital", + "cardholder_message": "No Account", + "approved": False, + "merchant_message": "No Account" + }, + "178": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined ADMIN CARD NOT ALLOWED" + }, + "535": { + "type": "Vital", + "cardholder_message": "No Save Account", + "approved": False, + "merchant_message": "No Save Account" + }, + "737": { + "type": "First Data", + "cardholder_message": "UNDEFINED CARD", + "approved": False, + "merchant_message": "UNDEFINED CARD" + }, + "753": { + "type": "Elavon", + "cardholder_message": "SEQ ERR PLS CALL (Gift Card)", + "approved": False, + "merchant_message": "SEQ ERR PLS CALL (Gift Card)" + }, + "914": { + "type": "UK", + "cardholder_message": "Invalid LARID", + "approved": False, + "merchant_message": "Invalid LARID" + }, + "877": { + "type": "UK", + "cardholder_message": "Transaction refused: Reference transaction already captured", + "approved": False, + "merchant_message": "Transaction refused: Reference transaction already captured" + }, + "360": { + "type": "Paymentech", + "cardholder_message": "Call Voice Oper", + "approved": False, + "merchant_message": "Call Voice Oper" + }, + "443": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "346": { + "type": "Paymentech", + "cardholder_message": "Approved", + "approved": True, + "merchant_message": "Approved" + }, + "596": { + "type": "Global Payments", + "cardholder_message": "DB UNAVAIL 04", + "approved": False, + "merchant_message": "DB UNAVAIL 04" + }, + "834": { + "type": "UK", + "cardholder_message": "Server configuration error", + "approved": False, + "merchant_message": "Server configuration error" + }, + "88": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "407": { + "type": "Paymentech", + "cardholder_message": "Entry Mode Invalid", + "approved": False, + "merchant_message": "Entry Mode Invalid" + }, + "1075": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - ATC error" + }, + "476": { + "type": "Paymentech", + "cardholder_message": "Amount Too Large", + "approved": False, + "merchant_message": "Amount Too Large" + }, + "457": { + "type": "Paymentech", + "cardholder_message": "Rev Not Allowed", + "approved": False, + "merchant_message": "Rev Not Allowed" + }, + "1126": { + "type": "Desjardins", + "cardholder_message": "ACCOUNT NOT SET UP", + "approved": False, + "merchant_message": "Declined. Non-existent account" + }, + "743": { + "type": "Elavon", + "cardholder_message": "APPROVAL", + "approved": True, + "merchant_message": "APPROVAL" + }, + "1082": { + "type": "Desjardins", + "cardholder_message": "INVALID AMOUNT", + "approved": False, + "merchant_message": "Declined. PPC - The amount does not correspond with the program" + }, + "864": { + "type": "UK", + "cardholder_message": "Transaction refused: Merchant ID not active.", + "approved": False, + "merchant_message": "Transaction refused: Merchant ID not active." + }, + "930": { + "type": "UK", + "cardholder_message": "Business rule violation: [Description]", + "approved": False, + "merchant_message": "Business rule violation: [Description]" + }, + "1045": { + "type": "Desjardins", + "cardholder_message": "SYSTEM NOT AVAIL.", + "approved": False, + "merchant_message": "Declined. The authorization host is not available" + }, + "415": { + "type": "Paymentech", + "cardholder_message": "Inv MSDI", + "approved": False, + "merchant_message": "Inv MSDI" + }, + "356": { + "type": "Paymentech", + "cardholder_message": "Invalid Bank MID", + "approved": False, + "merchant_message": "Invalid Bank MID" + }, + "1043": { + "type": "Desjardins", + "cardholder_message": "INVALID CARD", + "approved": False, + "merchant_message": "Declined. The check digit of the card number is invalid" + }, + "601": { + "type": "Global Payments", + "cardholder_message": "ACCT TYPE INVLD", + "approved": False, + "merchant_message": "ACCT TYPE INVLD" + }, + "908": { + "type": "UK", + "cardholder_message": "Invalid Currency Subunit", + "approved": False, + "merchant_message": "Invalid Currency Subunit" + }, + "380": { + "type": "Paymentech", + "cardholder_message": "*Request Denied*", + "approved": False, + "merchant_message": "*Request Denied*" + }, + "865": { + "type": "UK", + "cardholder_message": "Server error, no transaction sent to acquirer", + "approved": False, + "merchant_message": "Server error, no transaction sent to acquirer" + }, + "353": { + "type": "Paymentech", + "cardholder_message": "Invalid ICA No", + "approved": False, + "merchant_message": "Invalid ICA No" + }, + "413": { + "type": "Paymentech", + "cardholder_message": "Inv PIN Capability", + "approved": False, + "merchant_message": "Inv PIN Capability" + }, + "1015": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Auth. type incorrectly defined. Host problem" + }, + "835\u2013836": { + "type": "UK", + "cardholder_message": "Server error, no transaction sent to acquirer", + "approved": False, + "merchant_message": "Server error, no transaction sent to acquirer" + }, + "438": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "881": { + "type": "UK", + "cardholder_message": "Transaction refused: Capture amount exceeds authorized amount", + "approved": False, + "merchant_message": "Transaction refused: Capture amount exceeds authorized amount" + }, + "767": { + "type": "EBP/ACH", + "cardholder_message": "Agreement revoked - Business", + "approved": False, + "merchant_message": "Agreement revoked - Business" + }, + "878": { + "type": "UK", + "cardholder_message": "Required data was too long", + "approved": False, + "merchant_message": "Required data was too long" + }, + "810": { + "type": "Bambora", + "cardholder_message": "Batch close failed on store and forward", + "approved": False, + "merchant_message": "Batch close failed on store and forward" + }, + "394": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "150\u2013153": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "681": { + "type": "Bambora", + "cardholder_message": "Payment method not accepted on this account", + "approved": False, + "merchant_message": "Payment method not accepted on this account" + }, + "1088": { + "type": "Desjardins", + "cardholder_message": "FORMAT ERROR", + "approved": False, + "merchant_message": "Declined. Error in the format of the transaction" + }, + "866": { + "type": "UK", + "cardholder_message": "Transaction refused", + "approved": False, + "merchant_message": "Transaction refused" + }, + "837": { + "type": "UK", + "cardholder_message": "Bank system error", + "approved": False, + "merchant_message": "Bank system error" + }, + "1064": { + "type": "Desjardins", + "cardholder_message": "NEED ADMIN CARD", + "approved": False, + "merchant_message": "Declined. Admin card required. Currently only validated for admin PIN change transactions" + }, + "486\u2013487": { + "type": "Paymentech", + "cardholder_message": "Auth Busy-Retry", + "approved": False, + "merchant_message": "Auth Busy-Retry" + }, + "791": { + "type": "Europay, Mastercard, Visa", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "703": { + "type": "First Data", + "cardholder_message": "SYSTEM PROBLEM", + "approved": False, + "merchant_message": "SYSTEM PROBLEM" + }, + "1053": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. System error" + }, + "21": { + "type": "Bambora", + "cardholder_message": "Validation is less than the minimum amount", + "approved": False, + "merchant_message": "Validation is less than the minimum amount" + }, + "193": { + "type": "Bambora", + "cardholder_message": "Amount does not match the transaction you are modifying.", + "approved": False, + "merchant_message": "Amount does not match the transaction you are modifying." + }, + "922": { + "type": "UK", + "cardholder_message": "Invalid track 2 data", + "approved": False, + "merchant_message": "Invalid track 2 data" + }, + "916": { + "type": "UK", + "cardholder_message": "Invalid Start Date", + "approved": False, + "merchant_message": "Invalid Start Date" + }, + "452": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "1007": { + "type": "Desjardins", + "cardholder_message": "ADM PIN TRIES EXCEE", + "approved": False, + "merchant_message": "Declined. Max PIN attempts with an Administrative card reached" + }, + "381": { + "type": "Paymentech", + "cardholder_message": "Invalid Driver Number", + "approved": False, + "merchant_message": "Invalid Driver Number" + }, + "331": { + "type": "EBP/ACH", + "cardholder_message": "Payment Stopped", + "approved": False, + "merchant_message": "Payment Stopped" + }, + "645": { + "type": "INTERAC Online", + "cardholder_message": "PIN ERROR PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY EDIT ERROR" + }, + "399": { + "type": "Paymentech", + "cardholder_message": "Amt Entry Error", + "approved": False, + "merchant_message": "Amt Entry Error" + }, + "544": { + "type": "Vital", + "cardholder_message": "System Error", + "approved": False, + "merchant_message": "System Error" + }, + "868-870": { + "type": "UK", + "cardholder_message": "System error", + "approved": False, + "merchant_message": "System error" + }, + "297-310": { + "type": "Bambora", + "cardholder_message": "Service Unavailable - Please try again later", + "approved": False, + "merchant_message": "Service Unavailable - Please try again later" + }, + "379": { + "type": "Paymentech", + "cardholder_message": "Auth Declined", + "approved": False, + "merchant_message": "Auth Declined" + }, + "606": { + "type": "Global Payments", + "cardholder_message": "INVALID STATE CD", + "approved": False, + "merchant_message": "INVALID STATE CD" + }, + "740": { + "type": "First Data", + "cardholder_message": "RESUB EXCDS LMT", + "approved": False, + "merchant_message": "RESUB EXCDS LMT" + }, + "583": { + "type": "Global Payments", + "cardholder_message": "ITEM ADJ", + "approved": False, + "merchant_message": "ITEM ADJ" + }, + "579": { + "type": "Global Payments", + "cardholder_message": "SYSTEM UNAVAILABLE", + "approved": False, + "merchant_message": "SYSTEM UNAVAILABLE" + }, + "592": { + "type": "Global Payments", + "cardholder_message": "TRAN TYPE INVLD", + "approved": False, + "merchant_message": "TRAN TYPE INVLD" + }, + "720": { + "type": "First Data", + "cardholder_message": "INVL CHECKOUT DT", + "approved": False, + "merchant_message": "INVL CHECKOUT DT" + }, + "1005": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined" + }, + "1011": { + "type": "Desjardins", + "cardholder_message": "TRX NOT ALLOWED", + "approved": False, + "merchant_message": "Declined. The transaction type is not supported on this terminal" + }, + "448": { + "type": "Paymentech", + "cardholder_message": "Amount Too Large", + "approved": False, + "merchant_message": "Amount Too Large" + }, + "1019": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. The transaction date is invalid." + }, + "1002": { + "type": "Desjardins", + "cardholder_message": "APPROVED", + "approved": True, + "merchant_message": "Approved without the balance" + }, + "744": { + "type": "Elavon", + "cardholder_message": "DECLINED-HELP 9999 (Gift Card \u2013 Host Busy)", + "approved": False, + "merchant_message": "DECLINED-HELP 9999 (Gift Card \u2013 Host Busy)" + }, + "721": { + "type": "First Data", + "cardholder_message": "INVL ROOM RATE", + "approved": False, + "merchant_message": "INVL ROOM RATE" + }, + "200": { + "type": "Bambora", + "cardholder_message": "Transaction cannot be adjusted", + "approved": False, + "merchant_message": "Transaction cannot be adjusted" + }, + "424": { + "type": "Paymentech", + "cardholder_message": "INV Function or Multiple FS or Unknown TKN", + "approved": False, + "merchant_message": "INV Function or Multiple FS or Unknown TKN" + }, + "128\u2013138": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "1054": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. System error" + }, + "692": { + "type": "First Data", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "PLEASE RETRY" + }, + "91": { + "type": "TD", + "cardholder_message": "PLEASE TRY AGAIN", + "approved": False, + "merchant_message": "Declined" + }, + "417": { + "type": "Paymentech", + "cardholder_message": "Inv Pref Cust Ind", + "approved": False, + "merchant_message": "Inv Pref Cust Ind" + }, + "937": { + "type": "Bambora", + "cardholder_message": "Declined please try again", + "approved": False, + "merchant_message": "Single use token service unavailable" + }, + "578": { + "type": "Global Payments", + "cardholder_message": "AP DUPE", + "approved": False, + "merchant_message": "AP DUPE" + }, + "1129": { + "type": "Desjardins", + "cardholder_message": "SELECT OTHER ACCT", + "approved": False, + "merchant_message": "Declined. Account does not exist" + }, + "361": { + "type": "Paymentech", + "cardholder_message": "Lost/Stolen Card", + "approved": False, + "merchant_message": "Lost/Stolen Card" + }, + "639\u2013640": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY INVALID TRANSACTION" + }, + "732": { + "type": "First Data", + "cardholder_message": "PIN XLATE ERROR", + "approved": False, + "merchant_message": "PIN XLATE ERROR" + }, + "872": { + "type": "UK", + "cardholder_message": "Invalid track 2 expiry date", + "approved": False, + "merchant_message": "Invalid track 2 expiry date" + }, + "1006": { + "type": "Desjardins", + "cardholder_message": "EXPIRED CARD", + "approved": False, + "merchant_message": "Declined. Expired card" + }, + "155": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined BAD DATA" + }, + "436": { + "type": "Paymentech", + "cardholder_message": "Release Batch", + "approved": False, + "merchant_message": "Release Batch" + }, + "1116": { + "type": "Desjardins", + "cardholder_message": "SELECT OTHER ACCT", + "approved": False, + "merchant_message": "Declined. Inactive Desjardins Interac account" + }, + "751": { + "type": "Elavon", + "cardholder_message": "NON RELOADABLE (Gift Card)", + "approved": False, + "merchant_message": "NON RELOADABLE (Gift Card)" + }, + "106\u2013108": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "539": { + "type": "Vital", + "cardholder_message": "Sec Violation", + "approved": False, + "merchant_message": "Sec Violation" + }, + "682": { + "type": "Bambora", + "cardholder_message": "Decline", + "approved": False, + "merchant_message": "Decline" + }, + "321": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "Missing or invalid return URL" + }, + "1037": { + "type": "Desjardins", + "cardholder_message": "OVER MAX NUMBER TRX", + "approved": False, + "merchant_message": "Declined. The number of refunds for this card type has been reached" + }, + "1017": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Partial cancellations are not supported" + }, + "104": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined NUM TIMES USED" + }, + "330": { + "type": "EBP/ACH", + "cardholder_message": "Invalid Account", + "approved": False, + "merchant_message": "Invalid Account" + }, + "852": { + "type": "UK", + "cardholder_message": "No response from bank before client timeout", + "approved": False, + "merchant_message": "No response from bank before client timeout" + }, + "53": { + "type": "Bambora", + "cardholder_message": "Application Error - Sending Request", + "approved": False, + "merchant_message": "Application Error - Sending Request" + }, + "479": { + "type": "Paymentech", + "cardholder_message": "Tran Not Allowed", + "approved": False, + "merchant_message": "Tran Not Allowed" + }, + "314": { + "type": "Bambora", + "cardholder_message": "Missing or invalid payment information - Please validate all required payment information.", + "approved": False, + "merchant_message": "Missing or invalid consumer payment information" + }, + "643": { + "type": "INTERAC Online", + "cardholder_message": "USAGE EXCEEDED REFER TO BRANCH", + "approved": False, + "merchant_message": "USAGE EXCEEDED REFER TO BRANCH" + }, + "894": { + "type": "UK", + "cardholder_message": "Transaction refused", + "approved": False, + "merchant_message": "Transaction refused" + }, + "690": { + "type": "First Data", + "cardholder_message": "INV ACCT NUM", + "approved": False, + "merchant_message": "INV ACCT NUM" + }, + "556": { + "type": "Vital", + "cardholder_message": "Too Many Checks", + "approved": False, + "merchant_message": "Too Many Checks" + }, + "325": { + "type": "Bambora", + "cardholder_message": "File Transfer Approved", + "approved": True, + "merchant_message": "File Transfer Approved" + }, + "598": { + "type": "Global Payments", + "cardholder_message": "INVALID CARD", + "approved": False, + "merchant_message": "INVALID CARD" + }, + "929": { + "type": "UK", + "cardholder_message": "Illegal argument: [Description]", + "approved": False, + "merchant_message": "Illegal argument: [Description]" + }, + "512": { + "type": "Vital", + "cardholder_message": "Check Digit Err", + "approved": False, + "merchant_message": "Check Digit Err" + }, + "926": { + "type": "UK", + "cardholder_message": "Pick up card", + "approved": False, + "merchant_message": "Pick up card" + }, + "51": { + "type": "Bambora", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "Restricted Card or IP" + }, + "161": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined BAD RESPONSE LENGTH" + }, + "411": { + "type": "Paymentech", + "cardholder_message": "Invalid Format", + "approved": False, + "merchant_message": "Invalid Format" + }, + "739": { + "type": "First Data", + "cardholder_message": "TRAN CT EXCD LMT", + "approved": False, + "merchant_message": "TRAN CT EXCD LMT" + }, + "1027": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. Insufficient funds" + }, + "577": { + "type": "Global Payments", + "cardholder_message": "MAX PIN RETRIES", + "approved": False, + "merchant_message": "MAX PIN RETRIES" + }, + "763": { + "type": "EBP/ACH", + "cardholder_message": "Not in accordance with agreement - Personal", + "approved": False, + "merchant_message": "Not in accordance with agreement - Personal" + }, + "927": { + "type": "UK", + "cardholder_message": "Originating account type value not supported", + "approved": False, + "merchant_message": "Originating account type value not supported" + }, + "511": { + "type": "Vital", + "cardholder_message": "Cashback Not Avl", + "approved": False, + "merchant_message": "Cashback Not Avl" + }, + "548": { + "type": "Vital", + "cardholder_message": "Duplicate Trans", + "approved": False, + "merchant_message": "Duplicate Trans" + }, + "434": { + "type": "Paymentech", + "cardholder_message": "Proc Error 7", + "approved": False, + "merchant_message": "Proc Error 7" + }, + "510": { + "type": "Vital", + "cardholder_message": "Cashback Not App", + "approved": False, + "merchant_message": "Cashback Not App" + }, + "73\u201375": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "867": { + "type": "UK", + "cardholder_message": "Transaction refused. Card Expired", + "approved": False, + "merchant_message": "Transaction refused. Card Expired" + }, + "589": { + "type": "Global Payments", + "cardholder_message": "AP NOT CAPTURED", + "approved": False, + "merchant_message": "AP NOT CAPTURED" + }, + "766": { + "type": "EBP/ACH", + "cardholder_message": "Not in accordance with agreement - Business", + "approved": False, + "merchant_message": "Not in accordance with agreement - Business" + }, + "445": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "862": { + "type": "UK", + "cardholder_message": "Transaction refused: Server temporarily unavailable", + "approved": False, + "merchant_message": "Transaction refused: Server temporarily unavailable" + }, + "472": { + "type": "Paymentech", + "cardholder_message": "Bank Not On File", + "approved": False, + "merchant_message": "Bank Not On File" + }, + "524": { + "type": "Vital", + "cardholder_message": "Expired Card", + "approved": False, + "merchant_message": "Expired Card" + }, + "1093": { + "type": "Desjardins", + "cardholder_message": "TERMINAL DEACTIVATED", + "approved": False, + "merchant_message": "Declined. The terminal is deactivated at the Desjardins acquirer host" + }, + "687": { + "type": "First Data", + "cardholder_message": "APPRV LESSER AMT", + "approved": False, + "merchant_message": "APPRV LESSER AMT" + }, + "1102": { + "type": "Desjardins", + "cardholder_message": "HOLD CARD", + "approved": False, + "merchant_message": "Declined. Stolen card" + }, + "393": { + "type": "Paymentech", + "cardholder_message": "Err - Pls Retry", + "approved": False, + "merchant_message": "Err - Pls Retry" + }, + "1067": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. The transaction date is invalid" + }, + "756": { + "type": "Elavon", + "cardholder_message": "PICK UP CARD", + "approved": False, + "merchant_message": "PICK UP CARD" + }, + "462": { + "type": "Paymentech", + "cardholder_message": "Invalid Key", + "approved": False, + "merchant_message": "Invalid Key" + }, + "1024": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Routing problem" + }, + "215": { + "type": "Bambora", + "cardholder_message": "Address Validation Failed", + "approved": False, + "merchant_message": "Address Validation Failed" + }, + "925": { + "type": "UK", + "cardholder_message": "Server configuration error", + "approved": False, + "merchant_message": "Server configuration error" + }, + "1063": { + "type": "Desjardins", + "cardholder_message": "INVALID ADMIN PIN", + "approved": False, + "merchant_message": "Declined. The administrative PIN is invalid" + }, + "597": { + "type": "Global Payments", + "cardholder_message": "UNAUTH USER", + "approved": False, + "merchant_message": "UNAUTH USER" + }, + "804": { + "type": "Bambora", + "cardholder_message": "Declined - Entered Information Cannot Be Authenticated", + "approved": False, + "merchant_message": "Declined - Entered Information Cannot Be Authenticated" + }, + "652": { + "type": "INTERAC Online", + "cardholder_message": "INVALID CARD REFER TO BRANCH", + "approved": False, + "merchant_message": "CARD NOT SUPPORTED REFER TO BRANCH" + }, + "939": { + "type": "First Data", + "cardholder_message": "Reversal Outside Window", + "approved": False, + "merchant_message": "Reversal Outside Window" + }, + "371": { + "type": "Paymentech", + "cardholder_message": "PL Setup Reqd", + "approved": False, + "merchant_message": "PL Setup Reqd" + }, + "736": { + "type": "First Data", + "cardholder_message": "ISSUER UNAV", + "approved": False, + "merchant_message": "ISSUER UNAV" + }, + "558": { + "type": "Bambora", + "cardholder_message": "Decline", + "approved": False, + "merchant_message": "Decline" + }, + "604": { + "type": "Global Payments", + "cardholder_message": "VERIFY", + "approved": False, + "merchant_message": "VERIFY" + }, + "349": { + "type": "Paymentech", + "cardholder_message": "Hold - Call", + "approved": False, + "merchant_message": "Hold - Call" + }, + "1033": { + "type": "Desjardins", + "cardholder_message": "OVER MAX NUMBER TRX", + "approved": False, + "merchant_message": "Declined. Max number of refunds reached for a card for the period" + }, + "789": { + "type": "Bambora", + "cardholder_message": "Card Number Mismatch", + "approved": False, + "merchant_message": "Card Number Mismatch" + }, + "656": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RETRY", + "approved": False, + "merchant_message": "RE-TRY EDIT ERROR" + }, + "101\u2013102": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "829": { + "type": "UK", + "cardholder_message": "Duplicate transaction found", + "approved": False, + "merchant_message": "Duplicate transaction found" + }, + "315": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "HTTPS Connection Required" + }, + "609": { + "type": "Global Payments", + "cardholder_message": "SCAN UNAVAILABLE", + "approved": False, + "merchant_message": "SCAN UNAVAILABLE" + }, + "1128": { + "type": "Desjardins", + "cardholder_message": "CARD NOT SET UP", + "approved": False, + "merchant_message": "Declined. Card inactive at the Desjardins Interac issuing host" + }, + "1108": { + "type": "Desjardins", + "cardholder_message": "HOLD CARD", + "approved": False, + "merchant_message": "Declined. Retain card" + }, + "722": { + "type": "First Data", + "cardholder_message": "INVL FOLIO NBR", + "approved": False, + "merchant_message": "INVL FOLIO NBR" + }, + "1046": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. The authorization host is not available" + }, + "109": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined MAX REFUND NUMBER" + }, + "725": { + "type": "First Data", + "cardholder_message": "INCORRECT PIN", + "approved": False, + "merchant_message": "INCORRECT PIN" + }, + "858": { + "type": "UK", + "cardholder_message": "Transaction type not supported by server", + "approved": False, + "merchant_message": "Transaction type not supported by server" + }, + "849": { + "type": "UK", + "cardholder_message": "Transaction refused: Card Number can only contain numbers", + "approved": False, + "merchant_message": "Transaction refused: Card Number can only contain numbers" + }, + "351": { + "type": "Paymentech", + "cardholder_message": "Invalid Card No", + "approved": False, + "merchant_message": "Invalid Card No" + }, + "735": { + "type": "First Data", + "cardholder_message": "DBT SWITCH UNAVL", + "approved": False, + "merchant_message": "DBT SWITCH UNAVL" + }, + "52": { + "type": "Bambora", + "cardholder_message": "Invalid Card Number", + "approved": False, + "merchant_message": "Invalid Card Number" + }, + "168": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined EXPIRED CARD" + }, + "574": { + "type": "Global Payments", + "cardholder_message": "INVLD EXP DATE", + "approved": False, + "merchant_message": "INVLD EXP DATE" + }, + "608": { + "type": "Global Payments", + "cardholder_message": "DB UNAVAIL 01", + "approved": False, + "merchant_message": "DB UNAVAIL 01" + }, + "564": { + "type": "Global Payments", + "cardholder_message": "INVLD MERCH ID", + "approved": False, + "merchant_message": "INVLD MERCH ID" + }, + "1013": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. The status of the card is unknown" + }, + "828": { + "type": "UK", + "cardholder_message": "Approved", + "approved": True, + "merchant_message": "Approved" + }, + "1029": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. Duplicate transaction" + }, + "790": { + "type": "Europay, Mastercard, Visa", + "cardholder_message": "Approved", + "approved": True, + "merchant_message": "Approved" + }, + "802": { + "type": "Bambora", + "cardholder_message": "Declined HASH\u00a0EXPIRED", + "approved": False, + "merchant_message": "Declined HASH\u00a0EXPIRED" + }, + "337": { + "type": "EBP/ACH", + "cardholder_message": "Account frozen", + "approved": False, + "merchant_message": "Account frozen" + }, + "650": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY INVALID CARD" + }, + "755": { + "type": "Elavon", + "cardholder_message": "DECLINE CVV2", + "approved": False, + "merchant_message": "DECLINE CVV2" + }, + "532": { + "type": "Vital", + "cardholder_message": "No Action Taken", + "approved": False, + "merchant_message": "No Action Taken" + }, + "205": { + "type": "Bambora", + "cardholder_message": "Transaction only voidable on the date processed", + "approved": False, + "merchant_message": "Transaction only voidable on the date processed" + }, + "653\u2013654": { + "type": "INTERAC Online", + "cardholder_message": "ACCT NOT SET UP REFER TO BRANCH", + "approved": False, + "merchant_message": "ACCT NOT SET UP REFER TO BRANCH" + }, + "334": { + "type": "EBP/ACH", + "cardholder_message": "No chequing privileges", + "approved": False, + "merchant_message": "No chequing privileges" + }, + "746": { + "type": "Elavon", + "cardholder_message": "INVALID TERM ID (Gift Card)", + "approved": False, + "merchant_message": "INVALID TERM ID (Gift Card)" + }, + "55": { + "type": "Bambora", + "cardholder_message": "Transaction timeout - No transaction Response", + "approved": False, + "merchant_message": "Transaction timeout - No transaction Response" + }, + "824": { + "type": "TD", + "cardholder_message": "Approved", + "approved": True, + "merchant_message": "Approved" + }, + "191": { + "type": "Bambora", + "cardholder_message": "Invalid Transaction Amount", + "approved": False, + "merchant_message": "Invalid Transaction Amount" + }, + "388": { + "type": "Paymentech", + "cardholder_message": "Auth Down - Retry", + "approved": False, + "merchant_message": "Auth Down - Retry" + }, + "1039": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. Status of the card inactive" + }, + "1084": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. PPC - amount of the transaction higher than the starting amount" + }, + "747": { + "type": "Elavon", + "cardholder_message": "AMOUNT ERROR (Gift Card)", + "approved": False, + "merchant_message": "AMOUNT ERROR (Gift Card)" + }, + "404": { + "type": "Paymentech", + "cardholder_message": "Policy # Wrong Len", + "approved": False, + "merchant_message": "Policy # Wrong Len" + }, + "943": { + "type": "EFT", + "cardholder_message": "Rejected by the bank", + "approved": False, + "merchant_message": "Rejected by the bank" + }, + "658": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY EDIT ERROR" + }, + "341": { + "type": "EBP/ACH", + "cardholder_message": "Interbank reject - Invalid due date", + "approved": False, + "merchant_message": "Interbank reject - Invalid due date" + }, + "923": { + "type": "UK", + "cardholder_message": "Requires telephone authorization", + "approved": False, + "merchant_message": "Requires telephone authorization" + }, + "454": { + "type": "Paymentech", + "cardholder_message": "Rev Not Allowed", + "approved": False, + "merchant_message": "Rev Not Allowed" + }, + "376": { + "type": "Paymentech", + "cardholder_message": "Prod Not On File", + "approved": False, + "merchant_message": "Prod Not On File" + }, + "632": { + "type": "Bambora", + "cardholder_message": "Decline", + "approved": False, + "merchant_message": "Max number of recurring billing accounts reached" + }, + "942": { + "type": "Bambora", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "checkout_resource_url is required" + }, + "408": { + "type": "Paymentech", + "cardholder_message": "Invalid Industry Data", + "approved": False, + "merchant_message": "Invalid Industry Data" + }, + "14": { + "type": "Bambora", + "cardholder_message": "Invalid expiration date", + "approved": False, + "merchant_message": "Invalid expiration date" + }, + "857": { + "type": "UK", + "cardholder_message": "Server error, no transaction sent to acquirer", + "approved": False, + "merchant_message": "Server error, no transaction sent to acquirer" + }, + "390": { + "type": "Paymentech", + "cardholder_message": "Auth Busy - Retry", + "approved": False, + "merchant_message": "Auth Busy - Retry" + }, + "166": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined BAD SEQUENCE NUMBER" + }, + "794": { + "type": "Paymentech", + "cardholder_message": "NO CHECKING ACCT", + "approved": False, + "merchant_message": "NO CHECKING ACCT" + }, + "140\u2013146": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "513": { + "type": "Vital", + "cardholder_message": "CID Format Error", + "approved": False, + "merchant_message": "CID Format Error" + }, + "566": { + "type": "Global Payments", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "DECLINE" + }, + "1070": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. Transaction amount exceeds the allowable limit" + }, + "1047": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. The authorization host is not available" + }, + "1096": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Cardholder card data decrypting error." + }, + "568": { + "type": "Global Payments", + "cardholder_message": "Decline-CV2 FAIL", + "approved": False, + "merchant_message": "Decline-CV2 FAIL" + }, + "1012": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. The card status is lost or stolen" + }, + "833": { + "type": "UK", + "cardholder_message": "Invalid input data (details provided in description)", + "approved": False, + "merchant_message": "Invalid input data (details provided in description)" + }, + "1028": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Preauthorization limit reached for the period" + }, + "123": { + "type": "TD", + "cardholder_message": "Call for Auth", + "approved": False, + "merchant_message": "Call for Auth" + }, + "169\u2013176": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "431": { + "type": "Paymentech", + "cardholder_message": "Invalid Act Code", + "approved": False, + "merchant_message": "Invalid Act Code" + }, + "792": { + "type": "Bambora", + "cardholder_message": "Credit card must support 3D Secure VBV or SecureCode", + "approved": False, + "merchant_message": "Credit card must support 3D Secure VBV or SecureCode" + }, + "559": { + "type": "Bambora", + "cardholder_message": "No Transaction Found", + "approved": False, + "merchant_message": "No Transaction Found" + }, + "489": { + "type": "Paymentech", + "cardholder_message": "Term Not Active", + "approved": False, + "merchant_message": "Term Not Active" + }, + "565": { + "type": "Global Payments", + "cardholder_message": "PIC UP", + "approved": False, + "merchant_message": "PIC UP" + }, + "162-165": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "723": { + "type": "First Data", + "cardholder_message": "INV TRN TYPE", + "approved": False, + "merchant_message": "INV TRN TYPE" + }, + "630": { + "type": "EBP/ACH", + "cardholder_message": "Payment Recalled", + "approved": False, + "merchant_message": "Payment Recalled" + }, + "208": { + "type": "Bambora", + "cardholder_message": "Completion greater than remaining reserve amount.", + "approved": False, + "merchant_message": "Completion greater than remaining reserve amount." + }, + "201": { + "type": "Bambora", + "cardholder_message": "Invalid transaction adjustment ID", + "approved": False, + "merchant_message": "Invalid transaction adjustment ID" + }, + "105": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined MAX REFUND TOTAL" + }, + "418": { + "type": "Paymentech", + "cardholder_message": "Inv MO/TO Number", + "approved": False, + "merchant_message": "Inv MO/TO Number" + }, + "485": { + "type": "Paymentech", + "cardholder_message": "Auth Down-Retry", + "approved": False, + "merchant_message": "Auth Down-Retry" + }, + "369": { + "type": "Paymentech", + "cardholder_message": "Auth Declined", + "approved": False, + "merchant_message": "Auth Declined" + }, + "50": { + "type": "Bambora", + "cardholder_message": "Invalid transaction type", + "approved": False, + "merchant_message": "Invalid transaction type" + }, + "412": { + "type": "Paymentech", + "cardholder_message": "Inv Transaction Class", + "approved": False, + "merchant_message": "Inv Transaction Class" + }, + "738": { + "type": "First Data", + "cardholder_message": "DBTSW INV MERID", + "approved": False, + "merchant_message": "DBTSW INV MERID" + }, + "607": { + "type": "Global Payments", + "cardholder_message": "EDC UNAVAILABLE", + "approved": False, + "merchant_message": "EDC UNAVAILABLE" + }, + "533": { + "type": "Vital", + "cardholder_message": "No Check Account", + "approved": False, + "merchant_message": "No Check Account" + }, + "490": { + "type": "Paymentech", + "cardholder_message": "No Transactions", + "approved": False, + "merchant_message": "No Transactions" + }, + "355": { + "type": "Paymentech", + "cardholder_message": "Invalid PIN No", + "approved": False, + "merchant_message": "Invalid PIN No" + }, + "549": { + "type": "Vital", + "cardholder_message": "Approval", + "approved": True, + "merchant_message": "Approval" + }, + "400": { + "type": "Paymentech", + "cardholder_message": "Invalid PIN", + "approved": False, + "merchant_message": "Invalid PIN" + }, + "358": { + "type": "Paymentech", + "cardholder_message": "Invalid Amount", + "approved": False, + "merchant_message": "Invalid Amount" + }, + "409": { + "type": "Paymentech", + "cardholder_message": "Inv Fleet Data", + "approved": False, + "merchant_message": "Inv Fleet Data" + }, + "1097": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. MAC error" + }, + "1065": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. The amount of the transaction is too high" + }, + "899": { + "type": "UK", + "cardholder_message": "Invalid Transaction Channel", + "approved": False, + "merchant_message": "Invalid Transaction Channel" + }, + "1003": { + "type": "Desjardins", + "cardholder_message": "APPROVED", + "approved": True, + "merchant_message": "Approved VIP" + }, + "392": { + "type": "Paymentech", + "cardholder_message": "Err - Pls Retry", + "approved": False, + "merchant_message": "Err - Pls Retry" + }, + "573": { + "type": "Global Payments", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "PLEASE RETRY" + }, + "530": { + "type": "Vital", + "cardholder_message": "No Action Taken", + "approved": False, + "merchant_message": "No Action Taken" + }, + "537": { + "type": "Vital", + "cardholder_message": "PIN Exceeded", + "approved": False, + "merchant_message": "PIN Exceeded" + }, + "1055": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. System error (admin card)" + }, + "1058": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. CVR error" + }, + "492": { + "type": "Paymentech", + "cardholder_message": "Batch Not Found", + "approved": False, + "merchant_message": "Batch Not Found" + }, + "1105": { + "type": "Desjardins", + "cardholder_message": "HOLD CARD", + "approved": False, + "merchant_message": "Declined. Card probably fraudulent." + }, + "1036": { + "type": "Desjardins", + "cardholder_message": "OVER MAX NUMBER TRX", + "approved": False, + "merchant_message": "Declined. Usage limit has been reached" + }, + "915": { + "type": "UK", + "cardholder_message": "Invalid Sub Merchant ID", + "approved": False, + "merchant_message": "Invalid Sub Merchant ID" + }, + "419": { + "type": "Paymentech", + "cardholder_message": "Inv Sale/Chg Des/Folio", + "approved": False, + "merchant_message": "Inv Sale/Chg Des/Folio" + }, + "859": { + "type": "UK", + "cardholder_message": "Transaction refused: The status of the reference transaction does not allow this transaction", + "approved": False, + "merchant_message": "Transaction refused: The status of the reference transaction does not allow this transaction" + }, + "528": { + "type": "Vital", + "cardholder_message": "Invalid Trans", + "approved": False, + "merchant_message": "Invalid Trans" + }, + "196": { + "type": "Bambora", + "cardholder_message": "Original purchase transaction has been voided", + "approved": False, + "merchant_message": "Original purchase transaction has been voided" + }, + "328": { + "type": "EBP/ACH", + "cardholder_message": "Non sufficient Funds", + "approved": False, + "merchant_message": "Non sufficient Funds" + }, + "820": { + "type": "Bambora", + "cardholder_message": "Invalid use of trnAmount field, must pass ordItemPrice with taxes enabled.", + "approved": False, + "merchant_message": "Invalid use of trnAmount field, must pass ordItemPrice with taxes enabled." + }, + "378": { + "type": "Paymentech", + "cardholder_message": "Auth Declined", + "approved": False, + "merchant_message": "Auth Declined" + }, + "500\u2013503": { + "type": "Vital", + "cardholder_message": "Hold-call or Pick Up Card", + "approved": False, + "merchant_message": "Hold-call or Pick Up Card" + }, + "727": { + "type": "First Data", + "cardholder_message": "HOST KEY ERROR", + "approved": False, + "merchant_message": "HOST KEY ERROR" + }, + "892": { + "type": "UK", + "cardholder_message": "Server unavailable", + "approved": False, + "merchant_message": "Server unavailable" + }, + "842": { + "type": "UK", + "cardholder_message": "Invalid order ID", + "approved": False, + "merchant_message": "Invalid order ID" + }, + "160": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined TERMINAL DEACTIVATED" + }, + "905": { + "type": "UK", + "cardholder_message": "Invalid Expire Date", + "approved": False, + "merchant_message": "Invalid Expire Date" + }, + "197": { + "type": "Bambora", + "cardholder_message": "Transactions cannot be adjusted to a zero or negative value", + "approved": False, + "merchant_message": "Transactions cannot be adjusted to a zero or negative value" + }, + "506": { + "type": "Vital", + "cardholder_message": "Amount Error", + "approved": False, + "merchant_message": "Amount Error" + }, + "496\u2013497": { + "type": "Vital", + "cardholder_message": "Call", + "approved": False, + "merchant_message": "Call" + }, + "602": { + "type": "Global Payments", + "cardholder_message": "INVALID PREFIX", + "approved": False, + "merchant_message": "INVALID PREFIX" + }, + "1020": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Transaction declined by the issuer" + }, + "442": { + "type": "Paymentech", + "cardholder_message": "Proc Error 15", + "approved": False, + "merchant_message": "Proc Error 15" + }, + "347": { + "type": "Paymentech", + "cardholder_message": "Auth Declined", + "approved": False, + "merchant_message": "Auth Declined" + }, + "809": { + "type": "Bambora", + "cardholder_message": "Batch close on one or more terminals", + "approved": False, + "merchant_message": "Batch close on one or more terminals" + }, + "672": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS OVER CORR LIMIT", + "approved": False, + "merchant_message": "EXCEEDS CORRECTION LIMIT" + }, + "1131": { + "type": "Desjardins", + "cardholder_message": "CARD NOT SET UP", + "approved": False, + "merchant_message": "Declined. Account does not exist" + }, + "932": { + "type": "UK", + "cardholder_message": "System error", + "approved": False, + "merchant_message": "System error" + }, + "816": { + "type": "Bambora", + "cardholder_message": "Card track data cannot be decrypted", + "approved": False, + "merchant_message": "Card track data cannot be decrypted" + }, + "938": { + "type": "Bambora", + "cardholder_message": "Authentication is required to process this transaction", + "approved": False, + "merchant_message": "Authentication is required to process this transaction" + }, + "670": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY INVALID TRANSACTION" + }, + "550": { + "type": "Vital", + "cardholder_message": "Cannot Convert", + "approved": False, + "merchant_message": "Cannot Convert" + }, + "1104": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Invalid card" + }, + "734": { + "type": "First Data", + "cardholder_message": "CRYPTO BOX UNAV", + "approved": False, + "merchant_message": "CRYPTO BOX UNAV" + }, + "567": { + "type": "Global Payments", + "cardholder_message": "REVERSED", + "approved": False, + "merchant_message": "REVERSED" + }, + "708": { + "type": "First Data", + "cardholder_message": "INV DRIVER NBR", + "approved": False, + "merchant_message": "INV DRIVER NBR" + }, + "460": { + "type": "Paymentech", + "cardholder_message": "CB Not Allowed", + "approved": False, + "merchant_message": "CB Not Allowed" + }, + "830": { + "type": "UK", + "cardholder_message": "No charge model found", + "approved": False, + "merchant_message": "No charge model found" + }, + "831": { + "type": "UK", + "cardholder_message": "Invalid currency", + "approved": False, + "merchant_message": "Invalid currency" + }, + "527": { + "type": "Vital", + "cardholder_message": "Invalid Routing", + "approved": False, + "merchant_message": "Invalid Routing" + }, + "541": { + "type": "Vital", + "cardholder_message": "Serv NOt Allowed", + "approved": False, + "merchant_message": "Serv NOt Allowed" + }, + "1130": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. Amount exceeds the allowable limit" + }, + "760": { + "type": "Bambora", + "cardholder_message": "Multiple Transaction Matches Found", + "approved": False, + "merchant_message": "Multiple Transaction Matches Found" + }, + "883": { + "type": "UK", + "cardholder_message": "Telephone auth code not requested", + "approved": False, + "merchant_message": "Telephone auth code not requested" + }, + "636": { + "type": "INTERAC Online", + "cardholder_message": "FUNDS NOT AVAIL REFER TO BRANCH", + "approved": False, + "merchant_message": "INSUFFICIENT FUNDS REFER TO BRANCH" + }, + "724": { + "type": "First Data", + "cardholder_message": "MAX TIP $999", + "approved": False, + "merchant_message": "MAX TIP $999" + }, + "350": { + "type": "Paymentech", + "cardholder_message": "Call Voice Oper", + "approved": False, + "merchant_message": "Call Voice Oper" + }, + "561": { + "type": "Global Payments", + "cardholder_message": "APPROVED", + "approved": True, + "merchant_message": "APPROVED" + }, + "757": { + "type": "Elavon", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "DECLINED" + }, + "195": { + "type": "Bambora", + "cardholder_message": "Invalid adjustment amount.", + "approved": False, + "merchant_message": "Invalid adjustment amount." + }, + "911": { + "type": "UK", + "cardholder_message": "Invalid Reference Transaction ID", + "approved": False, + "merchant_message": "Invalid Reference Transaction ID" + }, + "657": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RETRY", + "approved": False, + "merchant_message": "RETRY SYSTEM TIMEOUT" + }, + "699": { + "type": "First Data", + "cardholder_message": "AVS ACCEPTED", + "approved": False, + "merchant_message": "AVS ACCEPTED" + }, + "1090": { + "type": "Desjardins", + "cardholder_message": "FORMAT ERROR", + "approved": False, + "merchant_message": "Declined. Error in Batch Close" + }, + "449": { + "type": "Paymentech", + "cardholder_message": "Amount Too Large", + "approved": False, + "merchant_message": "Amount Too Large" + }, + "642": { + "type": "INTERAC Online", + "cardholder_message": "CARD USE LIMITED REFER TO BRANCH", + "approved": False, + "merchant_message": "CARD USE LIMITED REFER TO BRANCH" + }, + "194": { + "type": "Bambora", + "cardholder_message": "Transaction exceeds return limit.", + "approved": False, + "merchant_message": "Transaction exceeds return limit." + }, + "477": { + "type": "Paymentech", + "cardholder_message": "Reenter Odometer", + "approved": False, + "merchant_message": "Reenter Odometer" + }, + "217": { + "type": "Bambora", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "Transaction Declined TR" + }, + "706": { + "type": "First Data", + "cardholder_message": "INVLID MAC", + "approved": False, + "merchant_message": "INVLID MAC" + }, + "936": { + "type": "Bambora", + "cardholder_message": "Declined please try again", + "approved": False, + "merchant_message": "Invalid or expired single use token" + }, + "1018": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Invalid amount" + }, + "209": { + "type": "Bambora", + "cardholder_message": "Merchant Account Disabled", + "approved": False, + "merchant_message": "Merchant Account Disabled" + }, + "203": { + "type": "Bambora", + "cardholder_message": "Pre-Authorization already completed", + "approved": False, + "merchant_message": "Pre-Authorization already completed" + }, + "599": { + "type": "Global Payments", + "cardholder_message": "DB ISSUER UNAVAIL", + "approved": False, + "merchant_message": "DB ISSUER UNAVAIL" + }, + "805": { + "type": "Paymentech", + "cardholder_message": "Signature Debit Not Allowed", + "approved": False, + "merchant_message": "Signature Debit Not Allowed" + }, + "1085": { + "type": "Desjardins", + "cardholder_message": "ALREADY ACTIVE", + "approved": False, + "merchant_message": "Declined. PPC - card already activated" + }, + "59": { + "type": "Bambora", + "cardholder_message": "Declined - Operation must be performed by Master Merchant", + "approved": False, + "merchant_message": "Declined - Operation must be performed by Master Merchant" + }, + "818": { + "type": "Bambora", + "cardholder_message": "Invalid track format indicator", + "approved": False, + "merchant_message": "Invalid track format indicator" + }, + "838": { + "type": "UK", + "cardholder_message": "Bank system temporary unreachable", + "approved": False, + "merchant_message": "Bank system temporary unreachable" + }, + "762": { + "type": "Bambora", + "cardholder_message": "Expired session. Transaction not completed in allocated time.", + "approved": False, + "merchant_message": "Expired session. Transaction not completed in allocated time." + }, + "1103": { + "type": "Desjardins", + "cardholder_message": "INVALID AMOUNT", + "approved": False, + "merchant_message": "Declined. Invalid amount" + }, + "498\u2013499": { + "type": "Vital", + "cardholder_message": "No Reply", + "approved": False, + "merchant_message": "No Reply" + }, + "882": { + "type": "UK", + "cardholder_message": "This capture requires a telephone auth code", + "approved": False, + "merchant_message": "This capture requires a telephone auth code" + }, + "697": { + "type": "First Data", + "cardholder_message": "SERV NOT ALLOWED", + "approved": False, + "merchant_message": "SERV NOT ALLOWED" + }, + "841": { + "type": "UK", + "cardholder_message": "Invalid card type", + "approved": False, + "merchant_message": "Invalid card type" + }, + "1062": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Account type invalid." + }, + "545": { + "type": "Vital", + "cardholder_message": "Term Id Error", + "approved": False, + "merchant_message": "Term Id Error" + }, + "1030": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Max online refund amount reached for a card for the period" + }, + "890": { + "type": "UK", + "cardholder_message": "Invalid transaction type", + "approved": False, + "merchant_message": "Invalid transaction type" + }, + "933": { + "type": "UK", + "cardholder_message": "Authentication Problem", + "approved": False, + "merchant_message": "Authentication Problem" + }, + "336": { + "type": "EBP/ACH", + "cardholder_message": "Payor/Payee Deceased", + "approved": False, + "merchant_message": "Payor/Payee Deceased" + }, + "316": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "Invalid transaction validation type" + }, + "1117": { + "type": "Desjardins", + "cardholder_message": "CARD NOT SET UP", + "approved": False, + "merchant_message": "Declined. Inactive Desjardins Interac card" + }, + "204": { + "type": "Bambora", + "cardholder_message": "Declined: Use Pre-Auth Completion", + "approved": False, + "merchant_message": "Declined: Use Pre-Auth Completion" + }, + "904": { + "type": "UK", + "cardholder_message": "Invalid Card Number", + "approved": False, + "merchant_message": "Invalid Card Number" + }, + "1078": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - Transaction in fallback" + }, + "210": { + "type": "Bambora", + "cardholder_message": "Merchant Account Closed", + "approved": False, + "merchant_message": "Merchant Account Closed" + }, + "471": { + "type": "Paymentech", + "cardholder_message": "JCB Not Allowed", + "approved": False, + "merchant_message": "JCB Not Allowed" + }, + "586": { + "type": "Global Payments", + "cardholder_message": "NO DUP FOUND", + "approved": False, + "merchant_message": "NO DUP FOUND" + }, + "343": { + "type": "EBP/ACH", + "cardholder_message": "Interbank reject - Invalid account number", + "approved": False, + "merchant_message": "Interbank reject - Invalid account number" + }, + "685": { + "type": "First Data", + "cardholder_message": "REFERRAL", + "approved": False, + "merchant_message": "REFERRAL" + }, + "728": { + "type": "First Data", + "cardholder_message": "PIN RETRY EXCEEDED", + "approved": False, + "merchant_message": "PIN RETRY EXCEEDED" + }, + "56": { + "type": "Bambora", + "cardholder_message": "Application Error - Retrieving Response", + "approved": False, + "merchant_message": "Application Error - Retrieving Response" + }, + "919": { + "type": "UK", + "cardholder_message": "Invalid CVD Code", + "approved": False, + "merchant_message": "Invalid CVD Code" + }, + "202": { + "type": "Bambora", + "cardholder_message": "Invalid order number", + "approved": False, + "merchant_message": "Invalid order number" + }, + "103": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined MAX PER REFUND" + }, + "1060": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. This message is an EMV referral - \"fallback\"" + }, + "698": { + "type": "First Data", + "cardholder_message": "APPROVAL", + "approved": True, + "merchant_message": "APPROVAL" + }, + "329": { + "type": "EBP/ACH", + "cardholder_message": "Account Closed", + "approved": False, + "merchant_message": "Account Closed" + }, + "814": { + "type": "Bambora", + "cardholder_message": "User session validation failed", + "approved": False, + "merchant_message": "User session validation failed" + }, + "1069": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. Transaction code invalid" + }, + "1100": { + "type": "Desjardins", + "cardholder_message": "EXPIRED CARD", + "approved": False, + "merchant_message": "Declined. Expired card" + }, + "1091": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Desjardins acquirer system timeout" + }, + "1124": { + "type": "Desjardins", + "cardholder_message": "SYSTEM NOT AVAIL.", + "approved": False, + "merchant_message": "Declined. Desjardins Interac issuing host unavailable" + }, + "546": { + "type": "Vital", + "cardholder_message": "Wrong Pin", + "approved": False, + "merchant_message": "Wrong Pin" + }, + "1022": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Invalid acquirer institution" + }, + "212": { + "type": "Bambora", + "cardholder_message": "Service Unavailable - Please try again later", + "approved": False, + "merchant_message": "Service Unavailable - Please try again later" + }, + "311": { + "type": "Bambora", + "cardholder_message": "3D Secure Failed", + "approved": False, + "merchant_message": "3D Secure Failed" + }, + "405": { + "type": "Paymentech", + "cardholder_message": "Invalid Ind Code", + "approved": False, + "merchant_message": "Invalid Ind Code" + }, + "800": { + "type": "Bambora", + "cardholder_message": "Invalid customer code (token)", + "approved": False, + "merchant_message": "Invalid customer code (token)" + }, + "395": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "591": { + "type": "Global Payments", + "cardholder_message": "INV BANK", + "approved": False, + "merchant_message": "INV BANK" + }, + "159": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "793": { + "type": "Bambora", + "cardholder_message": "Address validation failed. Transaction reversed.", + "approved": False, + "merchant_message": "Address validation failed. Transaction reversed." + }, + "1094": { + "type": "Desjardins", + "cardholder_message": "FORMAT ERROR", + "approved": False, + "merchant_message": "Declined. The transaction is invalid. The response sent by the host only contains a header." + }, + "504": { + "type": "Vital", + "cardholder_message": "Acct Length Err", + "approved": False, + "merchant_message": "Acct Length Err" + }, + "523": { + "type": "Vital", + "cardholder_message": "Error", + "approved": False, + "merchant_message": "Error" + }, + "326": { + "type": "Bambora", + "cardholder_message": "Declined - Invalid bank account", + "approved": False, + "merchant_message": "Declined - Invalid bank account" + }, + "758": { + "type": "Elavon", + "cardholder_message": "CALL AUTH. CENTER", + "approved": False, + "merchant_message": "CALL AUTH. CENTER" + }, + "446": { + "type": "Paymentech", + "cardholder_message": "Please Try Again", + "approved": False, + "merchant_message": "Please Try Again" + }, + "49": { + "type": "Bambora", + "cardholder_message": "Invalid transaction request string", + "approved": False, + "merchant_message": "Invalid transaction request string" + }, + "769": { + "type": "EBP/ACH", + "cardholder_message": "Customer Initiated Return Credit Only", + "approved": False, + "merchant_message": "Customer Initiated Return Credit Only" + }, + "190": { + "type": "Bambora", + "cardholder_message": "Unknown transaction response", + "approved": False, + "merchant_message": "Unknown transaction response" + }, + "717": { + "type": "First Data", + "cardholder_message": "COMM ERR RESEND", + "approved": False, + "merchant_message": "COMM ERR RESEND" + }, + "638": { + "type": "INTERAC Online", + "cardholder_message": "PIN ERROR PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY PIN ERROR" + }, + "507\u2013508": { + "type": "Vital", + "cardholder_message": "Cant Verify PIN", + "approved": False, + "merchant_message": "Cant Verify PIN" + }, + "363": { + "type": "Paymentech", + "cardholder_message": "Over Credit Flr", + "approved": False, + "merchant_message": "Over Credit Flr" + }, + "750": { + "type": "Elavon", + "cardholder_message": "MAX REACHED (Gift Card)", + "approved": False, + "merchant_message": "MAX REACHED (Gift Card)" + }, + "478": { + "type": "Paymentech", + "cardholder_message": "", + "approved": False, + "merchant_message": "" + }, + "1133": { + "type": "Desjardins", + "cardholder_message": "Accord D transaction cannot be processed as recurring.", + "approved": False, + "merchant_message": "Accord D transaction cannot be processed as recurring." + }, + "1076": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - CVR error" + }, + "1049": { + "type": "Desjardins", + "cardholder_message": "TRX NOT ALLOWED", + "approved": False, + "merchant_message": "Declined. Unsupported transaction" + }, + "924": { + "type": "UK", + "cardholder_message": "The bank reported time out. Please retry", + "approved": False, + "merchant_message": "The bank reported time out. Please retry" + }, + "1040": { + "type": "Desjardins", + "cardholder_message": "HOLD CARD", + "approved": False, + "merchant_message": "Declined. Stolen card" + }, + "402": { + "type": "Paymentech", + "cardholder_message": "Auth # Not Entered", + "approved": False, + "merchant_message": "Auth # Not Entered" + }, + "403": { + "type": "Paymentech", + "cardholder_message": "Invalid Down Pay Ind", + "approved": False, + "merchant_message": "Invalid Down Pay Ind" + }, + "474": { + "type": "Paymentech", + "cardholder_message": "Failed Plz Call", + "approved": False, + "merchant_message": "Failed Plz Call" + }, + "880": { + "type": "UK", + "cardholder_message": "Transaction refused: The currency code does not match with the reference transaction", + "approved": False, + "merchant_message": "Transaction refused: The currency code does not match with the reference transaction" + }, + "86": { + "type": "TD", + "cardholder_message": "PLEASE TRY AGAIN", + "approved": False, + "merchant_message": "Declined" + }, + "827": { + "type": "Bambora", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "876": { + "type": "UK", + "cardholder_message": "Transaction refused: Reference transaction cancelled", + "approved": False, + "merchant_message": "Transaction refused: Reference transaction cancelled" + }, + "1023": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Routing problem" + }, + "702": { + "type": "First Data", + "cardholder_message": "RESEND BATCH", + "approved": False, + "merchant_message": "RESEND BATCH" + }, + "644": { + "type": "INTERAC Online", + "cardholder_message": "EXCESS PIN RETRY REFER TO BRANCH", + "approved": False, + "merchant_message": "EXCESS PIN RETRY REFER TO BRANCH" + }, + "788": { + "type": "Bambora", + "cardholder_message": "Duplicate Order Number - This order number has already been processed", + "approved": False, + "merchant_message": "Duplicate Order Number - This order number has already been processed" + }, + "540": { + "type": "Vital", + "cardholder_message": "Serv Not Allowed", + "approved": False, + "merchant_message": "Serv Not Allowed" + }, + "348": { + "type": "Paymentech", + "cardholder_message": "Call Voice Oper", + "approved": False, + "merchant_message": "Call Voice Oper" + }, + "430": { + "type": "Paymentech", + "cardholder_message": "Term Not Active", + "approved": False, + "merchant_message": "Term Not Active" + }, + "352": { + "type": "Paymentech", + "cardholder_message": "Invalid Exp. Date", + "approved": False, + "merchant_message": "Invalid Exp. Date" + }, + "673": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS", + "approved": False, + "merchant_message": "CANNOT PROCESS" + }, + "1121": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. PIN Required. The card must be inserted into the chip reader." + }, + "92\u201399": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "61\u201370": { + "type": "TD", + "cardholder_message": "Approved", + "approved": True, + "merchant_message": "Approved" + }, + "127": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined CARD NOT SUPPORTED" + }, + "817": { + "type": "Bambora", + "cardholder_message": "Card track data cannot be parsed for card number and expiry", + "approved": False, + "merchant_message": "Card track data cannot be parsed for card number and expiry" + }, + "853": { + "type": "UK", + "cardholder_message": "Communication problems", + "approved": False, + "merchant_message": "Communication problems" + }, + "384": { + "type": "Paymentech", + "cardholder_message": "CVC2/CID ERROR", + "approved": False, + "merchant_message": "CVC2/CID ERROR" + }, + "401": { + "type": "Paymentech", + "cardholder_message": "Invalid Card", + "approved": False, + "merchant_message": "Invalid Card" + }, + "884": { + "type": "UK", + "cardholder_message": "Server error, no transaction sent to acquirer", + "approved": False, + "merchant_message": "Server error, no transaction sent to acquirer" + }, + "1120": { + "type": "Desjardins", + "cardholder_message": "INVALID PIN", + "approved": False, + "merchant_message": "Declined. Incorrect PIN" + }, + "832": { + "type": "UK", + "cardholder_message": "Invalid Transaction Channel", + "approved": False, + "merchant_message": "Invalid Transaction Channel" + }, + "554": { + "type": "Vital", + "cardholder_message": "Duplicate Number", + "approved": False, + "merchant_message": "Duplicate Number" + }, + "806": { + "type": "Global Payments", + "cardholder_message": "TRAN NOT ALLOWED", + "approved": False, + "merchant_message": "TRAN NOT ALLOWED" + }, + "382": { + "type": "Paymentech", + "cardholder_message": "PIN Not Selected", + "approved": False, + "merchant_message": "PIN Not Selected" + }, + "320": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "Missing errorPage URL" + }, + "367": { + "type": "Paymentech", + "cardholder_message": "Auth Declined", + "approved": False, + "merchant_message": "Auth Declined" + }, + "1014": { + "type": "Desjardins", + "cardholder_message": "ACCOUNT NOT SET UP", + "approved": False, + "merchant_message": "Declined. The account used in the transaction is not defined" + }, + "713": { + "type": "First Data", + "cardholder_message": "INV EXP DATE", + "approved": False, + "merchant_message": "INV EXP DATE" + }, + "538": { + "type": "Vital", + "cardholder_message": "RE Enter", + "approved": False, + "merchant_message": "RE Enter" + }, + "1101": { + "type": "Desjardins", + "cardholder_message": "HOLD CARD", + "approved": False, + "merchant_message": "Declined. Card probably fraudulent." + }, + "317": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "Authentication Failed" + }, + "444": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "313": { + "type": "Bambora", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "Over sales limit" + }, + "167": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "651": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY SYSTEM PROBLEM" + }, + "1113": { + "type": "Desjardins", + "cardholder_message": "CANCELLATION LIMIT\u00c2\u00a0", + "approved": False, + "merchant_message": "Declined. Daily Interac cancellation limit reached" + }, + "534": { + "type": "Vital", + "cardholder_message": "No Credit Acct", + "approved": False, + "merchant_message": "No Credit Acct" + }, + "821": { + "type": "Bambora", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "CVD mismatch. Transaction reversed" + }, + "357": { + "type": "Paymentech", + "cardholder_message": "Invalid Term No", + "approved": False, + "merchant_message": "Invalid Term No" + }, + "1061": { + "type": "Desjardins", + "cardholder_message": "RETAILER NOT FOUND", + "approved": False, + "merchant_message": "Declined. The merchant number is invalid" + }, + "825": { + "type": "Bambora", + "cardholder_message": "Missing or invalid term URL", + "approved": False, + "merchant_message": "CALL HELP DESK" + }, + "587": { + "type": "Global Payments", + "cardholder_message": "INVALID DATA", + "approved": False, + "merchant_message": "INVALID DATA" + }, + "450": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "1034": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Max refund amount reached for a card for the period" + }, + "414": { + "type": "Paymentech", + "cardholder_message": "Inv/Missing Retr Ref", + "approved": False, + "merchant_message": "Inv/Missing Retr Ref" + }, + "1052": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. Issuing host did not respond (timeout)" + }, + "861": { + "type": "UK", + "cardholder_message": "Transaction refused: The currency code does not match the reference transaction", + "approved": False, + "merchant_message": "Transaction refused: The currency code does not match the reference transaction" + }, + "76": { + "type": "TD", + "cardholder_message": "PLEASE TRY AGAIN", + "approved": False, + "merchant_message": "PLEASE TRY AGAIN" + }, + "179\u2013189": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "456": { + "type": "Paymentech", + "cardholder_message": "Dscv Not Allowed", + "approved": False, + "merchant_message": "Dscv Not Allowed" + }, + "928": { + "type": "UK", + "cardholder_message": "System error", + "approved": False, + "merchant_message": "System error" + }, + "339": { + "type": "EBP/ACH", + "cardholder_message": "Refused by payor/payee", + "approved": False, + "merchant_message": "Refused by payor/payee" + }, + "332": { + "type": "EBP/ACH", + "cardholder_message": "Cannot trace account", + "approved": False, + "merchant_message": "Cannot trace account" + }, + "718": { + "type": "First Data", + "cardholder_message": "INVL TERMINAL ID", + "approved": False, + "merchant_message": "INVL TERMINAL ID" + }, + "89": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined INVALID TRAN DATE" + }, + "660": { + "type": "INTERAC Online", + "cardholder_message": "Bad sequence number: resend transaction", + "approved": False, + "merchant_message": "Bad sequence number: resend transaction" + }, + "712": { + "type": "First Data", + "cardholder_message": "INVLD ACCT 2", + "approved": False, + "merchant_message": "INVLD ACCT 2" + }, + "1073": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - Error with the security box" + }, + "366": { + "type": "Paymentech", + "cardholder_message": "Auth Down-Retry", + "approved": False, + "merchant_message": "Auth Down-Retry" + }, + "536": { + "type": "Vital", + "cardholder_message": "No Such Issuer", + "approved": False, + "merchant_message": "No Such Issuer" + }, + "428": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "850\u2013851": { + "type": "UK", + "cardholder_message": "Communication problems", + "approved": False, + "merchant_message": "Communication problems" + }, + "1026": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Invalid card number length" + }, + "432": { + "type": "Paymentech", + "cardholder_message": "Void Not Allowed", + "approved": False, + "merchant_message": "Void Not Allowed" + }, + "839": { + "type": "UK", + "cardholder_message": "Operation not supported by bank", + "approved": False, + "merchant_message": "Operation not supported by bank" + }, + "455": { + "type": "Paymentech", + "cardholder_message": "Rev Not Allowed", + "approved": False, + "merchant_message": "Rev Not Allowed" + }, + "398": { + "type": "Paymentech", + "cardholder_message": "Invalid Action Code", + "approved": False, + "merchant_message": "Invalid Action Code" + }, + "344": { + "type": "EBP/ACH", + "cardholder_message": "Interbank reject - Invalid institution and account number", + "approved": False, + "merchant_message": "Interbank reject - Invalid institution and account number" + }, + "733": { + "type": "First Data", + "cardholder_message": "INV CASHBACK AMT", + "approved": False, + "merchant_message": "INV CASHBACK AMT" + }, + "1095": { + "type": "Desjardins", + "cardholder_message": "INVALID PIN LENGTH", + "approved": False, + "merchant_message": "Declined. PIN length invalid" + }, + "192": { + "type": "Bambora", + "cardholder_message": "Transaction cannot be voided after being returned", + "approved": False, + "merchant_message": "Transaction cannot be voided after being returned" + }, + "764": { + "type": "EBP/ACH", + "cardholder_message": "Agreement revoked - Personal", + "approved": False, + "merchant_message": "Agreement revoked - Personal" + }, + "707": { + "type": "First Data", + "cardholder_message": "INVALID ID NBR", + "approved": False, + "merchant_message": "INVALID ID NBR" + }, + "907": { + "type": "UK", + "cardholder_message": "Invalid Currency Code", + "approved": False, + "merchant_message": "Invalid Currency Code" + }, + "910": { + "type": "UK", + "cardholder_message": "Invalid VAT Numerator", + "approved": False, + "merchant_message": "Invalid VAT Numerator" + }, + "759": { + "type": "Elavon", + "cardholder_message": "ELAVON PROCESSING ERROR", + "approved": False, + "merchant_message": "ELAVON PROCESSING ERROR" + }, + "584": { + "type": "Global Payments", + "cardholder_message": "MUST BALANCE NOW", + "approved": False, + "merchant_message": "MUST BALANCE NOW" + }, + "374": { + "type": "Paymentech", + "cardholder_message": "Inv Merc Rstrct Code", + "approved": False, + "merchant_message": "Inv Merc Rstrct Code" + }, + "611": { + "type": "Global Payments", + "cardholder_message": "EXCEEDS MAX USES", + "approved": False, + "merchant_message": "EXCEEDS MAX USES" + }, + "895": { + "type": "UK", + "cardholder_message": "Server error", + "approved": False, + "merchant_message": "Server error" + }, + "368": { + "type": "Paymentech", + "cardholder_message": "Invalid Pin No", + "approved": False, + "merchant_message": "Invalid Pin No" + }, + "1066": { + "type": "Desjardins", + "cardholder_message": "CARD NOT SET UP", + "approved": False, + "merchant_message": "Declined. The card is not set up in the acquirer's host (POS)" + }, + "90": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "526": { + "type": "Vital", + "cardholder_message": "Failure CV", + "approved": False, + "merchant_message": "Failure CV" + }, + "704": { + "type": "First Data", + "cardholder_message": "CVV2 DECLINED", + "approved": False, + "merchant_message": "CVV2 DECLINED" + }, + "1118": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. Desjardins Interac card, insufficient funds" + }, + "1123": { + "type": "Desjardins", + "cardholder_message": "PIN CHG NOT ALLOWED", + "approved": False, + "merchant_message": "Declined. This Admin card cannot be used to change the PIN" + }, + "1086": { + "type": "Desjardins", + "cardholder_message": "INSUFF. FUNDS", + "approved": False, + "merchant_message": "Declined. PPC - Insufficient funds" + }, + "729": { + "type": "First Data", + "cardholder_message": "DUPLICATE TRAN", + "approved": False, + "merchant_message": "DUPLICATE TRAN" + }, + "385": { + "type": "Paymentech", + "cardholder_message": "Tran Not Defined", + "approved": False, + "merchant_message": "Tran Not Defined" + }, + "879": { + "type": "UK", + "cardholder_message": "Transaction refused: Merchant ID inactive", + "approved": False, + "merchant_message": "Transaction refused: Merchant ID inactive" + }, + "752": { + "type": "Elavon", + "cardholder_message": "CARD NOT ACTIVE (Gift Card)", + "approved": False, + "merchant_message": "CARD NOT ACTIVE (Gift Card)" + }, + "177": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined ADMIN CARD NOT FOUND" + }, + "71": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "439": { + "type": "Paymentech", + "cardholder_message": "Invalid Term ID", + "approved": False, + "merchant_message": "Invalid Term ID" + }, + "684": { + "type": "First Data", + "cardholder_message": "APPROVAL", + "approved": True, + "merchant_message": "APPROVAL" + }, + "582": { + "type": "Global Payments", + "cardholder_message": "INV ITEM NUM", + "approved": False, + "merchant_message": "INV ITEM NUM" + }, + "22": { + "type": "Bambora", + "cardholder_message": "Validation greater than maximum amount", + "approved": False, + "merchant_message": "Validation greater than maximum amount" + }, + "770": { + "type": "Global Payments", + "cardholder_message": "INVALID CID", + "approved": False, + "merchant_message": "INVALID CID" + }, + "605": { + "type": "Global Payments", + "cardholder_message": "INVALID LIC", + "approved": False, + "merchant_message": "INVALID LIC" + }, + "397": { + "type": "Paymentech", + "cardholder_message": "Invalid Exp. Date", + "approved": False, + "merchant_message": "Invalid Exp. Date" + }, + "1119": { + "type": "Desjardins", + "cardholder_message": "NOT ALLOWED", + "approved": False, + "merchant_message": "Declined. Transaction not allowed" + }, + "688": { + "type": "First Data", + "cardholder_message": "BAD PROCESSING CODE", + "approved": False, + "merchant_message": "BAD PROCESSING CODE" + }, + "843\u2013847": { + "type": "UK", + "cardholder_message": "Transaction refused", + "approved": False, + "merchant_message": "Transaction refused" + }, + "1059": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. TVR error" + }, + "661": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY SYSTEM PROBLEM" + }, + "495": { + "type": "Vital", + "cardholder_message": "Card OK", + "approved": False, + "merchant_message": "Card OK" + }, + "641": { + "type": "INTERAC Online", + "cardholder_message": "$ LIMIT EXCEEDED REFER TO BRANCH", + "approved": False, + "merchant_message": "$ LIMIT EXCEEDED REFER TO BRANCH" + }, + "754": { + "type": "Elavon", + "cardholder_message": "DECLINED-HELP 9999 (Gift Card \u2013 System Error)", + "approved": False, + "merchant_message": "DECLINED-HELP 9999 (Gift Card \u2013 System Error)" + }, + "897": { + "type": "UK", + "cardholder_message": "No transaction matching the referenced transaction", + "approved": False, + "merchant_message": "No transaction matching the referenced transaction" + }, + "840": { + "type": "UK", + "cardholder_message": "Invalid expiry date", + "approved": False, + "merchant_message": "Invalid expiry date" + }, + "823": { + "type": "First Data", + "cardholder_message": "ISS UNAV/DATE ER", + "approved": False, + "merchant_message": "ISS UNAV/DATE ER" + }, + "715": { + "type": "First Data", + "cardholder_message": "INVLD ACCT 1", + "approved": False, + "merchant_message": "INVLD ACCT 1" + }, + "863": { + "type": "UK", + "cardholder_message": "Transaction refused: Active configuration differs from the one used in the reference transaction", + "approved": False, + "merchant_message": "Transaction refused: Active configuration differs from the one used in the reference transaction" + }, + "896": { + "type": "UK", + "cardholder_message": "Card type is not allowed", + "approved": False, + "merchant_message": "Card type is not allowed" + }, + "416": { + "type": "Paymentech", + "cardholder_message": "Invalid Duration", + "approved": False, + "merchant_message": "Invalid Duration" + }, + "522": { + "type": "Vital", + "cardholder_message": "Encryption Error", + "approved": False, + "merchant_message": "Encryption Error" + }, + "491": { + "type": "Paymentech", + "cardholder_message": "Bat Already Rels", + "approved": False, + "merchant_message": "Bat Already Rels" + }, + "377": { + "type": "Paymentech", + "cardholder_message": "Auth Declined", + "approved": False, + "merchant_message": "Auth Declined" + }, + "323": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "One or more products not found in inventory" + }, + "542\u2013543": { + "type": "Vital", + "cardholder_message": "Stop Recurring", + "approved": False, + "merchant_message": "Stop Recurring" + }, + "100": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined DUPLICATE TRAN" + }, + "494": { + "type": "Vital", + "cardholder_message": "Approval", + "approved": True, + "merchant_message": "Approval" + }, + "912": { + "type": "UK", + "cardholder_message": "Transaction type not supported by legacy system", + "approved": False, + "merchant_message": "Transaction type not supported by legacy system" + }, + "575": { + "type": "Global Payments", + "cardholder_message": "PIN INVALID", + "approved": False, + "merchant_message": "PIN INVALID" + }, + "711": { + "type": "First Data", + "cardholder_message": "INVLD AMT 3", + "approved": False, + "merchant_message": "INVLD AMT 3" + }, + "433": { + "type": "Paymentech", + "cardholder_message": "Ref Num Not Found", + "approved": False, + "merchant_message": "Ref Num Not Found" + }, + "811": { + "type": "Bambora", + "cardholder_message": "Insufficient user permission for processing payment transactions", + "approved": False, + "merchant_message": "Insufficient user permission for processing payment transactions" + }, + "425": { + "type": "Paymentech", + "cardholder_message": "INV TKN Value", + "approved": False, + "merchant_message": "INV TKN Value" + }, + "1050": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. Maximum amount limit" + }, + "396": { + "type": "Paymentech", + "cardholder_message": "Invalid Card", + "approved": False, + "merchant_message": "Invalid Card" + }, + "562": { + "type": "Global Payments", + "cardholder_message": "CALL CARD ISSUER", + "approved": False, + "merchant_message": "CALL CARD ISSUER" + }, + "695": { + "type": "First Data", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "DECLINED" + }, + "1098": { + "type": "Desjardins", + "cardholder_message": "CALL SERVICE", + "approved": False, + "merchant_message": "Declined. Sequence number (see header) is invalid" + }, + "1044": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. A forced transaction ended in error due to a system problem" + }, + "901": { + "type": "UK", + "cardholder_message": "Invalid Order ID", + "approved": False, + "merchant_message": "Invalid Order ID" + }, + "1087": { + "type": "Desjardins", + "cardholder_message": "INVALID CARD", + "approved": False, + "merchant_message": "Declined. PPC - Invalid card" + }, + "588": { + "type": "Global Payments", + "cardholder_message": "NO TRANS FOUND", + "approved": False, + "merchant_message": "NO TRANS FOUND" + }, + "1056": { + "type": "Desjardins", + "cardholder_message": "CALL FOR AUTH", + "approved": False, + "merchant_message": "Declined. System error with security boxes" + }, + "822": { + "type": "Bambora", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "AVS mismatch. Transaction reversed" + }, + "156\u2013157": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "555": { + "type": "Vital", + "cardholder_message": "MICR Error", + "approved": False, + "merchant_message": "MICR Error" + }, + "813": { + "type": "Bambora", + "cardholder_message": "User session has expired", + "approved": False, + "merchant_message": "User session has expired" + }, + "903": { + "type": "UK", + "cardholder_message": "Invalid Order Info", + "approved": False, + "merchant_message": "Invalid Order Info" + }, + "647\u2013649": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RE-TRY EDIT ERROR" + }, + "689": { + "type": "First Data", + "cardholder_message": "INV AMT", + "approved": False, + "merchant_message": "INV AMT" + }, + "716": { + "type": "First Data", + "cardholder_message": "CAPT. NOT ALLOWED", + "approved": False, + "merchant_message": "CAPT. NOT ALLOWED" + }, + "874\u2013875": { + "type": "UK", + "cardholder_message": "Transaction refused: Card is blacklisted", + "approved": False, + "merchant_message": "Transaction refused: Card is blacklisted" + }, + "77\u201385": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "655": { + "type": "INTERAC Online", + "cardholder_message": "CARD IS NOT SETUP REFER TO BRANCH", + "approved": False, + "merchant_message": "CARD IS NOT SETUP REFER TO BRANCH" + }, + "340": { + "type": "EBP/ACH", + "cardholder_message": "Payment recalled", + "approved": False, + "merchant_message": "Payment recalled" + }, + "475": { + "type": "Paymentech", + "cardholder_message": "WX Not Allowed", + "approved": False, + "merchant_message": "WX Not Allowed" + }, + "110\u2013122": { + "type": "TD", + "cardholder_message": "Declined", + "approved": False, + "merchant_message": "Declined" + }, + "1079": { + "type": "Desjardins", + "cardholder_message": "INVALID PROGRAM", + "approved": False, + "merchant_message": "Declined. PPC - The selected program is inactive" + }, + "665\u2013668": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS PLEASE RE-TRY", + "approved": False, + "merchant_message": "RETRY SYSTEM PROBLEM" + }, + "627": { + "type": "EBP/ACH", + "cardholder_message": "Edit Reject", + "approved": False, + "merchant_message": "Edit Reject" + }, + "934": { + "type": "UK", + "cardholder_message": "Blocked in fraud screening", + "approved": False, + "merchant_message": "Blocked in fraud screening" + }, + "889": { + "type": "UK", + "cardholder_message": "Server received corrupt input data format", + "approved": False, + "merchant_message": "Server received corrupt input data format" + }, + "509": { + "type": "Vital", + "cardholder_message": "Card No. Error", + "approved": False, + "merchant_message": "Card No. Error" + }, + "686": { + "type": "First Data", + "cardholder_message": "INVLD MER ID", + "approved": False, + "merchant_message": "INVLD MER ID" + }, + "576": { + "type": "Global Payments", + "cardholder_message": "UNAUTH TRANS", + "approved": False, + "merchant_message": "UNAUTH TRANS" + }, + "1016": { + "type": "Desjardins", + "cardholder_message": "INVALID CARD", + "approved": False, + "merchant_message": "Declined. Track2 invalid" + }, + "354": { + "type": "Paymentech", + "cardholder_message": "Invalid ABA No", + "approved": False, + "merchant_message": "Invalid ABA No" + }, + "1038": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. Declined by the issuer" + }, + "768": { + "type": "EBP/ACH", + "cardholder_message": "No pre-notification - Business", + "approved": False, + "merchant_message": "No pre-notification - Business" + }, + "359": { + "type": "Paymentech", + "cardholder_message": "Invalid Tran Fmt", + "approved": False, + "merchant_message": "Invalid Tran Fmt" + }, + "909": { + "type": "UK", + "cardholder_message": "Invalid Amount", + "approved": False, + "merchant_message": "Invalid Amount" + }, + "1008": { + "type": "Desjardins", + "cardholder_message": "INVALID CARD", + "approved": False, + "merchant_message": "Declined. The Admin card must be from the same institution as the POS" + }, + "610": { + "type": "Global Payments", + "cardholder_message": "EXCEEDS MAX AMT", + "approved": False, + "merchant_message": "EXCEEDS MAX AMT" + }, + "854\u2013855": { + "type": "UK", + "cardholder_message": "Transaction refused", + "approved": False, + "merchant_message": "Transaction refused" + }, + "714": { + "type": "First Data", + "cardholder_message": "INV ACCT", + "approved": False, + "merchant_message": "INV ACCT" + }, + "1072": { + "type": "Desjardins", + "cardholder_message": "DECLINED", + "approved": False, + "merchant_message": "Declined. EMV - Error with the security box" + }, + "383": { + "type": "Paymentech", + "cardholder_message": "Auth Declined", + "approved": False, + "merchant_message": "CVD Error 248" + }, + "531": { + "type": "Vital", + "cardholder_message": "Unsolic Reversal", + "approved": False, + "merchant_message": "Unsolic Reversal" + }, + "1048": { + "type": "Desjardins", + "cardholder_message": "PLEASE RETRY", + "approved": False, + "merchant_message": "Declined. System error" + }, + "646": { + "type": "INTERAC Online", + "cardholder_message": "INVALID CARD REFER TO BRANCH", + "approved": False, + "merchant_message": "INVALID CARD REFER TO BRANCH" + }, + "940": { + "type": "Bambora", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "Masterpass account is not enabled" + }, + "918": { + "type": "UK", + "cardholder_message": "Invalid CVD Code State", + "approved": False, + "merchant_message": "Invalid CVD Code State" + }, + "593": { + "type": "Global Payments", + "cardholder_message": "APPROVED", + "approved": True, + "merchant_message": "APPROVED" + }, + "1001": { + "type": "Desjardins", + "cardholder_message": "APPROVED", + "approved": True, + "merchant_message": "Approved with balance" + }, + "1042": { + "type": "Desjardins", + "cardholder_message": "PIN REQUIRED", + "approved": False, + "merchant_message": "Declined. The card PIN is required for this card (can be admin card)" + }, + "318": { + "type": "Bambora", + "cardholder_message": "CALL HELP DESK", + "approved": False, + "merchant_message": "No transaction request data received" + }, + "441": { + "type": "Paymentech", + "cardholder_message": "Proc Error 14", + "approved": False, + "merchant_message": "Proc Error 14" + }, + "373": { + "type": "Paymentech", + "cardholder_message": "Card Not Allowed", + "approved": False, + "merchant_message": "Card Not Allowed" + }, + "572": { + "type": "Global Payments", + "cardholder_message": "INVLD ACCT", + "approved": False, + "merchant_message": "INVLD ACCT" + }, + "451": { + "type": "Paymentech", + "cardholder_message": "Proc Error 24", + "approved": False, + "merchant_message": "Proc Error 24" + }, + "211": { + "type": "Bambora", + "cardholder_message": "Service Unavailable - Please try again later", + "approved": False, + "merchant_message": "Service Unavailable - Please try again later" + }, + "941": { + "type": "Bambora", + "cardholder_message": "DECLINE", + "approved": False, + "merchant_message": "oauth_verifier is required" + }, + "458": { + "type": "Paymentech", + "cardholder_message": "Dscv Not Allowed", + "approved": False, + "merchant_message": "Dscv Not Allowed" + }, + "671": { + "type": "INTERAC Online", + "cardholder_message": "CANNOT PROCESS", + "approved": False, + "merchant_message": "CANNOT PROCESS" + }, + "1080": { + "type": "Desjardins", + "cardholder_message": "TRX NOT ALLOWED", + "approved": False, + "merchant_message": "Declined. PPC - The merchant does not have access to the transaction program" + }, + "463\u2013469": { + "type": "Paymentech", + "cardholder_message": "Failed-Plz Call", + "approved": False, + "merchant_message": "Failed-Plz Call" + }, + "406": { + "type": "Paymentech", + "cardholder_message": "Invalid Function", + "approved": False, + "merchant_message": "Invalid Function" + }, + "694": { + "type": "First Data", + "cardholder_message": "EXPIRED CARD", + "approved": False, + "merchant_message": "EXPIRED CARD" + }, + "860": { + "type": "UK", + "cardholder_message": "Transaction refused: The type of the reference transaction does not allow this transaction", + "approved": False, + "merchant_message": "Transaction refused: The type of the reference transaction does not allow this transaction" + }, + "629": { + "type": "EBP/ACH", + "cardholder_message": "Currency/Account Mismatch", + "approved": False, + "merchant_message": "Currency/Account Mismatch" + }, + "1004": { + "type": "Desjardins", + "cardholder_message": "APPROVED", + "approved": True, + "merchant_message": "Approved. Administrative Transaction" + }, + "440": { + "type": "Paymentech", + "cardholder_message": "Proc Error 13", + "approved": False, + "merchant_message": "Proc Error 13" + }, + "902": { + "type": "UK", + "cardholder_message": "Invalid Order Description", + "approved": False, + "merchant_message": "Invalid Order Description" + } } - avs_response_codes = { '0': {'result': '0', 'processed': '0', 'address': '0', 'postal': '0', 'message': 'Address Verification not performed for this transaction.'}, '5': {'result': '0', 'processed': '0', 'address': '0', 'postal': '0', 'message': 'Invalid AVS Response.'}, diff --git a/beanstream/transaction.py b/beanstream/transaction.py index b80b327..e985c0c 100644 --- a/beanstream/transaction.py +++ b/beanstream/transaction.py @@ -128,8 +128,8 @@ def handle_errors(self, response): if status != 200: message = response.read() message = message.decode('utf-8') - log.error('response code not OK: %s message: ', status, message) - return errors.getMappedException(status) + log.error('response code not OK: %s message: %s', status, message) + return errors.getMappedException(status)(message) else: return None @@ -142,7 +142,7 @@ def process_rest(self, passcode): self.populate_url() log.debug('Sending to %s: %s', self.url, data) - '''print('Sending to ', 'https://www.beanstream.com'+self.url, data)''' + '''print('Sending to ', 'https://web.na.bambora.com'+self.url, data)''' requestType = self.request_type if requestType is None: @@ -154,7 +154,7 @@ def process_rest(self, passcode): 'Content-Type': 'application/json', 'Authorization': passcode } - connection = HTTPSConnection('www.beanstream.com') + connection = HTTPSConnection('web.na.bambora.com') try: connection.request(requestType, self.url, data, headers) response = connection.getresponse() @@ -177,10 +177,10 @@ def process_rest(self, passcode): def process_query_param(self, passcode): data = urlencode(self.params) - '''print('Sending to ', 'https://www.beanstream.com'+self.url, data)''' + '''print('Sending to ', 'https://web.na.bambora.com'+self.url, data)''' - log.debug('Sending to ', 'https://www.beanstream.com'+self.url, data) - request = Request('https://www.beanstream.com'+self.url) + log.debug('Sending to ', 'https://web.na.bambora.com'+self.url, data) + request = Request('https://web.na.bambora.com'+self.url) request.add_header('Authorization', passcode) res = open_url(request, data) From 5916fd7bf53e2498f893e2f07dee53dfc348bb42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Faure-Lacroix?= Date: Thu, 6 Sep 2018 10:20:23 +0300 Subject: [PATCH 2/2] Changed auth method --- beanstream/gateway.py | 2 +- beanstream/response_codes.py | 4 ++-- beanstream/transaction.py | 26 ++++++++++++++------------ 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/beanstream/gateway.py b/beanstream/gateway.py index 0cc4276..fd0dfce 100644 --- a/beanstream/gateway.py +++ b/beanstream/gateway.py @@ -265,7 +265,7 @@ def get_legato_token(self, card_number, expiry_month, expiry_year, cvd): headers={ 'Content-Type': 'application/json' } - connection = HTTPSConnection('dev.na.bambora.com') + connection = HTTPSConnection('www.beanstream.com') result = None try: connection.request('POST', '/scripts/tokenization/tokens', data, headers) diff --git a/beanstream/response_codes.py b/beanstream/response_codes.py index 16ec4fb..c49182b 100644 --- a/beanstream/response_codes.py +++ b/beanstream/response_codes.py @@ -1,9 +1,9 @@ response_codes = { "0": { "type": "test", - "cardholder_message": "ERROR", + "cardholder_message": "Authorization Failed", "approved": False, - "merchant_message": "ERROR", + "merchant_message": "Authorization Failed", }, "1114": { "type": "Desjardins", diff --git a/beanstream/transaction.py b/beanstream/transaction.py index e985c0c..8b2a168 100644 --- a/beanstream/transaction.py +++ b/beanstream/transaction.py @@ -31,6 +31,9 @@ log = logging.getLogger('beanstream.transaction') +#ENDPOINT = 'https://www.beanstream.com' +ENDPOINT_DOMAIN = 'api.na.bambora.com' +ENDPOINT = 'https://%s' % ENDPOINT_DOMAIN class Transaction(object): @@ -108,8 +111,9 @@ def commit(self): - auth = base64.b64encode( (str(self.beanstream.merchant_id)+':'+apicode).encode('utf-8') ) - passcode = 'Passcode '+str(auth.decode('utf-8')) + #auth = base64.b64encode( (str(self.beanstream.merchant_id)+':'+apicode).encode('utf-8') ) + #passcode = 'Passcode '+str(auth.decode('utf-8')) + passcode = apicode #for testing exception handling if self.beanstream.testErrorGenerator is not None: @@ -141,8 +145,6 @@ def process_rest(self, passcode): data = self.params['rest'] self.populate_url() - log.debug('Sending to %s: %s', self.url, data) - '''print('Sending to ', 'https://web.na.bambora.com'+self.url, data)''' requestType = self.request_type if requestType is None: @@ -152,9 +154,11 @@ def process_rest(self, passcode): requestType = 'POST' headers={ 'Content-Type': 'application/json', - 'Authorization': passcode + #'Authorization': passcode } - connection = HTTPSConnection('web.na.bambora.com') + connection = HTTPSConnection(ENDPOINT_DOMAIN) + url = '%s?passcode=%s' % (self.url, passcode) + log.debug('Sending to %s: %s', url, data) try: connection.request(requestType, self.url, data, headers) response = connection.getresponse() @@ -176,12 +180,10 @@ def process_rest(self, passcode): ''' def process_query_param(self, passcode): data = urlencode(self.params) - - '''print('Sending to ', 'https://web.na.bambora.com'+self.url, data)''' - - log.debug('Sending to ', 'https://web.na.bambora.com'+self.url, data) - request = Request('https://web.na.bambora.com'+self.url) - request.add_header('Authorization', passcode) + url = '%s%s?passcode=%s' % (ENDPOINT, self.url, passcode) + log.debug('Sending to ', '%s%s' % (ENDPOINT, url), data) + request = Request(url) + #request.add_header('Authorization', passcode) res = open_url(request, data)