API - PAYMENTS
General
Overview
The EdgePay Payment API is a RESTFul, Stateless Application Protocol Interface that utilizes an HTTPS Header for Authentication and a JSON body for the required data to generate a Payment request. The system will always prepare a Payment Response and return it to your server.
Action Codes
The payment API carries a deep, rich set of function to support many business types and needs. We have implemented "ACTION CODES" to allow you to expand or contract the API to your specific needs. This allows you to generate Payments with a minimum DATA SET.
Authentication
Here is the Test Key you can use for testing and construction.
merchantKey: E3DFE3D0150EB516F4E351CE7FE5A2FB799B320BDC5D523B
To authenticate payment requests, we issue you a Merchant Key. You must protect this key and never expose or share it.
DBA | MID | Terminal ID | Merchant API Key |
---|---|---|---|
API | 6320340123456900 | 88800000282601 | E3DFE3D0150EB516F4E351CE7FE5A2FB799B320BDC5D523B |
Pivot | 6320340123456901 | 88800000282601 | C8E05D70D3C8D3D675EAA2FE86674FEA3BCE1AFBECA4322C |
HPP | 6320340123456902 | 88800000282601 | B9B51FC2490BEC32B6D3B9F4C13ED35D6E753EC4133BDC6E |
Recurring | 6320340123456903 | 88800000282601 | 67168CA2B96231F4BFF26E38EFFBA2FDFE4001DFCBABA8EF |
Host Based, Time Initiated
Typical cutoff is 5:45 PM PST
The system is "HOST BASE, TIME INITIATED" for processing clearing (collecting payments from card holders or check writers) and settlement (paying collected funds to merchants). At merchant configuration we set a cutoff time and all approved transactions with a capture delivered will be processed for payment and settlement.
Duplicate Checks
Consider randomized versus serialized "externalReferenceID"
The service uses an "externalReferenceID" in the header that you set for duplicate checking. If you use the same externalReferenceID within a 3-day period, EdgePay will decline the transaction.
Connecting to EdgePay
Development URL
https://api.edgepay-uat.com/path
Production URL
https://edgepayapi.com/path
The EdgePay API services are URL-based. The URL is appended with the specific function requested.
Development
Function | URL |
---|---|
Pivot JS script | https://static.edgepay-uat.com/public/js/edgepayPivot.min.js |
Function | URL |
---|---|
One Time Pivot key | https://api.edgepay-uat.com/generatePivotAuthKey |
Pivot JS script | https://static.edgepayportal.com/public/js/edgepayPivot.min.js |
Payment | https://api.edgepay-uat.com/payment |
Refund | https://api.edgepay-uat.com/refund |
Token | https://api.edgepay-uat.com/token |
Recurring | https://api.edgepay-uat.com/recurring/customer/add |
Production
Function | URL |
---|---|
One Time Pivot key | https://edgepayapi.com/generatePivotAuthKey |
Pivot JS script | https://static.edgepayportal.com/public/js/edgepayPivot.min.js |
Payment | https://edgepayapi.com/payment |
Refund | https://edgepayapi.com/refund |
Token | https://edgepayapi.com/token |
Recurring | https://edgepayapi.com/recurring/customer/add |
Payment Request
Use the ACTION CODES to control the request!
With the payment API here is a list of all the things you can do!
- Authentication Request
- Capture request
- Sale Request (Auth + Capture)
- Void/Refund/Reversal
- AVS ONLY
- CVV ONLY
- Adjust Amount
- ACH Sale
Payment Header
POST/ Payment http
Host:edgepayapi.com
content-type:application/json
merchantKey:575DBCTCHF5D68E...
externalReferenceID:123456789
transactionDate:2018-06-12 02:06:22
Cache-control:No-cache
The payment header contains the private merchantKey, your externalReferenceID and transactionDate in UTC along with the URL and function.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
merchantKey | 48 | AN | Provided by GET for production |
externalReferenceId | 16 | N | Used for unique processing - you assign |
transactionDate | 20 | calendar | Set to UTC timezone |
Payment Request
The payment request body is constructed to support a JSON object using HTTP protocol and the POST method. Action Codes are used to expand the function as needed.
Full API
Example Payment Request
{
"CaptureToo": "Yes",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"paymentDataInput": "mail",
"amount": "10.50"
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
merchantID | 19 | N | Required - Unique ID assigned by EdgePay |
terminalID | 19 | N | Required - Unique ID also assigned by EdgePay |
cardNumber | 19 | N | Conditional - Supply this if card entered manually |
cardExpirationDate | 4 | N | Conditional - Provide if cardNumber is used (MMYY) |
trackData | 16 | AN | Conditional - Track1 or Track2 unencrypted Swipe or EMV |
eCheckRoutingNumber | 9 | N | Conditional - Required for eCheck. Routing number for bank |
eCheckAccountNumber | 19 | N | Conditional - Required for eCheck account number for check writer |
eCheckTransactionType | 3 | A | The standard entry Classifications for eCheck valid are: ARC - Accounts Receivable Truncation. CCD - Cash Concentration and Disbursement. PPD - Prearranged Payment and deposit. POD - Point of purchase. Web - WEB Initiated transaction. TEL - Telephone Initiated transaction. |
eCheckSerialNumber | 15 | N | Conditional - Required for ARC & POP |
eCheckAccountType | 1 | AN | Conditional for eCheck Default: C - Checking. G - General Ledger S - Savings |
eCheckReceivingCompanyName | 50 | A | Conditional - Required for CCD transactions |
eCheckReceiverName | 50 | ANC | Conditional - Required for ARC Transaction. |
tokenID | 16 | N | Conditional - May supply in place of trackData or cardNumber from previous request |
paymentDataInput | 14 | AN | Required - Defines the point of sale card enter mode: - Phone - Internet - Swipe - NFC - EMV - EMV Contactless - Fallback Swipe - Barcode - Manual entry |
amount | 12 | N | Required - Total amount to charge with or without decimal. All minor units after decimal. No decimal amount is processed as major units (dollars, euros, etc.) |
currencyCode | 3 | N | Optional = Assumes USD unless otherwise specified |
customerName | 30 | AN | Conditional - Required for eCheck. Optional for all other transactions. |
processor | 10 | AN | Future use |
billingAddress | 200 | AN | Conditional - Not required but may improve interchange rate for phone, mail, internet, or manual entry |
billingCity | 50 | AN | same as billingAddress |
billingState | 2 | A | same as billing Address |
billingZip | 10 | AN | same as billing Address "-" Allowed |
cvv2 | 4 | N | Optional - Security code from Card |
merchantField1 | 200 | AN | Optional - Reporting |
merchantField2 | 200 | AN | Optional - Reporting |
posData | - | - | Optional description for eCheck |
goodsOrServices | 10 | AN | Optional Description |
Action Codes
Action codes allow you to extend the functionality of the Payment API. These codes allow you to tailor the transaction to your specific needs. Explore the codes by expanding them to see if they fit your business needs
Capture Too
This action code allows you to capture the transaction at the same time you authorize it. Use this if you ship same day and there is no variation in amount.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
captureToo | 3 | A | "Yes" will authorize and if successful will capture and mark the transaction for settlement. |
Capture Only
Insert same Example with only
{
"captureOnly": "Yes",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"transactionID": "CS94939509367138043"
}
The captureOnly action code is to be used as a separate transaction after authorization payment transaction is processed and successful.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
captureOnly | 3 | A | Required Value is "Yes" |
merchantID | 19 | N | Required - Unique ID assigned by EdgePay |
terminalID | 19 | N | Required - Unique ID assigned by EdgePay |
transactionID | 17 | AN | 'CS' for card service, as for ACH. Assigned by EdgePay. |
amount | 12 | N | Optional - Include if different from Auth Amount |
currencyCode | 3 | N | Optional - For multi-currency |
tip | 12 | N | Send if tip added after authorization. Update amount also. |
Recurring
If you intend to process recurring payments it is important to indicate this in your transactions.
First Payment
For the initial payment on a recurring transaction, provide only the cardOnFile indicator.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
cardOnFile | 1 | A | "Y" indicates the transaction will be retained for future payments |
Subsequent Payment
For all subsequent payments, use the recurring Action Codes and associated sub-fields as needed.
Example Subsequent Recurring Payment
{
"caturetoo": "Yes",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"billingZup": "85294",
"amount": "1.50",
"recurring": "Yes",
"billingType": "IASTAMENT",
"paymentCount": "12",
"currentPaymentCount": "2"
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
recurring | 3 | A | "Yes" for all Subsequent payments |
billingType | 25 | A/C | Required - The type of billing schedule opted by the customer for the recurring payment. Allowed values are: - Installment - Fixed_Amount_Recurring - Single_Installment - Variable_Amount_Recurring - One_Time_Review |
paymentCount | 4 | N | Conditional - Required if billingType = Installment. The count of payments in a recurring schedule of payments Send either the end date or the count |
currentPaymentCount | 3 | N | Conditional - Required if billingType = installment. Indicates the current payment count. |
Tokens
Example token request:
{
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"amount": "10.50",
"token": "yes"
}
The token action code returns a 16-digit random value you can safely store on your server in lieu of a credit card/expiration date or eCheck route/account.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
Token | 3 | A | "Yes" returns a tokenID value for local storage in the response. No additional Sub Fields required |
AVS Only
Example AVS Only
{
"avsOnly": "yes",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"paymentDataInput": "mail",
"zip": "85284"
}
Address verification validates both the credit card number and the corresponding zip code. A typical example might be for adding a new card for a recurring payment.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
avsOnly | 3 | A | "Yes" in the field. Amount must be left off the request |
Zip | 10 | AN | Include the cardholder's billing zip. "-" allowed. |
CVV Only
Example CVV Only
{
"cvvOnly": "yes",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"paymentDataInput": "mail",
"cvv2": "999"
}
CVV is the security code on the front or back of the credit card. This transaction increases the authentication for a card-not-present transaction without holding funds.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
cvvOnly | 3 | A | "Yes" in the field. Amount must be left off the request |
cvv2 | 4 | N | The security code on the card. |
Adjust
Example Adjust
{
"adjust":"yes",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"paymentDataInput": "mail",
"amount": "5.00",
"tax": "1.01",
"tip": ".34"
}
The Adjust action code allows you to adjust the amount on a previously captured transaction that has not yet settled.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
adjust | 3 | A | "Yes" to adjust the amount of a captured transaction prior to settlement. |
amount | 12 | N | Required - send new total amount to settle. |
tip | 12 | N | O - send if tip amount needs to be adjusted |
tax | 12 | N | O - send if tax amount needs to be adjusted |
Level 2
Example Level 2
{
"captureToo": "yes",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"paymentDataInput": "mail",
"amount": "10.50",
"level2": "yes",
"level2Capture": "yes",
"tax": "2.0",
"purchaseOrder": "123"
}
If your merchant's customers are other businesses, then you want to enable this action code. Level 2 Data when added to both your auth and capture will lower interchange by as much as 1/2% for some business, corporate and purchasing cards
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
level2 | 3 | A | "Yes" invokes level 2 process |
level2Auth | 3 | A | Conditional - "Yes" is required if an authorization only |
level2Capture | 3 | A | Conditional - "Yes" is required if a captureToo or "captureOnly" Action code included |
tax | 12 | N | Send for sales tax. Must be greater than .1% of the total amount. |
purchaseOrder | 17 | AN | Buyers order number |
supplierReferenceNumber | 9 | ANC | This field contains a reference number that is used by American Express to obtain supporting information on a charge from a merchant. (AMEX) |
customerNumber | 17 | ANC | Customer ID Number (AMEX) |
destinationZipCode | 10 | ANC/10 | The Ship to Zip Code(AMEX) Space, “-“ allowed |
chargeDescriptor | 40 | ANC | Amex Additional Descriptor(AMEX) |
Level 3
If your business sells to other major Businesses or to the Government and you accept Purchase Cards (P-CARDS), then you may want to consider implementing Level 3. For certain transactions you can lower your interchange costs by as much as 1% over standard rates. Contact our Developer Support Team for additional information and to see if you may benefit from Level 3 processing!
Healthcare
EdgePay supports healthcare processing for HSA/FSA cards. These are Visa and MasterCard transactions only. To qualify, you must register and receive a Merchant Verification value and the Merchant Type must quality for healthcare. Partial authorization must also be supported. Contact out DEVELOPER SUPPORT Team for additional interment and to see if you may benefit from healthcare processing.
Refund
The refund service is used to credit back a previously authorized or captured payment request. This service will check the status of the original item using the transaction ID.
- If the transaction is authorized but not captured it will reverse the authorization.
- If the transaction is captured but not yet settled it will void the capture.
- If the transaction is settled and the merchant has been paid a credit to the card holder is generated and processed.
- If the amount refunded is less than the original amount, then an adjustment is made if not settled, or a partial credit is given if settled.
A refund can also be sent without a transactionID and offsetting payment. In order to allow, special configuration must be set on the merchant record. Because the refund is not tied to any transaction, a credit will be generated to the cardholder and no checking is performed.
Refund API
DEVELOPMENT URL
https://api.edgepay-uat.com/refund
PRODUCTION URL
https://edgepayapi.com/refund
The EdgePay API services are URL-based. The URL is appended with the specific function requested.
Refund Header
The refund header is consistent with the payment header with exception of the URL.
Refund Request
The refund request is constructed to support a JSON object using http protocol and the POST method.
{
"merchantID": "6320340123456903",
"terminalID": "88800000282601",
"transactionID": "CS12345678901234567"
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
merchantID | 19 | N | REQUIRED - UNIQUE id assigned by EdgePay |
terminalID | 19 | N | REQUIRED - UNIQUE id assigned by EdgePay |
transactionID | 19 | AN | Conditional - either the transactionID or Card Data is required |
cardNumber | 19 | N | Conditional - Provided in lieu of transaction ID. Requires special setup. |
cardExpirationDate | 4 | N | Conditional - see card number |
trackData | 76 | AN | Conditional - In lieu of card number |
amount | 12 | N | Conditional - If amount in refund is different than amount in transactionID, or if the card data is supplied in lieu of the transactionID, then amount is required. With decimal or without. All minor units after decimal. No decimal provided the amount will be processed as major units (dollars, euros). |
Refund Response
The EdgePay Refund Response contains non-sensitive data that you use to validate the status of the request and confirm your next steps.
{
"result": "A",
"responseCode": "A0014",
"responseMessage": "6320340123456903",
"merchantID": "88800000282601",
"terminalID": "9876543210123456",
"timestamp": "2018-09-20-23-05-34",
"processor": "TSYS",
"transactionID": "CS12345678901234567",
"originalTransactionID": "CS98745678901234567"
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
result | 1 | A | A = approved, D = decline, R = Retry, C = Call for help. |
responseCode | 5 | AN | SEE TABLE |
responseMessage | 225 | AN | SEE TABLE |
merchantId | 19 | N | ECHO Back |
terminalID | 19 | N | ECHO Back |
processor | 10 | AN | Processor ID |
timestamp | 19 | Date | YYYY-MM-DD-hh-mm-ss(UTC) |
transactionID | 19 | AN | Transaction ID assigned to the requested refund |
originalTransactionID | 19 | AN | New transactionID associated with this transaction |
Token
The token service is used to generate a random, unique number, per merchant account, so you can store sensitive information on your server. Today we provide tokens for credit card and checking accounts. But our systems are ubiquitous and if you have other sensitive data you wish to convert to a secure token give us a call
Token API
DEVELOPMENT URL
https://api.edgepay-uat.com/token
PRODUCTION URL
https://edgepayapi.com/token
The EdgePay API services are all URL-based. The URL is appended with the specific function requested.
Token Header
The token header is consistent with the PaymentHeader with exception of the URL
Token Request
The token request is constructed to support a JSON object using HTTP protocol and the POST method.
{
"merchantID": "6320340123456903",
"terminalID": "9876543210123456",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220"
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
merchantID | 19 | N | REQUIRED - UNIQUE id assigned by EdgePay |
terminalID | 19 | N | REQUIRED - UNIQUE id assigned by EdgePay |
cardNumber | 19 | N | Conditional - required if requesting token for key entry |
cardExpirationDate | 4 | N | Conditional - required if cardNumber supplied |
trackData | 76 | AN | Required if requesting token for swiped card. |
eCheckRoute | 9 | N | Optional - Required for eCheck token |
eCheckAccount | 17 | N | Optional - Required for eCheck token |
Token Response
The EdgePay Token response contains non-sensitive data that you can use to validate the status of the request and confirm your next steps.
{
"result": "A",
"responseCode": "ED0081",
"responseMessage": "Successful",
"merchantID": "1234567890987654",
"tokenID": "4950632811114639",
"cardExpirationDate": "1220"
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
result | 1 | A | A = approved, D = decline, R = Retry, C = Call for help. |
responseCode | 5 | AN | SEE TABLE |
responseMessage | 225 | AN | SEE TABLE |
merchantId | 19 | N | ECHO Back |
tokenID | 16 | N | Card or checking account token |
cardExpirationDate | 4 | N | Echo Back if present MMYY |
Recurring Payment Manager
The EdgePay Recurring Payment Manager (RPM) will automatically bill your customer for memberships, products or services on you Predetermined Payment Schedule. Using the Processing Center you create those products or services, called a Billing Plan. Once created, you can use this API to add or change customers and their associated contracts. A customer can have more than 1 contract.
Within RPM we also provide notification services via email, account updater services for all cards, and specific reports on declined transactions or expiring contracts so you can manage your customers.
Billing Plans support billing cycles for weekly, semi-monthly, monthly, quarterly, semi-annually, annually, or specific days (up to 60 Days interval available). You can also set up to auto-retry on declines on the 2nd and 5th day after the initiated failed attempt.
Customer history is maintained in Processing Center and available for your support team. Refund can be executed directly from the Processing Center.
RPM API
Recurring Payment Manager (RPM)
DEVELOPMENT URL
https://api.edgepay-uat.com/recurring
PRODUCTION URL
https://edgepayapi.com/recurring
EdgePay RPM Services are URL-based for customer add and change along with their associated contracts. Billing Plans must be defined prior in our Processing center.
RPM Header
The recurring payment manager header is consistent with the PAYMENT HEADER with the exception of the URL
RPM REQUEST
RECURRING PAYMENT MANAGER REQUEST
The RPM request is constructed to support a JSON object using http protocol and the POST method.
Each customer add will consist of a single customer and 1 or more contracts. Contracts are nested using Bracket[] notation.
{
"merchantID": "6320340123456903",
"terminalID": "88800000282601",
"actionCode": "A",
"cardNumber": "4012000098765439",
"cardExpirationDate": "1220",
"customerNumber": "80004567",
"customerName": "Mike Ryan",
"billingAddress": "123 Main St.",
"billingCity": "Torrance",
"billingState": "CA",
"billingZip": "90502",
"shippingAddress": "123 Jones Rd",
"shippingCity": "Torrance",
"shippingState": "CA",
"shippingZip": "90502",
"phoneNumber": "8976546654",
"eMailAddress": "james@gmail.com",
"paymentDataInput": "Mail",
"customerCurrency": "840",
"contractNbr":[
{"status": "A",
"billingPlan": "Gym Plan 1",
"startDate": "2018-09-22",
"endDate": "2022-07-18",
"emailReceipt": "Y",
"emailSchedulePayment": "N",
"emailContractEnd": "Y",
"emailContractCancel": "Y",
"taxable": "Y",
"taxRate": "7.25",
"contractDescription": "Monthly, Gym"
}
]
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
merchantID | 19 | N | Required - unique ID assigned by EdgePay |
terminalID | 19 | N | Required - unique ID assigned by EdgePay |
actionCode | 1 | A | A = Add, C = Change. For change, supply only the change objects. |
cardNumber | 19 | N | Keyed Card |
cardExpirationDate | 4 | N | MMYY - Provide for keyed Cards |
trackData | 76 | AN | Track 1 or track 2 unencrypted swipe or EMV |
tokenID | 16 | N | Provide in lieu of card or eCheck data. Generate from a previous transaction |
eCheckRoute | 9 | N | Optional - Required for eCheck |
eCheckAccount | 17 | N | Optional - Required for eCheck |
eCheckTransType | 3 | A | Optional - Required for eCheck SEE TABLE |
eCheckAccountType | 1 | AN | Define Receiver checking Account Type. Default : Checking C = Checking S = Saving G = General Leader |
token | 3 | A | "Yes" returns a token value |
customerName | 30 | AN | Your customer’s name |
customerNumber | 25 | AN | The customer number you assign |
billingAddress | 200 | AN | customer billing address |
billingCity | 50 | AN | customer billing city |
billingState | 2 | A | customer billing state |
billingZip | 10 | AN | customer billing zip space "-" Allowed |
shippingAddress | 200 | AN | customer shipping address |
shippingCity | 50 | AN | customer shipping city |
shippingState | 2 | A | customer shipping state |
shippingZip | 10 | AN | customer shipping zip |
phoneNumber | 15 | N | customer phone number |
emailAddress | 128 | ANC | customer email |
paymentDataInput | 14 | ANC | Define the point-of-sale entry mode. Allowed values: - Phone - Internet - Swipe - NFC - EMV - EMVContactless - FallBackSwipe - Barcode - Manualentry |
customerCurrency | 3 | N | Default to USD (840) |
changeBackShutOff | 1 | A | Y = set contract to suspend N = Set contract to Active |
emailReceipts | 1 | A | Y = set email to yes N = set email to no |
emailSchedulePayment | 1 | A | Y = set email to yes N = set email to no |
emailContractEnd | 1 | A | Y = set email to yes N = set email to no |
emailContractCancel | 1 | A | Y = set email to yes N = set email to no |
taxable | 1 | A | Y = customer is taxable |
taxRate | 3 | N | To calculate taxable amount for payment |
contractNumber | 20 | N | Unique number assigned by EdgePay. Supply for change request only |
contractDescription | 30 | AN | A description of this contract you assign to be used in emails. |
status | 1 | A | A = Activate, S = Suspend |
billing Plan | 30 | AN | Predefined billing plan name |
startDate | 10 | DATE | YYYY-MM-DD- Required |
endDate | 10 | DATE | Optional - YYYY-MM-DD |
RPM Response
The EdgePay RPM Response contains non-sensitive data that you can use to validate the status of the request and confirm your next steps.
{
"result": "A",
"responseCode": "A0000",
"responseMessage": "Successful",
"merchantID": "6320340123456903",
"terminalID": "88800000282601",
"timestamp": "2018-09-21-19-21-35",
"currencyCode": "840",
"maskedAccountNumber": "401200xxxxxx5439",
"cardExpirationDate": "1220",
"customerNumber": "80004567"
}
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
merchantID | 19 | N | Echo Back |
terminalID | 19 | N | Echo Back |
currencyCode | 3 | N | Echo Back |
maskedAccountNumber | 19 | N | Card or checking account masked as 1st 6 and last 4 for card and last 4 for check |
cardExpirationDate | 4 | N | MMYY - Echo Back |
tokenID | 16 | N | Return a token if requested |
customerNumber | 25 | ANC | Echo Back |
contractNumber | 20 | N | Unique number assigned by EdgePay for a customer's contract |
timestamp | 19 | DATE | YYYY-MM-DD-HH-mm-ss |
Payment Response
The EdgePay payment responses contain non-sensitive data that you use to validate the status of the transaction and confirm your next step in your software workflow. This may be updating your order status, building receipts or updating your customer’s browser. You may even be storing tokens for future payments. Be sure to check the amount. Prepaid cards can be authorized for partial amounts.
Response Header
Connection-> Keep-alive
Content-Encoding-> gzip
Content-Type-> application/Json
Charset-> UTF-8
Date-> Mon, 11 June 2018 18:43:10 GMT
Transfer-encoding-> chunked
Vary-> Accept-Encoding
The payment Response header contains general HTTP standards that your server will be expecting for processing.
Payment Response
Example Payment Response
{
"result": "A",
"securityResult": "A",
"responseCode": "A0000",
"responseMessage": "Success",
"merchantID": "6320340123456900",
"terminalID": "88800000282601",
"timestamp": "2018-06-11 18:43:10",
"authCode": "TAS632",
"Processor": "TSYS",
"amount": "1.23",
"maskedAccount": "401200*****5439",
"cardExpirationDate": "1220",
"customerNumber": "51224",
"avsResponse": "Exact Match (Y) the five-character zip code matches what is on file",
"cvvResponse": "cvv2 verification successful",
"commercial": "N"
}
The Payment response supports a JSON encoded listing of fields below.
Field Name | Max Size | Attribute | Notes |
---|---|---|---|
result | 1 | A | A = approved, D = decline, R = Retry, C = Call for help. You may use this field to drive your software workflow. |
securityResult | 1 | A | Conditional - A = approved, D = decline, R = Review. If the EdgePay Fraud Management Service is enabled FMS will return a result. Use the EdgePay Processing center to review potential security-related transactions. |
authCode | 6 | AN | Conditional - Returned if provided from issuer and request includes Auth. |
Processor | 10 | AN | Processor ID |
responseCode | 5 | AN | SEE TABLE |
responseMessage | 225 | AN | SEE TABLE |
merchantId | 19 | N | ECHO Back |
terminalID | 19 | N | ECHO Back |
amount | 12 | N | Response to requested amount. If less than requested amount, then use partial approval flow. |
currencyCode | 3 | N | Conditional ECHO BACK if included in request |
maskedAccount | 14 | N | Masked account data. Card: first 6, last 4 unmasked. eCheck: last 4 unmasked. |
cardExpirationDate | 4 | N | Conditional returned if provided |
tokenID | 16 | N | Conditional - Provided if requested |
customerNumber | 17 | AN | Conditional - ECHO BACK |
transactionID | 19 | AN | Unique Identifier assigned by EdgePay |
avsResponse | 225 | AN | Conditional - provided for avsOnly or if card not present and billingZip provided. |
cvvResponse | 225 | AN | Conditional - Provided for cvvOnly or if cvv2 field used. Match or mismatch. |
commercialCard | 1 | A | 'Y' - commercial card 'N' - not a commercial card |
timestamp | 19 | Date | YYYY-MM-DD-hh-mm-ss (UTC) |
merchantField1 | 200 | AN | Optional - returned if provided |
merchantField2 | 200 | AN | Optional - returned if provided |
Managing Responses
With each payment response EdgePay delivers a result code. This code may be used to help define the next steps from a software development standpoint.
We have mapped hundreds of Response Codes from the issuers, card brands, and processors, representing a wide range of conditions, into 4 result codes. The current Response code table can be viewed here.
When processing a response, 90% of the time you will receive the A0000 'Success' result. The accompanying result code is 'A'. For any result code of 'A' you would move forward with a workflow for an Approved Payment. We also provide both the Response code and Response message in every response.
Your service will also receive Declined responses. Declines may occur due to card holder insufficient funds or incorrect data entry (Card, eCheck, EXP, CVV2), or because the transaction request could not be processed. If your result code is 'D'. For this condition we recommend your workflow displays the response message and provides the card holder with the opportunity to re-enter or change payment details.
If Result code is a 'C', this indicates a setup problem between you and us and we recommend you decline the payment from a workflow standpoint and call us so we can debug the issue and get you going again.
If the result code is 'R' this is an indication of a system error somewhere in the payment network. Under this condition we recommend you retry the payment request with the same externalReferenceID. If the previous payment request was processed successfully, we will respond with a "Duplicate Transaction". Consider using the approved workflow. If the ResultCode is another 'Retry' consider moving to a Decline workflow and call us for help.
AVS Responses
AVS, or Address Verification Service, compares the card holder billing address information to the information on file at their issuing bank. This service presents the results based on the level of information provided. Typically, merchants use just the billing ZIP code to compare and decide due to variations of street addresses. EdgePay has 3 option for supporting AVS results. They are:
- Decline on AVS billing zip mismatch - If configured for the merchant account, EdgePay will decline the payment request if the billing zip code on file does not match the billing zip code entered. We will also reverse the authorization if approved.
- No Action on AVS information - EdgePay will take no action with respect to AVS result. It is up to your system to decide to Approve or Decline the transaction for the CardHolder. If you decide to decline the payment, the recommend you refund (reverse) the authorization if it was approved by the cardholder’s bank.
- FMS Review - You can set up in the EdgePay Fraud Management Service to review all AVS mismatches. The Payment request will be processed, if approved, but the payments flagged will be displayed in the FMS Review Screen in the Processing Center and you can take action to accept/approve the payment or refund the Payment.
AVS Response Table
{
"avsResponse": "The five character zip code submitted matches what is on file",
"cvvResponse": "CVV2 verification fail/mismatch"
}
EDGEPAY Will Decline
Below is a list of all possible AVS Responses
- Address verification was not requested
- The street address submitted matches what is on file
- The street address submitted matches what is on file. The zip code does not match what is on the file (EdgePay will decline.)
- This service is not supported
- The AVS information was not verified
- The issuer system is currently available
- The five character zip code submitted matches what is on file
- Neither the street address nor zip code matches what is on file (EdgePay will decline.)
- The zip code submitted matches what is on file. The street address does not match what is on file. (EdgePay will decline.)
- AVS is on unavailable
- The nine-character zip code submitted matches what is on file.
CVV Response
Example CVV Response
{
"result": "D",
"responseMessage": "CVV2 verification failed",
"MerchantID": "6320340123456900",
"merchantID": "88800000282601",
"terminalID": "9876543210123456",
"timestamp": "2018-09-18-17-20-09",
"processor": "TSYS",
"amount": "101.00",
"currencyCode": "840",
"maskedCard": "401200******5439",
"cardExpirationDate": "1220",
"transactionID": "CS94939509367138043"
}
If you submit a security code with your payment request (The 3 or 4 digit code on the front or back of the card), EdgePay will compare the security code on file for the card holder with the code entered. If a mismatch, the payment request will be declined.
Response Codes
Response Code | Result Code | Response Message | HTTP Status Code |
---|---|---|---|
A0000 | A | Success | OK |
A0002 | A | Partial Amount Approved | OK |
A0014 | A | Void successful | OK |
D0001 | A | Duplicate Request (Approved previously) | OK |
EP0081 | A | Successful | OK |
EP0340 | A | Presentment event successfully created with Transaction id %s | OK |
EP0409 | A | Notice request processed successfully | OK |
EP0444 | A | Billing Plan saved successfully | OK |
EP0445 | A | Success | OK |
EP0450 | A | Success | OK |
E0202 | C | System Error (CardTran) | BAD_REQUEST |
E0302 | C | System Error (CardUTran) | BAD_REQUEST |
E0911 | C | System Error | BAD_REQUEST |
E0912 | C | Error on Host | BAD_REQUEST |
D0050 | C | Inactive terminal (Backend) | BAD_REQUEST |
D0060 | C | Inactive account (Backend) | BAD_REQUEST |
D0070 | C | Unique ID Error (Backend) | BAD_REQUEST |
D0092 | C | Request Format Error (Backend) | BAD_REQUEST |
D9012 | C | Invalid Merchant_Info/Agent_Chain_Number must be 6 bytes | BAD_REQUEST |
D9015 | C | Head Quarter merchant not found. Head Quarter merchant not found. | BAD_REQUEST |
E0010 | C | Inactive Device (Terminal) | BAD_REQUEST |
E0020 | C | Inactive Merchant (Account) | BAD_REQUEST |
E0021 | C | Merchant (Account) configuration missing | BAD_REQUEST |
E7015 | C | Invalid Transaction Key | BAD_REQUEST |
E9294 | C | terminalData {terminalCapability, terminalOperatingEnvironment, cardholderAuthenticationMethod, terminalAuthenticationCapability, terminalOutputCapability,maxPinLength} group is required | BAD_REQUEST |
EP0011 | C | Inactive/Invalid Terminal | BAD_REQUEST |
EP0012 | C | Authentication failed, please use valid credentials. | BAD_REQUEST |
EP0051 | C | Invalid Merchant Id | BAD_REQUEST |
EP0302 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0305 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0306 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0321 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0322 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0323 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0324 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0325 | C | System Error. Please contact System Admin. | BAD_REQUEST |
EP0402 | C | System error. Please contact administrator | BAD_REQUEST |
EP0403 | C | System Error. Please contact administrator | BAD_REQUEST |
EP0407 | C | System error. Please contact administrator | BAD_REQUEST |
EP0415 | C | System error. Please contact administrator | BAD_REQUEST |
EP0431 | C | System Error. Please contact administrator | BAD_REQUEST |
EP0432 | C | System Error. Please contact administrator | BAD_REQUEST |
EP0443 | C | System error. Please contact administrator | BAD_REQUEST |
EP0501 | C | Invalid Merchant Access Key | BAD_REQUEST |
EP0528 | C | Invalid Merchant ID | BAD_REQUEST |
EP0900 | C | Message format not supported | BAD_REQUEST |
F9901 | C | Format Error field details | BAD_REQUEST |
F9908 | C | Sum of elements of group additionalCharges should not be greater than transaction Amount. | BAD_REQUEST |
F9911 | C | Last chip Read is not Allowed with Fallback Swipe (Empty Candidate List) transaction | BAD_REQUEST |
F9915 | C | Void Reason is Mandatory for Chip Card transaction | BAD_REQUEST |
F9917 | C | Invalid emvTags, {9F1F or 9F20 or 57 or 5A} | BAD_REQUEST |
F9924 | C | Only 3 healthCare amounts are allowed | BAD_REQUEST |
E4012 | D | Duplicate transaction ( Same amount/ Account ). | BAD_REQUEST |
EP0101 | D | The value of element '%s' is missing. | BAD_REQUEST |
EP0102 | D | The value '%s' of element '%s' is not valid. | BAD_REQUEST |
D0003 | D | Duplicate Request (Declined previously) | BAD_REQUEST |
D0004 | D | Reversal Not Allowed | BAD_REQUEST |
D0005 | D | Return Not Allowed | BAD_REQUEST |
D0007 | D | Modify Transaction Not Allowed | BAD_REQUEST |
D0008 | D | Possible Duplicate Request | BAD_REQUEST |
D0009 | D | Duplicate Request (Reversed previously) | BAD_REQUEST |
D0080 | D | Duplicate Request (Backend) | BAD_REQUEST |
D0090 | D | Reversal Not Allowed (Backend) | BAD_REQUEST |
D0091 | D | Return Not Allowed (Backend) | BAD_REQUEST |
D0094 | D | Return not allowed, Card number requested does not match with original transaction card number | BAD_REQUEST |
D0096 | D | Currency code mismatch with original transaction | BAD_REQUEST |
D0097 | D | Multiple amount format in single request not supported | BAD_REQUEST |
D0098 | D | Multiple tax with same tax type is not allowed. | BAD_REQUEST |
D007 | D | One or more Fields missing or incorrect. | BAD_REQUEST |
D201 | D | Unable to determine merchant ID | BAD_REQUEST |
D202 | D | Unable to process your request. | BAD_REQUEST |
D215 | D | Invalid amount | BAD_REQUEST |
D001 | D | Refer to Issuer | BAD_REQUEST |
D002 | D | Suspected Card (pick-up, hot-card) | BAD_REQUEST |
D003 | D | Honor with identification? | BAD_REQUEST |
D004 | D | Invalid Amount | BAD_REQUEST |
D005 | D | Invalid Card | BAD_REQUEST |
D006 | D | No such issuer | BAD_REQUEST |
D007 | D | Invalid fee | BAD_REQUEST |
D008 | D | Incorrect Pin | BAD_REQUEST |
D009 | D | Pin attempts exceeded | BAD_REQUEST |
D010 | D | Key synchronization failed from the host | BAD_REQUEST |
D011 | D | Expired Card | BAD_REQUEST |
D012 | D | Insufficient Funds | BAD_REQUEST |
D013 | D | Invalid From Account | BAD_REQUEST |
D014 | D | Invalid To Account | BAD_REQUEST |
D015 | D | Withdrawal Limit exceeded | BAD_REQUEST |
D016 | D | Withdrawal frequency exceeded | BAD_REQUEST |
D017 | D | Time limit for Pre-Auth reached | BAD_REQUEST |
D018 | D | AVS FAILED | BAD_REQUEST |
D019 | D | Billing ZIP Mismatch | BAD_REQUEST |
D020 | D | CVV2 verification failed | BAD_REQUEST |
D021 | D | Issuer or Switch inoperative | BAD_REQUEST |
D022 | D | Duplicate transaction ( Same amount / Account) | BAD_REQUEST |
D023 | D | Balance unavailable for inquiry | BAD_REQUEST |
D024 | D | Check Digit Err. | BAD_REQUEST |
D025 | D | Excluded Bin ID for Merchant | BAD_REQUEST |
D026 | D | Do not honor | BAD_REQUEST |
D027 | D | AVS and CVV2 failed | BAD_REQUEST |
D028 | D | Invalid Date | BAD_REQUEST |
D029 | D | Invalid Service | BAD_REQUEST |
D030 | D | Host Validation Error | BAD_REQUEST |
D031 | D | Activity Limit exceeded | BAD_REQUEST |
D032 | D | Cannot complete because of Violation | BAD_REQUEST |
D033 | D | Debit Pin Required | BAD_REQUEST |
D034 | D | Debit Pin Required | BAD_REQUEST |
D041 | D | Card information is not provided | BAD_REQUEST |
D216 | D | ReceiverLimitExceeded | BAD_REQUEST |
D800 | D | Invalid FCS ID | BAD_REQUEST |
D801 | D | Invalid Voucher Serial Number | BAD_REQUEST |
D802 | D | Invalid Voucher Approval Code | BAD_REQUEST |
D803 | D | Electronics Benefit Transactions cannot contain Fee or Tax | BAD_REQUEST |
D998 | D | PreFraudScout Decline | BAD_REQUEST |
D999 | D | General Card Auth Decline | BAD_REQUEST |
D1001 | D | Account Number Invalid | BAD_REQUEST |
D1002 | D | Valid Account, Cash payments only. | BAD_REQUEST |
D1003 | D | Amount invalid. | BAD_REQUEST |
D1201 | D | Unable to determine merchant ID | BAD_REQUEST |
D1202 | D | Unable to process your request. | BAD_REQUEST |
D1214 | D | Invalid store ID | BAD_REQUEST |
D1215 | D | Invalid amount | BAD_REQUEST |
D2001 | D | Refer to Issuer | BAD_REQUEST |
D2002 | D | Suspected Card (pick-up, hot-card) | BAD_REQUEST |
D2003 | D | Honor with identification? | BAD_REQUEST |
D2004 | D | Invalid Amount | BAD_REQUEST |
D2005 | D | Invalid Card | BAD_REQUEST |
D2006 | D | No such issuer | BAD_REQUEST |
D2007 | D | Invalid fee | BAD_REQUEST |
D2008 | D | Incorrect Pin | BAD_REQUEST |
D2009 | D | Pin attempts exceeded | BAD_REQUEST |
D2010 | D | Key synchronization failed from the host | BAD_REQUEST |
D2011 | D | Expired Card | BAD_REQUEST |
D2012 | D | Insufficient Funds | BAD_REQUEST |
D2013 | D | Invalid From Account | BAD_REQUEST |
D2014 | D | Invalid To Account | BAD_REQUEST |
D2015 | D | Withdrawal Limit exceeded | BAD_REQUEST |
D2016 | D | Withdrawal frequency exceeded | BAD_REQUEST |
D2017 | D | Time limit for Pre-Auth reached | BAD_REQUEST |
D2018 | D | AVS FAILED | BAD_REQUEST |
D2019 | D | Billing ZIP Mismatch | BAD_REQUEST |
D2020 | D | CVV2 verification failed | BAD_REQUEST |
D2021 | D | Issuer or Switch inoperative | BAD_REQUEST |
D2022 | D | Duplicate transaction (Same amount / Account) | BAD_REQUEST |
D2023 | D | Balance unavailable for inquiry | BAD_REQUEST |
D2024 | D | Check Digit Err | BAD_REQUEST |
D2025 | D | Excluded Bin ID for Merchant | BAD_REQUEST |
D2026 | D | Do not honor | BAD_REQUEST |
D2027 | D | AVS and CVV2 failed | BAD_REQUEST |
D2028 | D | Invalid Date | BAD_REQUEST |
D2029 | D | Invalid Service | BAD_REQUEST |
D2030 | D | Host Validation Error | BAD_REQUEST |
D2031 | D | Activity Limit exceeded | BAD_REQUEST |
D2032 | D | Cannot complete because of Violation | BAD_REQUEST |
D2033 | D | Debit Pin Required | BAD_REQUEST |
D2034 | D | Debit Pin Required | BAD_REQUEST |
D2035 | D | Check Service authentication failure | BAD_REQUEST |
D2039 | D | Could Not Retrieve a Valid Card Number for Token | BAD_REQUEST |
D2041 | D | Card information is not provided | BAD_REQUEST |
E2042 | D | No Card found for the BIN No Card found for the BIN | BAD_REQUEST |
D2200 | D | UNKNOWN_ERROR | BAD_REQUEST |
D2201 | D | CONTENT_TYPE_NOT_SET | BAD_REQUEST |
D2202 | D | UNKNOWN_CONTENT_TYPE | BAD_REQUEST |
D2203 | D | CONTENT_LENGTH_NOT_SET | BAD_REQUEST |
D2204 | D | INCOMING_REQUEST_READ_ERROR | BAD_REQUEST |
D2205 | D | OUTGOING_RESPONSE_SEND_ERROR | BAD_REQUEST |
D2206 | D | INPUT_VALIDATION_ERROR | BAD_REQUEST |
D2208 | D | OCT_FAILED | BAD_REQUEST |
D2209 | D | AFT_FAILED | BAD_REQUEST |
D2210 | D | AFTR_FAILED | BAD_REQUEST |
D2211 | D | REMOTE_VPP_ERROR | BAD_REQUEST |
D2212 | D | INVALID_ISSUER_COUNTRY_CODE | BAD_REQUEST |
D2213 | D | FAST_FUNDS_NOT_ENABLED | BAD_REQUEST |
D2214 | D | INTERNAL_ERROR | BAD_REQUEST |
D2215 | D | ACNL_FAILED | BAD_REQUEST |
D2216 | D | ReceiverLimitExceeded | BAD_REQUEST |
D2800 | D | Invalid FCS ID | BAD_REQUEST |
D2801 | D | Invalid Voucher Serial Number | BAD_REQUEST |
D2802 | D | Invalid Voucher Approval Code | BAD_REQUEST |
D2803 | D | Electronics Benefit Transactions cannot contain Fee or Tax | BAD_REQUEST |
EP0012 | D | Invalid Token | BAD_REQUEST |
EP0013 | D | Merchant is not activated for processing VISA card transactions, please contact system administrator. | BAD_REQUEST |
EP0014 | D | Merchant is not activated for processing MASTERCARD card transactions, please contact system administrator. | BAD_REQUEST |
EP0015 | D | Merchant is not activated for processing AMEX card transactions, please contact system administrator. | BAD_REQUEST |
EP0016 | D | Merchant is not activated for processing DISCOVER card transactions, please contact system administrator. | BAD_REQUEST |
EP0017 | D | Merchant is not activated for processing JCB card transactions, please contact system administrator. | BAD_REQUEST |
EP0018 | D | Merchant is not activated for processing DINERS/CHINA UNIONPAY card transactions, please contact system administrator. | BAD_REQUEST |
EP0019 | D | Invalid Track Data | BAD_REQUEST |
EP0053 | D | Card Number cannot be blank | BAD_REQUEST |
EP0054 | D | Card number is invalid | BAD_REQUEST |
EP0055 | D | Invalid Expiry Date (MMYY) | BAD_REQUEST |
EP0056 | D | Card expiry date cannot be blank | BAD_REQUEST |
EP0057 | D | Not supported card type | BAD_REQUEST |
EP0058 | D | Duplicate Token Request | BAD_REQUEST |
EP0064 | D | Suspend and card-expiry update are simultaneously not allowed | BAD_REQUEST |
EP0065 | D | Invalid Account Number | BAD_REQUEST |
EP0067 | D | Account Number cannot be blank | BAD_REQUEST |
EP0068 | D | Merchant is not configured for E-Check Tokens | BAD_REQUEST |
EP0070 | D | Token status is not valid | BAD_REQUEST |
EP0071 | D | Token is already in active status | BAD_REQUEST |
EP0072 | D | Token is already suspended | BAD_REQUEST |
EP0073 | D | Token not associated with the merchant | BAD_REQUEST |
EP0074 | D | Invalid Usage type, value can be SINGLE/MULTIPLE | BAD_REQUEST |
EP0075 | D | Invalid Purpose type, value can be INTERNAL/EXTERNAL | BAD_REQUEST |
EP0076 | D | Invalid Token Type | BAD_REQUEST |
EP0077 | D | Token Suspended Permanently, alternative token exists | BAD_REQUEST |
EP0078 | D | No Token Exists for this MID | BAD_REQUEST |
EP0079 | D | Token Suspended Permanently | BAD_REQUEST |
EP0080 | D | Routing Number cannot be blank | BAD_REQUEST |
EP0101 | D | The value of element '%s' is missing. | BAD_REQUEST |
EP0102 | D | Not supported card type | BAD_REQUEST |
EP0102 | D | The value '%s' of element '%s' is not valid. | BAD_REQUEST |
EP0103 | D | The field '%s' is invalid. | BAD_REQUEST |
EP0103 | D | The field '%s' is invalid. | BAD_REQUEST |
EP0104 | D | The value of element '%s' is not valid. | BAD_REQUEST |
EP0105 | D | Merchant is not allowed for processing '%s' card transactions, please contact system administrator. | BAD_REQUEST |
EP0106 | D | Level2/Level3 and HealthCare cannot be processed for a single payment request | BAD_REQUEST |
EP0106 | D | Level2/Level3 and HealthCare cannot be processed for a single payment request | BAD_REQUEST |
EP0107 | D | Level2/Level3 Auth request should have Level2/Level3 Auth elements | BAD_REQUEST |
EP0108 | D | Level2/Level3 Auth request should not have Level2/Level3 Capture elements | BAD_REQUEST |
EP0109 | D | HealthCare transactions are only supported by VISA,MasterCard and Discover | BAD_REQUEST |
EP0110 | D | Invalid input fields in request | BAD_REQUEST |
EP0111 | D | Summation of all the sub element amount should be equivalent to total amount | BAD_REQUEST |
EP0112 | D | Duplicate Transaction | BAD_REQUEST |
EP0115 | D | The value of element 'amount' is not required. | BAD_REQUEST |
EP0116 | D | Refund transaction not possible for this transaction. | BAD_REQUEST |
EP0117 | D | The value of element 'cardDataSource' is not required | BAD_REQUEST |
EP0118 | D | Invalid Transaction Logging Request | BAD_REQUEST |
EP0119 | D | Requested operation cannot be performed on this transaction. | BAD_REQUEST |
EP0120 | D | Level2/Level3 Capture request should not have Level2 or Level3 Auth element | BAD_REQUEST |
EP0121 | D | Level2/Level3 Capture request should have Level2 or Level3 Capture element | BAD_REQUEST |
EP0122 | D | Requested operation cannot be performed on this transaction. | BAD_REQUEST |
EP0123 | D | Partial Refund not allowed for Authorized transactions | BAD_REQUEST |
EP0124 | D | Token generation is not allowed for requested operation. | BAD_REQUEST |
EP0301 | D | ACH Transaction already Voided | BAD_REQUEST |
EP0302 | D | Invalid Routing Number | BAD_REQUEST |
EP0303 | D | Invalid %s with value %s | BAD_REQUEST |
EP0304 | D | Missing %s | BAD_REQUEST |
EP0310 | D | Invalid Token | BAD_REQUEST |
EP0316 | D | Either Customer Name or Receiver Name is required | BAD_REQUEST |
EP0317 | D | Ach Transaction already Refunded | BAD_REQUEST |
EP0320 | D | Duplicate Transaction | BAD_REQUEST |
EP0330 | D | ARC transaction is not supported for amount more than 25,000 | BAD_REQUEST |
EP0344 | D | Requested refund amount is greater than original amount | BAD_REQUEST |
EP0345 | D | Token not associated with the merchant | BAD_REQUEST |
EP0346 | D | ACH Service not enabled for merchant | BAD_REQUEST |
EP0347 | D | Merchant is not allowed to use API | BAD_REQUEST |
EP0403 | D | No customer found | BAD_REQUEST |
EP0408 | D | Merchant is not configured for %s Type payment | BAD_REQUEST |
EP0414 | D | Invalid Token. %s | BAD_REQUEST |
EP0414 | D | Customer already exists | BAD_REQUEST |
EP0418 | D | Contract cannot be associated with Suspended Billing Plan | BAD_REQUEST |
EP0419 | D | Merchant is not configured for E-Check payment | BAD_REQUEST |
EP0421 | D | Invalid %s with value %s. Only Y or N is accepted | BAD_REQUEST |
EP0422 | D | At least one contract should be present | BAD_REQUEST |
EP0422 | D | Invalid start date. Contract Start Date %s cannot be past date. | BAD_REQUEST |
EP0423 | D | This Merchant does not have selected Billing Plan | BAD_REQUEST |
EP0423 | D | Invalid end date. Contract End Date %s should be after Contract Start Date %s. | BAD_REQUEST |
EP0424 | D | Cannot create new contract with suspended status | BAD_REQUEST |
EP0428 | D | No contract found | BAD_REQUEST |
EP0429 | D | No results found | BAD_REQUEST |
EP0446 | D | No record found | BAD_REQUEST |
EP0447 | D | Duplicate record '%s' | BAD_REQUEST |
EP0512 | D | Error generating ACH Token for Merchant | BAD_REQUEST |
EP0765 | D | Level2/Level3 is not supported by '%s' card. | BAD_REQUEST |
EP901 | D | Expected Fraud Transaction | BAD_REQUEST |
EP906 | D | Invalid Card Number | BAD_REQUEST |
F9909 | D | cashTendered must not be less than transactionAmount | BAD_REQUEST |
F9910 | D | lastChipRead is Mandatory with Fallback Swipe (Icc Terminal Error) transaction | BAD_REQUEST |
F9912 | D | Invalid content, one of {track1Data, track2Data, track3Data} is required | BAD_REQUEST |
F9913 | D | Invalid content, {encodedCardData, keyedCardData or swipedCardData} is not Allowed with Chip Card | BAD_REQUEST |
F9914 | D | emvFallbackCondition is Mandatory with Fallback Swipe transaction | BAD_REQUEST |
F9916 | D | Fallback Swipe allowed with track2Data only | BAD_REQUEST |
F9918 | D | Invalid content, {track1Data, track3Data, emulatedTrackData} is not Allowed with Chip Card and encryptionType | BAD_REQUEST |
R0001 | D | Service Not Enabled | BAD_REQUEST |
R0003 | D | Invalid Customer Data | BAD_REQUEST |
R0009 | D | Chargeback Shutoff | BAD_REQUEST |
T0001 | D | Service Not Enabled | BAD_REQUEST |
EP0082 | R | Token Service Error Occurred | BAD_REQUEST |
EP0083 | R | Error in Token Generation | BAD_REQUEST |
A2207 | R | OUTGOING_REQUEST_FAIL | INTERNAL_SERVER_ERROR |
D5213 | R | Service is temporarily unavailable. Please try later | INTERNAL_SERVER_ERROR |
E0015 | R | Unable to process your request. Settlement InProgress. | BAD_REQUEST |
E0910 | R | Time out TIMEOUT | |
E5213 | R | Service is temporarily unavailable. Please try later | INTERNAL_SERVER_ERROR |
E6072 | R | Transaction is in process. Please try again after some time. | INTERNAL_SERVER_ERROR |
E8900 | R | System Error | INTERNAL_SERVER_ERROR |
EP0113 | R | Multipass Service Failed. Please retry or contact system administrator. | BAD_REQUEST |
EP0114 | R | Internal error occurred. Please retry or contact system administrator. | BAD_REQUEST |
EP0125 | R | Transaction has been declined, please try again | BAD_REQUEST |
EP0126 | R | System Error!! | BAD_REQUEST |
EP0326 | R | System Error. Please try again | INTERNAL_SERVER_ERROR |
EP0327 | R | System Error. Please try again | INTERNAL_SERVER_ERROR |
EP0328 | R | System Error. Please try again | INTERNAL_SERVER_ERROR |
EP0329 | R | System Error. Please try again | INTERNAL_SERVER_ERROR |
EP0331 | R | %s with value %s not supported | INTERNAL_SERVER_ERROR |
T0003 | R | Service Unsucessful | INTERNAL_SERVER_ERROR |