Skip to content

Instantly share code, notes, and snippets.

@rupomkhondaker
Forked from ZhiliangGong/codes.ts
Created November 27, 2022 19:33
Show Gist options
  • Save rupomkhondaker/4f8a348603498a68cac063a5d9017a59 to your computer and use it in GitHub Desktop.
Save rupomkhondaker/4f8a348603498a68cac063a5d9017a59 to your computer and use it in GitHub Desktop.
NMI response codes
export enum NmiResponse {
Approved = '1',
Declined = '2',
Errored = '3'
}
// ref: http://www.noblepay.com/pdf/NMI_Direct_Post_API(19).pdf
export const NmiResponseCode = {
'100': 'transaction was approved',
'200': 'transaction was declined by processor',
'201': 'do not honor',
'202': 'insufficient funds',
'203': 'over limit',
'204': 'transaction not allowed',
'220': 'incorrect payment data',
'221': 'no such card issuer',
'222': 'no card number on file with issuer',
'223': 'expired card',
'224': 'invalid expiration date',
'225': 'invalid card security code',
'240': 'call issuer for further information',
'250': 'pick up card',
'251': 'lost card',
'252': 'stolen card',
'253': 'fraudulent card',
'260': 'declined with further instructions available (see response text)',
'261': 'declined - stop all recurring payments',
'262': 'declined - stop this recurring program',
'263': 'declined - update cardholder data available',
'264': 'declined - retry in a few days',
'300': 'transaction was rejected by gateway',
'400': 'transaction error returned by processor',
'410': 'invalid merchant configuration',
'411': 'merchant account is inactive',
'420': 'communication error',
'421': 'communication error with issuer',
'430': 'duplicate transaction at processor',
'440': 'processor format error',
'441': 'invalid transaction information',
'460': 'processor feature not available',
'461': 'unsupported card type'
}
export const AvsResponseCode = {
A: 'Address match only',
B: '',
C: '',
D: '',
E: 'Not a mail/phone order',
G: 'Non-U.S. Issuer does not participate',
I: '',
L: '',
M: '',
N: 'No address or ZIP match',
O: '',
P: '',
R: 'Issuer system unavailable',
S: 'Service not supported',
U: 'Address unavailable',
W: '9-character numeric ZIP match only',
X: 'Exact match, 9-character numeric ZIP',
Y: 'Exact match, 5-character numeric ZIP',
Z: '5-character ZIP match only',
0: 'AVS Not Available'
}
export const CvvResponseCode = {
M: 'CVV2/CVC2 Match',
N: 'CVV2/CVC2 No Match',
P: 'Not Processed',
S: 'Merchant has indicated that CVV2/CVC2 is not present on card',
U: 'Issuer is not certificated and/or has not provided Visa encryption keys'
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment