NAV Navbar

Logo

Introduction

USIO - Payments API 2.0 Documentation

USIO Payments API 2.0 is a robust web service with SOAP, WCF and REST/JSON endpoints.
This API allows you to submit debits and credits through the Debit Card/ACH/Credit Card networks.
You will also be able to setup recurring payments, Void or Return payments, view transaction details, and run reports.

Last updated on, 6/13/23 © USIO.

Change Log

DateAuthorDoc VersionChange Summary
11/7/2018 Tracy Rickman 2.0 Initial web release
12/5/2018 Rachel Carlini 2.01 Minor text fixes
12/28/2018 Tracy Rickman 2.02 Updates to Printed Check Method and Minor text fixes
1/14/2019 Tracy Rickman 2.03 Added Cash Payment Method
3/13/2019 Tracy Rickman 2.05 Added new Gateway and PDS Response Codes
3/25/2019 Rachel Carlini 2.06 Added Get Convenience Fee Method
4/12/2019 Tracy Rickman 2.07 Added Mobile Wallet Support
4/30/2019 Rachel Carlini 2.08 Added Biller Class to FindBiller Return Object
5/20/2019 Rachel Carlini 2.10 Updated Repeating Payments to include notes on ACH and CC transactions.
5/24/2019 Rachel Carlini 2.11 Added Remote Check Creation Section
5/29/2019 Bhumika Kachhadia 2.12 Added Final Status Message Table
6/5/2019 Tracy Rickman 2.13 Added Prefunding Balance Method
6/6/2019 Andrew Reese 2.14 Added Remote Check Return Codes
6/27/2019 Andrew Reese 2.16 Added Additional PDS Response Codes
7/8/2019 Andrew Reese 2.17 Added Additional Gateway Response Codes
7/15/2019 Andrew Reese 2.18 Added Cancel Repeat Payment Method
7/23/2019 Tracy Rickman 2.19 Added Secondary Amount to The Repeating Payments Method
8/8/2019 Tracy Rickman 2.20 Correction to GetConvenienceFee Return Values
8/26/2019 Andrew Reese 2.21 Added IsPinless boolean to the GetConvenienceFee Method
8/27/2019 Andrew Reese 2.22 Added SecondaryAmount to PinlessDebit/Credit Methods
10/4/2019 Andrew Reese 2.23 Added Verify ACH Account method
12/12/2019 Rachel Carlini 2.24 Added NACHA Return Codes
12/18/2019 Rachel Carlini 2.25 Added "Token" Parameter to GetConvenienceFee Method. Added a new Response Code 5125.
1/17/2020 Andrew Reese 2.26 Updated PDS references to Usio for Usio name change
2/6/2020 Andrew Reese 2.27 Added CCUpdater Request and Results methods and Response Codes
7/27/2020 Andrew Reese 2.28 Updated notes for CheckNegativeAccounts field
12/3/2020 Daniel Jackson 2.29 Updated links to new URL
1/19/2021 Rachel Carlini 2.30 Added debitbatch filter to GetTransactionList
1/25/2021 Tracy Rickman 2.31 Added Masked account number to reporting API's
2/9/2021 Rachel Carlini 2.32 Modified Verify ACH Account method to include possible responses
3/1/2021 Dylan Hughes 2.33 Modified Submit ACH Payment method to include note about NACHA rule change
4/27/2021 Connor Birch 2.34 Added Custom Search Filter to Get Transaction List Method
4/27/2021 Brianna Keck 2.35 Added Status Check Method
5/4/2021 Connor Birch 2.36 Added DisableDuplicateCheck to ACH, CC, RCC, Pinless, and Token payment methods
5/24/2021 Bhumika Kachhadia 2.36 Added Token,masked account number and create new token CC updater methods
8/3/2021 Brianna Keck 2.37 Added GetTerminals method
9/21/2021 Connor Birch 2.38 Added Special Test Cases to SubmitACH and PinlessDebit/Credit
9/22/2021 Daniel Jackson 2.39 Modified Printed Check method to add TemplateID parameter
9/28/2021 Brianna Keck 2.40 Removed BillPay and Repeating Payment Endpoints
9/28/2021 Brianna Keck 2.40 Added New Credit Card Response Code 46
4/21/2022 Dylan Hughes 2.42 Added MaxResults parameter to GetTransactionsList
4/25/2022 Dylan Hughes 2.42 Added missing descriptions and URLs for StatusChceck and GetTerminals endpoint documentation
7/19/2022 Dylan Hughes 2.43 Updated link to Checkout documentation to point at latest version
10/7/2022 Daniel Jackson 2.44 Added CVV return codes
3/21/2023 Daniel Jackson 2.45 Removed cash payment method
6/13/2023 Raul Valadez 2.46 Added GetDocument to retrieve documents
2/5/2024 Raul Valadez 2.47 Added New BNPL product

Environment

SANDBOX & PRODUCTION https://payments.usiopay.com

Sandbox & Production

https://payments.usiopay.com

Our sandbox and production servers share the same URL.
The correct systems will be chosen based on the credentials submitted.

SOAP/WFC WSDL

https://payments.usiopay.com/2.0/payments.svc?wsdl

REST/JSON Endpoints and definitions:

https://payments.usiopay.com/2.0/payments.svc/json/help

Required Parameters in all calls

Parameter NameDescription
MerchantID Merchant ID assigned by USIO Systems
Login API Username
Password API Password

Parameter values for Sandbox

Parameter NameTest Value
MerchantID 0000000001
Login API0000000001
Password Temp1234!

If you require additional support, please contact us at integrations@usio.com.

Pinless Debit Card Payments

Pinless Bin Check

POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessBinCheck

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "CardNumber": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "PinlessCredit": true,
            "PinlessDebit": true
}
                
            

This method is used to check the eligibility of a card number for pinless debit and credit operations.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessBinCheck

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
CardNumber string Required 14-17 Debit Card Number

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
PinlessCredit bool Boolean result of pinless credit operation eligibility
PinlessDebit bool Boolean result of pinless credit operation eligibility

Pinless Debit/Credit

POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessDebit
POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessCredit

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "CardNumber": "string",
            "CVV": "string",
            "ExpDate": "string",
            "Amount": "string",
            "FirstName": "string",
            "LastName": "string",
            "EmailAddress": "string",
            "Address1": "string",
            "Address2": "string",
            "City": "string",
            "State": "string",
            "Zip": "string",
            "Province": "string",
            "Country": "string",
            "MerchantPayAccount": "string",
            "OfficeID": "string",
            "UserID": "string",
            "AdditionalSearch": "string",
            "AccountCode1": "string",
            "AccountCode2": "string",
            "AccountCode3": "string",
            "SecondaryAmount": "string",
            "DisableDuplicateCheck": false
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

These methods are used to debit (retrieve) funds from a Debit Card or credit (send) funds to a Debit Card

Important Information

To tokenize the card number, send in an amount of 0.00, this will not authorize the card.

By default, all transactions when ran in test mode will return a successful response. To simulate a failure please pass the card number of 5489221100112235 and one of the below amounts to get various responses.

AmountDescription
1.01 Failure response of 51: Insufficient funds
1.02 Failure response of 05: Do not honor
1.03 Failure response of 14: Invalid card number (no such number)
1.04 Failure response of 57: Transaction not permitted to cardholder
1.05 Successful response, but marks payment record with a “N” for the AVS code

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessDebit

POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessCredit

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
CardNumber string Required 14-17 Debit Card Number
CVV string Optional 3-4 CVC/CVV Number
ExpDate string Required 6 Expiration Date (MMYYYY)
Amount string Required max 8 Total Amount of Transaction (Including Fees) (#0.00)
FirstName string Required 2-19 Card holder first name
LastName string Required 2-19 Card holder last name
EmailAddress string Required 2-39 Card holder email address
Address1 string Required 2-39 Card holder address 1
Address2 string Optional 2-39 Card holder address 2
City string Required 2-39 Card holder city
State string Required 2 Card holder state code
Zip string Required 4-10 Card holder zip code (Internationally Supported)
Province string Optional 2-39 Card holder province
Country string Required 2 Card holder country
MerchantPayAccount string Optional max 32 Optional reporting field
OfficeID string Optional max 10 Optional reporting field
UserID string Optional max 15 Optional reporting field
AdditionalSearch string Optional max 20 Optional reporting field
AccountCode1 string Optional max 20 Optional reporting field
AccountCode2 string Optional max 20 Optional reporting field
AccountCode3 string Optional max 20 Optional reporting field
SecondaryAmount string Optional max 6 Secondary Amount to denote what portion of the amount field should be applied as a convenience fee/split settlement fee (Debits Only)
DisableDuplicateCheckbool Optional Disables check for duplicate payments

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Pinless Return

POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessReturn

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "Amount": "string",
            "Confirmation": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method is used to return funds to a Debit Card.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/PinlessReturn

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
Amount string Required max 8 Amount of Transaction (#0.00)
Confirmation string Required 15-20 Confirmation ID from original transaction

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Credit Card Payments

Credit Card Payment

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitCCPayment

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "CardNumber": "string",
            "CardType": "string",
            "CVV": "string",
            "ExpDate": "string",
            "Amount": "string",
            "FirstName": "string",
            "LastName": "string",
            "EmailAddress": "string",
            "Address1": "string",
            "Address2": "string",
            "City": "string",
            "State": "string",
            "Zip": "string",
            "Province": "string",
            "Country": "string",
            "MerchantPayAccount": "string",
            "OfficeID": "string",
            "UserID": "string",
            "AdditionalSearch": "string",
            "AccountCode1": "string",
            "AccountCode2": "string",
            "AccountCode3": "string",
            "ConvFeeAmount": "string",
            "secure3D": "string",
            "AuthOnly": false,
            "TerminalID": "string",
            "MobileWalletType": "string",
            "MobileWalletCryptogram": "string",
            "MobileWalletECI": "string",
            "TrackData": "string",
            "DisableDuplicateCheck": false
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method is used to generate Credit Card Payments and to tokenize card information.

Important Information

To tokenize the card number, send in an amount of 0.00, this will not authorize the card.

By default, all transactions when ran in test mode will return a successful response. To simulate a failure please pass the card number of 4111111111111111 and one of the below amounts to get various responses.

AmountDescription
1.01 Failure response of 51: Insufficient funds
1.02 Failure response of 05: Do not honor
1.03 Failure response of p55: Invalid credit card number
1.04 Failure response of n7: CVV2 value supplied is invalid. Also sets the CVVResponse value to “N” on the transaction record
1.05 Successful response, but marks payment record with a “N” for the AVS code

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitCCPayment

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
CardNumber string Required 14-17 Credit/Debit Card Number
CardType string Required 4 VISA, MSTR, DISC, AMEX
CVV string Optional 3-4 CVC/CVV Number
ExpDate string Required 6 Expiration Date (MMYYYY)
Amount string Required max 8 Total Amount of Transaction (Including Fees) (#0.00)
FirstName string Required 2-19 Card holder first name
LastName string Required 2-19 Card holder last name
EmailAddress string Required 2-39 Card holder email address
Address1 string Required 2-39 Card holder address 1
Address2 string Optional 2-39 Card holder address 2
City string Required 2-39 Card holder city
State string Required 2 Card holder state code
Zip string Required 4-10 Card holder zip code (Internationally Supported)
Province string Optional 2-39 Card holder province
Country string Required 2 Card holder country
MerchantPayAccount string Optional max 32 Optional reporting field
OfficeID string Optional max 10 Optional reporting field
UserID string Optional max 15 Optional reporting field
AdditionalSearch string Optional max 20 Optional reporting field
AccountCode1 string Optional max 20 Optional reporting field
AccountCode2 string Optional max 20 Optional reporting field
AccountCode3 string Optional max 20 Optional reporting field
ConvFeeAmount string Optional max 6 Secondary amount to denote what portion of the amount field should be applied as a convenience fee or split settlement (WorldPay Only)
secure3D string Optional Field to contain CAVV, XID, and ECI for VISA transactions only. Fields must be separated by pipes in this order. CAVV|XID|ECI
AuthOnly bool Optional false = Sale Transaction, true = Auth Only
TerminalID string Optional max 10 Terminal ID. When sending terminal ID, leave card number, expiration date and CVV empty
MobileWalletType string Optional max 3 Mobile wallet Type: 1 = Google Pay, 2 = Apple Pay, 3 = Samsung Pay
MobileWalletCryptogram string Optional max 100Cryptogram received from mobile wallet (Required if MobileWalletType is set)
MobileWalletECI string Optional max 10 ECI code received from mobile wallet (Required if MobileWalletType is set)
TrackData string Optional max 150Unecrypted Track1/Track2 or combined Track1 and Track2 data. If sending encrypted track data, please contact us for formatting specifications
DisableDuplicateCheckbool Optional Disables check for duplicate payments

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Mark/Capture Transaction

POST https://payments.usiopay.com/2.0/payments.svc/JSON/MarkCCPayment

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "Amount": "string",
            "ConfirmationID": "string",
            "ConvFeeAmount": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method is used to Mark/Capture a previous AuthOnly transaction.
This allows you to submit a new primary and convenience fee amount for the transaction.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/MarkCCPayment

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
Amount string Required max 8 Total Amount of Transaction including fees (#0.00)
ConfirmationID string Required 15-20 Confirmation ID from the original transaction
ConvFeeAmount string Required max 6 Secondary Amount to denote what portion of the amount field should be applied as a convenience fee or Split Settlement (WorldPay Only)

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Void/Refund Transaction

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitCCVoid

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "Amount": "string",
            "ConfirmationID": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to request a Void/Refund of a credit card transaction.

NOTE: The void or refund operation will be automatically selected based on the current status of the transaction.
Also note that AuthOnly transactions cannot be voided.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitCCVoid

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
Amount string Required max 8 Amount of Transaction (#0.00)
ConfirmationID string Required 15-20 Confirmation ID from the original transaction

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

ACH Payments

ACH Payment

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitACHPayment

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "RoutingNumber": "string",
            "AccountNumber": "string",
            "TransCode": "string",
            "Amount": "string",
            "FirstName": "string",
            "LastName": "string",
            "EmailAddress": "string",
            "Address1": "string",
            "Address2": "string",
            "City": "string",
            "State": "string",
            "Zip": "string",
            "MerchantPayAccount": "string",
            "OfficeID": "string",
            "UserID": "string",
            "AdditionalSearch": "string",
            "AccountCode1": "string",
            "AccountCode2": "string",
            "AccountCode3": "string",
            "ACHOpt1": "string",
            "SameDayACH": "string",
            "StandardEntryCode": "string",
            "Description": "string",
            "AddendaData": "string",
            "CheckNegativeAccounts": false,
            "TokenizeOnly": false,
            "ConvFeeAmount": "string",
            "DisableDuplicateCheck": false
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to submit ACH Debits, ACH Credits, and ACH Prenotes.
Prenotes only require amount, first name and last name fields to be entered.
Additional information on transaction and SEC codes are below this method.

By default, all ACH transactions when ran in test mode will be marked as Accepted. To simulate a return, please pass the account number of 123456789, routing number of 555555550, and one of the amounts below. This will return a successful response on submission but will internally mark the transaction as returned. When you query the transaction it with the various reporting endpoints the transaction will show the return code.

AmountDescription
1.01 Record will be marked as Returned, R01
1.02 Record will be marked as Returned, R02
1.03 Record will be marked as NOC, C01

NOTE: NACHA WEB Debit Account Validation Rule will go into effect 3/19/2021. This rule requires that for any new WEB debit transaction that you must first attempt to verify the existence of the account. USIO provides a way to do this with our ACH Validation Method. Please see our announcement page here for more details.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitACHPayment

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
RoutingNumber string Required 9 Bank Routing Number
AccountNumber string Required max 17 Bank Account Number
TransCode string Required 2 NACHA Transaction Code
Amount string Required max 8 Total Amount of Transaction (Including Fees)(#0.00)
FirstName string Required 2-19 Account holder first name
LastName string Required 2-19 Account holder last name
EmailAddress string Required 2-39 Account holder email address
Address1 string Required 2-39 Account holder address 1
Address2 string Optional 2-39 Account holder address 2
City string Required 2-39 Account holder city
State string Required 2 Account holder state code
Zip string Required 4-10 Account holder zip code (Internationally Supported)
MerchantPayAccount string Optional max 32 Optional reporting field
OfficeID string Optional max 10 Optional reporting field
UserID string Optional max 15 Optional reporting field
AdditionalSearch string Optional max 20 Optional reporting field
AccountCode1 string Optional max 20 Optional reporting field
AccountCode2 string Optional max 20 Optional reporting field
AccountCode3 string Optional max 20 Optional reporting field
ACHOpt1 string Optional max 20 Optional reporting field
SameDayACH string Optional max 100Enter "SD" to request same day ACH processing
StandardEntryCode string Required 3 NACHA SEC Code: See table below for valid values.
Description string Optional max 10 Optional reporting field
AddendaData string Optional max 80 Optional reporting field
CheckNegativeAccountsbool Required Request or skip negative accounts database check
TokenizeOnly bool Required Set to true to tokenize the account information instead of a transaction
ConvFeeAmount string Optional max 6 Secondary Amount to denote what portion of the amount field should be applied as a convenience fee or split settlement
(contact sales prior to using this feature)
DisableDuplicateCheckbool Optional Disables check for duplicate payments

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Transactions Codes

CodeDescription
22 Credit to Checking Account
27 Debit from Checking Account
32 Credit to Savings Account
37 Debit from Savings Account
23 Prenote for Credits on a Checking Account
28 Prenote for Debits on a Checking Account
33 Prenote for Credits on a Savings Account
38 Prenote for Debits on a Savings Account

Standard Entry Codes

CodeDescription
WEB Web initiated transaction
PPD Prearranged Payment and Deposit
TEL Telephone initiated transaction
CCD Corporate Credit and Debit transaction

Void/Refund Transaction

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitACHVoidReturn

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "Amount": "string",
            "ConfirmationID": "string",
            "Description": "string",
            "PaymentID": "string",
            "UserID": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to request a Void/Return of an ACH transaction.

NOTE: The void or refund operation will be automatically selected based on the current status of the transaction.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitACHVoidReturn

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
Amount string Required max 8 Amount of Transaction (#0.00)
ConfirmationID string Required 15-20 Confirmation ID from the original transaction
Description string Optional max 10 Optional description
PaymentID string Optional max 20 Optional payment reference number
UserID string Optional max 15 Optional User ID

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Remote Check Payments

Remote Check Payment

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitRCCPayment

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "Amount": "string",
            "FirstName": "string",
            "LastName": "string",
            "EmailAddress": "string",
            "Address1": "string",
            "Address2": "string",
            "City": "string",
            "State": "string",
            "Zip": "string",
            "RoutingNumber": "string",
            "AccountNumber": "string",
            "CheckNumber": "string",
            "BankName": "string",
            "MerchantPayAccount": "string",
            "OfficeID": "string",
            "UserID": "string",
            "AccountCode1": "string",
            "AccountCode2": "string",
            "AccountCode3": "string",
            "CheckNegativeAccounts": false,
            "DisableDuplicateCheck": false
}
            
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to submit Remote Check payments.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitRCCPayment

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
Amount string Required max 8 Amount of Transaction (#0.00)
FirstName string Required 2-19 Account holder first name
LastName string Required 2-19 Account holder last name
EmailAddress string Optional 2-39 Account holder email address
Address1 string Optional 2-39 Account holder address 1
Address2 string Optional 2-39 Account holder address 2
City string Optional 2-39 Account holder city
State string Required 2 Account holder state code
Zip string Optional 4-10 Account holder zip code
RoutingNumber string Required 9 Bank Routing Number on the check
AccountNumber string Required 4-17 Bank Account Number on the check
CheckNumber string Optional 1-10 Check Number (for record keeping only)
BankName string Optional 1-20 Issuing Bank Name
MerchantPayAccount string Optional 1-32 Optional reporting field
OfficeID string Optional max 10 Optional reporting field
UserID string Optional max 15 Optional reporting field
AccountCode1 string Optional max 20 Optional reporting field
AccountCode2 string Optional max 20 Optional reporting field
AccountCode3 string Optional max 20 Optional reporting field
CheckNegativeAccounts bool Optional Request or skip negative accounts database check
DisableDuplicateCheckbool Optional Disables check for duplicate payments

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Void Remote Check Payment

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitRCCVoid

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "ConfirmationID": "string",
            "UserID": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to Void Remote Check Payment records.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitRCCVoid

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
ConfirmationID string Required max 30 Confirmation ID from the original payment
UserID string Optional max 15 Optional User ID

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Printed Checks

Send Printed Check

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SendCheck

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "PaymentDate": "string",
            "MerchantPayAccount": "string",
            "CheckWriterToken": "string",
            "CheckWriterFirstName": "string",
            "CheckWriterLastName": "string",
            "CheckWriterAddress1": "string",
            "CheckWriterAddress2": "string",
            "CheckWriterCity": "string",
            "CheckWriterState": "string",
            "CheckWriterZip": "string",
            "CheckWriterPhone": "string",
            "CheckWriterAccountNumber": "string",
            "CheckWriterRoutingNumber": "string",
            "Amount": "string",
            "CheckNumber": "string",
            "PayeeAccountNumber": "string",
            "TemplateID": "string",
            "PayeeName": "string",
            "PayeeAddress1": "string",
            "PayeeAddress2": "string",
            "PayeeCity": "string",
            "PayeeState": "string",
            "PayeeZip": "string",
            "MerchantName": "string",
            "BankName": "string",
            "TokenizeOnly": false
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to submit a request to have a physical check printed and mailed.
To create a Token, enter all of the account information and set the TokenizeOnly field to true.
When using a Token, the Check Writer fields are not required and will be replaced with the values from the token.
NOTE: Speak to a sales representative to have access to this method enabled.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SendCheck

Sample Check Image

Download Sample Image

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
PaymentDate string Required 8 Date for the check to be printed (MMDDYYYY)
MerchantPayAccount string Optional max 39 Optional reporting field
CheckWriterToken string Optional max 39 Token for Stored Check Writer
CheckWriterFirstName string Conditional 2-39 First Name of the check writer
CheckWriterLastName string Conditional 2-39 Last Name of the check writer
CheckWriterAddress1 string Conditional 4-39 Address 1 of the check writer
CheckWriterAddress2 string Optional 4-39 Address 2 of the check writer
CheckWriterCity string Conditional 2-39 City of the check writer
CheckWriterState string Conditional 2 State of the check writer
CheckWriterZip string Conditional 5-10 Zip code of the check writer
CheckWriterPhone string Optional 10-12 Phone number of the check writer
CheckWriterAccountNumber string Conditional max 17 Checking Account number of the check writer
CheckWriterRoutingNumber string Conditional 9 Routing Number of the check writer
Amount string Required max 8 Amount for the check (#0.00)
CheckNumber string Required 3-9 Unique Check Number
PayeeAccountNumber string Required 2-30 Payee's Account Number
TemplateID string Optional 1-4 Template identifier
PayeeName string Required 2-39 Name of payee
PayeeAddress1 string Required 4-39 Address 1 of payee
PayeeAddress2 string Optional 4-20 Address 2 of payee
PayeeCity string Required 2-39 City of payee
PayeeState string Required 2 State of payee
PayeeZip string Required 5-10 Zip code of payee
MerchantName string Required 3-39 Merchant Name to appear on the check
BankName string Required 3-39 Bank Name to appear on the check
TokenizeOnly bool Required true = information will be tokenized only, false = standard check

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Void Printed Check

POST https://payments.usiopay.com/2.0/payments.svc/JSON/VoidCheck

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "ConfirmationID": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to Void Check Payment records that have not yet been printed.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/VoidCheck

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
ConfirmationID string Required max 30 Confirmation ID from the original payment

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Buy Now Pay Later

Submit BNPL Application

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitBNPLApplication

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "CustomerFirstName": "string",
            "CustomerLastName": "string",
            "Amount": "string", 
            "CustomerReferenceNumber": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "ApplicationID": "string",
            "URL": "string"
}
                
            

This method allow you to submit a request to create a new BNPL loan application.
You will get back a url for customer to complete their loan application.

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
CustomerFirstName string Optional 2-20 Customer First Name
CustomerLastName string Optional 2-20 Customer Last Name
Amount string Required max 8 Total Amount (#0.00)
CustomerReferenceNumber string Optional max 50 Customer Unique Identifier Number

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
ApplicationID string ID of the loan application
URL string URL for customer to complete their application

Void BNPL Application

POST https://payments.usiopay.com/2.0/payments.svc/JSON/VoidBNPLApplication

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "ApplicationID": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
}
                
            

This method allows you to void an active BNPL loan application

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
ApplicationID string Required 36 Application Identification Number

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description

BNPL Report

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetBNPLReport

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "ApplicationID": "string",
            "DateFrom": "string",
            "DateTo": "string", 
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Applications": [
                {
                   "ApplicationID": "string",
                   "CustomerReferenceNumber": "string",
                   "FirstName": "string",
                   "LastName": "string",
                   "ApplicationCreateDate": "\/Date(1474360707280-0500)\/",
                   "Status": "string",
                   "LoanAmount": "string",
                   "PayoutAmount": "string",
                   "FinalStatusDate": "\/Date(1474360707280-0500)\/",
                   "Url": "string",
                }
            ]
}
                
            

This method allow you to submit a request to retrive a single application, or a date range of applications

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
ApplicationID string Conditional 36 Application Identification Number
DateFrom string Conditional max 20 Starting date of search. Format “MM/D/YYYY HH:MM:SS”
DateTo string Conditional max 20 Ending date of search. Format “MM/D/YYYY HH:MM:SS”

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Applications string Array of BNPL Applications
   -ApplicationID string ApplicationID Identification Number
   -CustomerReferenceNumber string Customer Unique Identifier Number
   -FirstName string Customer First Name
   -LastName string Customer Last Name
   -ApplicationCreateDate string Date Application was created
   -Status string Status of the Application
   -LoanAmount string Amount the customer request
   -PayoutAmount string Amount merchant receives
   -FinalStatusDate string Date the application was finalize
   -Url string URL to the application

Utilities

Tokenized Payments

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitTokenPayment

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "NewExpDate": "string",
            "Amount": "string",
            "Token": "string",
            "MerchantPayAccount": "string",
            "OfficeID": "string",
            "UserID": "string",
            "AdditionalSearch": "string",
            "AccountCode1": "string",
            "AccountCode2": "string",
            "AccountCode3": "string",
            "ACHOpt1": "string",
            "SameDayACH": "string",
            "StandardEntryCode": "string",
            "Description": "string",
            "AddendaData": "string",
            "CheckNegativeAccounts": false,
            "ConvFeeAmount": "string",
            "AuthOnly": false,
            "DisableDuplicateCheck": false
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to submit a payment for ACH/Credit Card/Debit Card from a previous payment's confirmation ID or token.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitTokenPayment

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
NewExpDate string Optional 6 Expiration Date (MMYYYY)
Amount string Required max 8 Amount of Transaction (#0.00)
Token string Required 14-17 Token from the original payment
MerchantPayAccount string Optional max 32 Optional reporting field
OfficeID string Optional max 10 Optional reporting field
UserID string Optional max 15 Optional reporting field
AdditionalSearch string Optional max 20 Optional reporting field
AccountCode1 string Optional max 20 Optional reporting field
AccountCode2 string Optional max 20 Optional reporting field
AccountCode3 string Optional max 20 Optional reporting field
ACHOpt1 string Optional max 20 Optional reporting field
SameDayACH string Optional max 100Enter "SD" to request same day ACH processing
StandardEntryCode string Required 3 NACHA SEC Code: See table below Submit ACH method
Description string Optional max 10 Optional reporting field
AddendaData string Optional max 80 Optional reporting field
CheckNegativeAccountsbool Required Request or skip negative accounts database check
ConvFeeAmount string Optional max 6 Secondary amount to denote what portion of the amount field should be applied as a convenience fee
(WorldPay only)
AuthOnly bool Optional max 100false = Sale Transaction, true = Auth Only
DisableDuplicateCheckbool Optional Disables check for duplicate payments

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Confirmation string On success will contain the transaction confirmation ID

Get Convenience Fee

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetConvenienceFee

            
{
            "AccountNumber": "string",
            "IsACH": false,
            "Login": "string",
            "MerchantID": "string",
            "Password": "string",
            "TransactionAmount": 12.34,
            "IsPinless": false,
            "Token": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "AccountType": "string",
            "BinMatch": "string",
            "ConvenienceFeeAmount": 12.34,
            "IsConvFee": false,
            "Message": "string",
            "Status": "string"
}
                
            

This method allows you to request the convenience fee/split settlement amount for a given transaction.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetConvenienceFee

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
TransactionAmount decimal Required max 15 Amount of Transaction (#0.00)
IsACH bool Required max 5 Indicates whether or not the transaction is an ACH transaction
AccountNumber string Optional min 4 Number of Account *REQUIRED ONLY FOR CREDIT CARD TRANSACTIONS
IsPinless bool Required max 5 Indicates whether or not the transaction is a Pinless transaction
Token string Optional max 36 Confirmation ID or Checkout Token to be used in place of payment information

Response

NameTypeDescription
Status string "success" or "failure"
Message string On success will contain the description of the fee such as 2.99% or $2.99
AccountType string Returns ACH, Credit Card, Debit Card
IsConvFee bool Indicates if amount represents convenience fee or split settlement
ConvenienceFeeAmount decimal Amount of convenience fee
BinMatch string The BIN match

Get Prefunding Balance

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetPrefundingBalance

            
{
            "MerchantID": "string",
            "Login": "string",	
            "Password": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "ACHPrefundingBalance": 0.00,
            "PinlessPrefundingBalance": 0.00,
            "Message": "string",
            "Status": "string"
}
                
            

This method allows you to request the current balance of your ACH and Pinless Debit Card prefunding accounts.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetPrefundingBalance

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error message
ACHPrefundingBalance decimal Real time balance of the ACH prefunding account
PinlessPrefundingBalance decimal Real time balance of the Pinless prefunding account

ACH Account Validation

POST https://payments.usiopay.com/2.0/payments.svc/JSON/VerifyACHAccount

            
{
            "MerchantID": "string",
            "Login": "string",	
            "Password": "string",
            "RoutingNumber": "string",
            "AccountNumber": "string"
            "Token": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Confirmation": "string"
}
                
            

This method allows you to check if an account will be rejected by providing the routing number and account number.

By default, all verifications when ran in the sandbox will return an "Account Unknown" response. To simulate various responses, please pass the routing number of 555555550 and one of the account numbers below.

Account NumberDescription
123456789 Open Account
234567890 Closed Account

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/VerifyACHAccount

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
RoutingNumber string Conditional max 9 Bank Routing Number. Required if Token is omitted.
AccountNumber string Conditional max 17 Bank Account Number. Required if Token is omitted.
Token string Conditional 15-36 Confirmation ID or Checkout Token. Required if AccountNumber and RoutingNumber are omitted.

Response

NameTypeDescription
Status string "success" or "failure"
Message string On success will contain if Account has been found or not. On failure will contain the error message.
Confirmation string Confirmation ID for this transaction

Message Values

CodeDescription
Account Found Account has been seen before
Account Closed Account has had unauthorized returns
Account Unknown Account has not been seen

Credit Card Updater Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitCCUpdaterRequest

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "CardNumber": "string",
            "ExpirationDate": "string",
            "Token": "string",
            "CreateNewToken": "false"
 }
                
            

The above command returns the following JSON structure:

            
{
            "Confirmation": "string",
            "Message": "string",
            "Status": "string"
}
                
            

This method is used to query for new card numbers and expiration dates associated with a credit card.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/SubmitCCUpdaterRequest

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
CardNumber string Optional 14-17 Credit Card Number
ExpirationDate string Optional 4 Expiration Date (MMYY)
Token string Optional 14-18 Confirmation ID. Required if Credit card Number and Expiration Date are omitted.
CreateNewToken Bool Optional Set to true to create new token

Response

NameTypeDescription
Confirmation string Confirmation ID for this request
Message string On failure will contain the error message
Status string "success" or "failure"

Credit Card Updater Results

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetCCUpdaterResults

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "ConfirmationID": "string",
            "DateFrom": "string",
            "DateTo": "string",
            "ReturnUnmaskedAccountNumber": "false"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Results":
        [
            {
            "ConfirmationID": "string",
            "NewCardNumber": "string",
            "NewExpirationDate": "string",
            "ResponseCode": "string",
            "NewToken": "string"
            }        
        ]
}
                
				

This method will return the updated card number and/or expiration date associated with a credit card. Search by ConfirmationID from Credit Card Updater request or Date Range.
Note: Since raw credit card numbers are being returned you need to be PCI Compliant.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetCCUpdaterResults

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
ConfirmationID string Conditional14-17 Confirmation ID from Credit Card Updater Request
DateFrom string Conditionalmax 10 Starting Date of search. Format "MM/DD/YYYY"
DateTo string Conditionalmax 10 Ending Date of search. Format "MM/DD/YYYY"
ReturnUnmaskedAccountNumber bool Conditional Set to true to get unmasked Account Number

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Results object Array of Results
   -ConfirmationID string Confirmation ID from Credit Card Updater Request
   -NewCardNumber string New card number (if there is one) associated with the credit card
   -NewExpirationDate string New Expiration Date associated with the credit card
   -ResponseCode string Usio Response Code
   -ResponseDate string Network Response Date
   -NewToken string New Token

Status Check

POST https://payments.usiopay.com/2.0/payments.svc/JSON/StatusCheck

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "TraceNumber": "string"
}
            
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string"
}
            
            

This method is used to check that the API is responding.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/StatusCheck

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
TraceNumber string Optional max 50 Optional Trace Number

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description

Get Terminals

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetTerminals

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string"

}
            
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Terminals": 
	[
	    {
            "TerminalID": "string",
            "TerminalName": "string",
            "MakeModel": "string",
            "DeviceSN": "string"	
	    }
	]
}
            
            

This method is used to get a list of available terminals.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetTerminals

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password

Response

NameTypeDescription
Status string "success" or "failure"
Message string 5001:System Failure. Support has been contacted.
Terminals object List of Terminals
   -TerminalID string Terminal ID
   -TerminalName string Friendly Name of Terminal
   -MakeModel string Make and Model of Terminal
   -DeviceSN string Terminal Device Serial Number

Reporting

Transaction Details

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetTransactionDetails

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "ReturnAccountMask": false,
            "Confirmation": "string",
            "IncludeHPPValues": false
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Transactions": [
            {
            "ACHOpt1": "string",
            "ACHOpt2": "string",
            "AVSCode": "string",
            "AccountCode1": "string",
            "AccountCode2": "string",
            "AccountCode3": "string",
            "AccountMask": "string",
            "AccountName": "string",
            "AccountType": "string",
            "AdditionalSearch1": "string",
            "Address1": "string",
            "Address2": "string",
            "Amount": "string",
            "AuthCode": "string",
            "BatchNumber": "string",
            "CVVResp": "string",
            "City": "string",
            "Confirmation": "string",
            "ConvFee": 0.00,
            "EmailAddress": "string",
            "ErrorMessage": "string",
            "FinalStatus": "string",
            "FirstName": "string",
            "LastName": "string",
            "MerchantPayAccount": "string",
            "PaymentOrigination": "string",
            "PaymentType": "string",
            "RefConfirmation": "string",
            "RepeatConfirmation": "string",
            "ResponseCode": "string",
            "ReturnDate": "string",
            "SimpResp": "string",
            "State": "string",
            "SubmitDate": "\/Date(1474360707280-0500)\/",
            "UserID": "string",
            "Zip": "string",
            "HPPValues":
                {
            "PageID": "GUID",
            "SiteName": "string",
            "customFields": [
                    { 
            "Value": "string",
            "fieldLabel": "string"
                    }
                 ],
            "Designations":[
                    { 
            "Amount": "string",
            "fieldLabel": "string",
            "Value": "string"
                    }
                ]
            }
        }
    ]
}
                
            

This method allows you to get transaction details based on a confirmation ID.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetTransactionDetails

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
ReturnAccountMask bool Required Set to true to return masked account number
Confirmation string Required 14-17 Confirmation ID of transaction
IncludeHPPValues bool Optional Set to true to return HPP values

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
transactions object Array of Transaction
   -ACHOpt1 string Optional Reporting field
   -ACHOpt2 string Used to denote Same Day ACH record ("SD")
   -AVSCode string Credit Card Address Verification Code
   -AccountCode1 string Optional Reporting field
   -AccountCode2 string Optional Reporting field
   -AccountCode3 string Optional Reporting field
   -AccountMask string Masked account number if requested (xxx1234)
   -AccountName string Full name of payee
   -AccountType string Credit/Debit/ACH or repeating Credit/Debit/ACH or Void/Returns or Marks
   -AdditionalSearch1 string Optional Reporting field
   -Address1 string Address line 1 of payee
   -Address2 string Address line 2 of payee
   -Amount string Amount of the transaction
   -AuthCode string Gateway Authorization Code
   -BatchNumber string ACH or CC batch number
   -CVVResp string CVV check response
   -City string City of payee
   -Confirmation string Confirmation ID for this transaction
   -ConvFee decimal Convenience Fee/Split Settlement Amount
   -EmailAddress string Email address of payee
   -ErrorMessage string Gateway error message
   -FinalStatus string Final status of this transaction
   -FirstName string First name of payee
   -LastName string Last name of payee
   -MerchantPayAccount string Optional Reporting field
   -PaymentOrigination string Denotes where the transaction originated. (Web service, repeat payment, CSR View, etc.)
   -PaymentType string Credit Card(VISA, AMEX, MSTR, DISC), ACH/Debit (27/37 Debit, 22/32 Credit)
   -RefConfirmation string Reference transaction Confirmation ID. Used when creating voids/returns
   -RepeatConfirmation string Repeat payment confirmation if generated from a repeating payment instruction
   -ResponseCode string Gateway Response Code
   -ReturnDate string Date of ACH return
   -SimpResp string Simple Response from Credit Card Gateway
   -State string State of payee
   -SubmitDate string Date and time the transaction was entered
   -UserID string Optional Reporting field
   -Zip string Zip Code of the payee
   -HPPValues object JSON object containing custom and designation field information
   --PageID GUID Unique ID for the page
   --SiteName string Name of the site
   --CustomFields object List of the custom fields
   ---FieldValue string Value of custom field
   ---FieldLabel string Name of custom field
   --Designations object List of the designations
   ---Amount string Amount for the designation
   ---FieldLabel string Label for the designation
   ---FieldValue string Value of the designation

Transaction List

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetTransactionList

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "DateFrom": "string",
            "DateTo": "string",
            "ReturnAccountMask": false,
            "FilterOptions": "string",
            "IncludeHPPValues": false,
            "MaxResults": int
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Transactions":[
                {
            "ACHOpt1": "string",
            "ACHOpt2": "string",
            "AVSCode": "string",
            "AccountCode1": "string",
            "AccountCode2": "string",
            "AccountCode3": "string",
            "AccountMask": "string",
            "AccountName": "string",
            "AccountType": "string",
            "AdditionalSearch1": "string",
            "Address1": "string",
            "Address2": "string",
            "Amount": "string",
            "AuthCode": "string",
            "BatchNumber": "string",
            "CVVResp": "string",
            "City": "string",
            "Confirmation": "string",
            "ConvFee": 0.00,
            "EmailAddress": "string",
            "ErrorMessage": "string",
            "FinalStatus": "string",
            "FirstName": "string",
            "LastName": "string",
            "MerchantPayAccount": "string",
            "PaymentOrigination": "string",
            "PaymentType": "string",
            "RefConfirmation": "string",
            "RepeatConfirmation": "string",
            "ResponseCode": "string",
            "ReturnDate": "string",
            "SimpResp": "string",
            "State": "string",
            "SubmitDate":"\/Date(1474360707280-0500)\/",
            "UserID":"string",
            "Zip": "string",
            "HPPValues":			
                {
            "PageID": "GUID",
            "SiteName": "string",
            "customFields": [
                    { 
            "Value": "string",
            "fieldLabel": "string"
                    }
                    ],
            "Designations": [
					{ 
            "Amount": "string",
            "fieldLabel": "string",
            "Value": "string"				
                    }
                ]
            }
        }
    ]
}
                
            

This method allows you to get transactions for a date range.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetTransactionList

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
DateFrom string Required max 20 Starting date of search. Format “MM/D/YYYY HH:MM:SS”
DateTo string Required max 20 Ending date of search. Format “MM/D/YYYY HH:MM:SS”
ReturnAccountMask bool Required Set to true to return masked account number
FilterOptions string Optional max 100See table below for options
IncludeHPPValues bool Optional Set to true to return HPP values
MaxResults int Optional Set to limit number of transactions returned

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
transactions object Array of Transaction
   -ACHOpt1 string Optional Reporting field
   -ACHOpt2 string Used to denote Same Day ACH record ("SD")
   -AVSCode string Credit Card Address Verification Code
   -AccountCode1 string Optional Reporting field
   -AccountCode2 string Optional Reporting field
   -AccountCode3 string Optional Reporting field
   -AccountMask string Masked account number if requested (xxx1234)
   -AccountName string Full name of payee
   -AccountType string Credit/Debit/ACH or repeating Credit/Debit/ACH or Void/Returns or Marks
   -AdditionalSearch1 string Optional Reporting field
   -Address1 string Address line 1 of payee
   -Address2 string Address line 2 of payee
   -Amount string Amount of the transaction
   -AuthCode string Gateway Authorization Code
   -BatchNumber string ACH or CC batch number
   -CVVResp string CVV check response
   -City string City of payee
   -Confirmation string Confirmation ID for this transaction
   -ConvFee decimal Convenience Fee/Split Settlement Amount
   -EmailAddress string Email address of payee
   -ErrorMessage string Gateway error message
   -FinalStatus string Final status of this transaction
   -FirstName string First name of payee
   -LastName string Last name of payee
   -MerchantPayAccount string Optional Reporting field
   -PaymentOrigination string Denotes where the transaction originated. (Web service, repeat payment, CSR View, etc.)
   -PaymentType string Credit Card(VISA, AMEX, MSTR, DISC), ACH/Debit (27/37 Debit, 22/32 Credit)
   -RefConfirmation string Reference transaction Confirmation ID. Used when creating voids/returns
   -RepeatConfirmation string Repeat payment confirmation if generated from a repeating payment instruction
   -ResponseCode string Gateway Response Code
   -ReturnDate string Date of ACH return
   -SimpResp string Simple Response from Credit Card Gateway
   -State string State of payee
   -SubmitDate string Date and time the transaction was entered
   -UserID string Optional Reporting field
   -Zip string Zip Code of the payee
   -HPPValues object JSON object containing custom and designation field information
   --SiteName string Name of the site
   --PageID GUID Unique ID for the page
   --CustomFields object List of the custom fields
   ---FieldLabel string Name of custom field
   ---FieldValue string Value of custom field
   --Designations object List of the designations
   ---Amount string Amount for the designation
   ---FieldLabel string Label for the designation
   ---FieldValue string Value of the designation

Filter Options

CodeDescription
achonly Returns only ACH transactions
creditonly Returns only Credit Card transactions
debitonly Returns only Debit Card transactions
text Returns only Text-2-Pay transactions
achreturn Returns only ACH transactions that were returned
achbatch Returns ACH transactions by batch
ccbatch Returns Credit Card transactions by batch
rcconly Returns only Remote Check transactions
rccbatch Returns Remote Check transactions by batch
rccreturn Returns Remote Check transactions that were returned
debitbatch Returns Pinless Debit Card transactions by batch
dbchback Returns Pinless Debit Card chargebacks
confirmationlist Returns transactions specific to the confirmation ID(s) provided
Ex : confirmationlist|1234,5678
custom Returns transactions specific to the custom filter provided
Format:custom|fieldname|data
Ex:custom|accountcode1|1234
Available Fields: accountcode1, accountcode2, accountcode3, merchantpayaccount, additionalsearch

ACH Account Inquiry

POST https://payments.usiopay.com/2.0/payments.svc/JSON/ACHInquiry

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "RoutingNumber": "string",
            "AccountNumber": "string",
            "MaxTransactions": int,
            "TransactionFilter": "string",
            "TraceID": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "TraceID": "string",
            "creditRecordCount": int,
            "creditTotalAmount": double,
            "debitRecordCount": int,
            "debitTotalAmount": double,
            "returnsRecordCount": int,
            "badReturnsRecordsCount": int,
            "fromDate": "string",
            "toDate": "string",
            "merchantsSeen": int,
            "TransactionList":
        [
            {
            "amount": double,
            "pmtType": "string",
            "pmtOrigination": "string",
            "state": "string",
            "submitDate": "string",
            "finalStatus": "string",
            "errorMessage": "string"
            }
        ]
}
                
            

This method allows you to get a summary for an ACH account if we have information about it. This will also provide a list of up to 35 of the most recent transactions. By default, all lookups when ran in the sandbox will return an empty response. To simulate a successful lookup please pass the routing number of 555555550 and the account number 123456789 to get a "Known Account" response, which will provide five transactions with its response.

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/ACHInquiry

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
RoutingNumber string Required 9 Bank Routing Number
AccountNumber string Required max 17 Bank Account Number
MaxTransactions int Required Maximum number of transactions to return (0-35)
TransactionFilter string Optional max 50 Filter by transaction code (27/22/37/32)
TraceID string Optional max 64 TraceID that will be echoed back in response and logged

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
TraceID string Echoed Trace ID from request
creditRecordCount int Number of credit transactions seen
creditTotalAmount double Total amount of all credits seen
debitRecordCount int Number of debit transactions seen
debitTotalAmount double Total amount of all debits seen
returnsRecordCount int Number of returns seen
badReturnsRecordsCount int Number of bad returns seen
fromDate string Date of first transaction seen (YYYYMMDD format)
toDate string Date of most recent transaction seen (YYYYMMDD format)
merchantsSeen int Number of different merchants that have processed this account information
TransactionList object Array of transactions
   -amount double Amount of transaction
   -pmtType string ACH transaction code (27,22,37,32)
   -pmtOrigination string Origin of the payment
   -state string State
   -submitDate string Date the transaction was submitted (MM/DD/YYYY)
   -finalStatus string Final status of the transaction
   -errorMessage string Error message

Get Documents

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetDocument

            
{
            "MerchantID": "string",
            "Login": "string",
            "Password": "string",
            "DocumentType": int,
            "Year": "string",
            "Month": "string"
}
                
            

The above command returns the following JSON structure:

            
{
            "Status": "string",
            "Message": "string",
            "Base64Data": "string",            
            "DocumentType": int,
            "Year": "string",
            "Month": "string",
            "Filename": "string"

}
                
            

This method allows you to retrieve a document. The document will be return as a base64 encoded string.

Document TypeDescription
1 Credit Card Statement
2 ACH Statement

HTTP Request

POST https://payments.usiopay.com/2.0/payments.svc/JSON/GetDocument

Parameters

NameTypeRequiredLengthDescription
MerchantID string Required 6-10 Merchant Identification Number
Login string Required 6-12 API Username
Password string Required max 25 API Password
DocumentType int Required 1 Document type to retrieve
(legend above)
Year string Required 4 Year of the document to retrieve
Month string Required 1 Month of the document to retrieve

Response

NameTypeDescription
Status string "success" or "failure"
Message string On failure will contain the error description
Base64Data string Base64 document data
DocumentType int Document type retrieved
Year string Year of Document
Month string Month of Document
Filename string File Name of document retrieved

Enrollment

Please click here for access to our Enrollment API documentation.

Usio Checkout

Please click here for access to our Usio Checkout documentation.

Code Samples

            
curl -X POST \
https://payments.usiopay.com/2.0/payments.svc/json/endpoint \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
   "MerchantID": "0000000001",
   "Login": "API0000000001",
   "Password": "Temp1234!",
   "additionalData": "1221"
   }'
			
		
            
WebRequest request = WebRequest.Create("https://payments.usiopay.com/2.0/payments.svc/json/endpoint");
request.Method = "POST";
request.ContentType = "application/json; charset=utf-8";
request.Timeout = 600000;
string input = "{\"MerchantID\":\"0000000001\",\"login\":\"API0000000001\",
	\"password\":\"Temp1234!\",\"additionalData\":\"values\"}";
//Get the request stream
Stream POSTstream = request.GetRequestStream();
//Write the data bytes in the request stream
byte[] dataByte = Encoding.UTF8.GetBytes(sJSON.ToString());
POSTstream.Write(dataByte, 0, dataByte.Length);
POSTstream.Close();
//Get response from server
WebResponse POSTResponse = request.GetResponse();
StreamReader reader = new StreamReader(POSTResponse.GetResponseStream(), Encoding.UTF8);
string responseJSON = reader.ReadToEnd();
			
		
            
URL url = new URL("https://payments.usiopay.com/2.0/payments.svc/json/enpoint");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");

String input = "{\"MerchantID\":\"0000000001\",\"login\":\"API0000000001\",
	\"password\":\"Temp1234!\",\"additionalData\":\"values\"}";

OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();

if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
            throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
}

BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));

String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
   System.out.println(output);
}

conn.disconnect();
			
		
            
function CallSingularBillPayAPI() {
            var xhttp = new XMLHttpRequest();
   xhttp.onreadystatechange = function () {
            if (this.readyState == 4 && this.status == 200) {
           alert(this.responseText);
       }
   };
   xhttp.open("POST", "https://payments.usiopay.com/2.0/payments.svc/json/endpointName", true);
   xhttp.setRequestHeader("Content-type", "application/json");
            var obj = '{"MerchantID":"0000000001","Login":"API0000000001","Password":"Temp1234!","additionalData":""}';
   xhttp.send(obj);
}
			
		
            
let json: [String: Any] =
["MerchantID": "0000000001",
"Login": "API0000000001",
"Password": "Temp1234!",
"additionalData": ""]

let jsonData = try? JSONSerialization.data(withJSONObject: json)

let url = URL(string: "https://payments.usiopay.com/2.0/payments.svc/json/endpoint")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
   guard let data = data, error == nil else {
      print(error?.localizedDescription ?? "No data")
            return
   }
            let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
            if let responseJSON = responseJSON as? [String: Any] {
      print(responseJSON)
   }
}

task.resume()
			
		
            
function callAPI($method, $url, $data){
            $curl = curl_init();
   curl_setopt($curl, CURLOPT_POST, 1);
   curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

   // EXECUTE:
            $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}

$data_array =  array(
            "merchantID" => "0000000001",
            "login" => "API0000000001",
            "password" => "Temp1234!",
            "additionalData" => "values"
   ),
);

$make_call = callAPI('POST', 'https://payments.usiopay.com/2.0/payments.svc/json/enpoint', json_encode($data_array));
$response = json_decode($make_call, true);
$errors   = $response['response']['errors'];
$data     = $response['response']['data'][0];

			
		
            
use REST::Client;

my $client = REST::Client->new();

$client->addHeader('Content-Type', 'application/json');
$client->addHeader('charset', 'UTF-8');
$client->addHeader('Accept', 'application/json');

$req = '{
	"MerchantID" : "0000000001",
	"Login" : "API0000000001",
	"Password" : "Temp1234!",
	"additionalData" : "",
	}';

$url="https://payments.usiopay.com/2.0/payments.svc/json/endpoint";

$client->POST($url, $req);
print $client->responseContent();
			
		
            
require 'net/http'

url = 'https://payments.usiopay.com/2.0/payments.svc/json/endpoint'
params = {
  merchantID => '0000000001',
  login => 'API0000000001',
  password => 'Temp1234!',
  additionalData => 'values'
}

resp = Net::HTTP.post_form(url, params)

resp_text = resp.body
			
		
            
import requests
import json

def main():
   data = {}
   data[MerchantID] = '000000000001'
   data[Login] = 'API0000000001'
   data[Password] = 'Temp1234!'
   data[additionalData] = ''
   json = json.dumps(data)

   req = requests.post('https://payments.usiopay.com/2.0/payments.svc/json/endpoint', data=None, json=None)
            print("HTTP Status Code: " + str(req.status_code))
            print(req.headers)
   json_response = json.loads(req.content)
            print(json_response)

if __name__ == '__main__':
   main()
			
		
            
package main

import (
            "bytes"
            "encoding/json"
            "fmt"
            "io/ioutil"
            "net/http"
)

func main() {
    jsonData := map[string]string{
            "MerchantID": "0000000001",
            "Login": "API0000000001",
            "password": "Temp234!",
            "additionalData": "values"}
    jsonValue, _ := json.Marshal(jsonData)
    response, err := http.Post("https://payments.usiopay.com/2.0/payments.svc/json/endpoint",
            "application/json",
	   bytes.NewBuffer(jsonValue))
    if err == nil {
        data, _ := ioutil.ReadAll(response.Body)
		fmt.Println(data)
    }
}
			
		

In the right-hand panel, we have provided code samples in several of the most popular programming languages.
You will find code for cURL, C#, JAVA, Javascript, Swift, PHP, Perl, Ruby, Python, and Go.
In addition to REST/JSON, we also support REST/XML, SOAP, and WCF calls.

For additional help and support during your integration please contact us at integrations@usio.com.

References

Test Account Numbers

Following account numbers can be used for testing:

Account TypeAccount NumberRouting Number
Credit Card 4111111111111111
Debit Card 5489221100112235
ACH 123456789 555555550

Usio Response Codes

Usio will return 5000 series response codes for errors that occur within our system. Most of these errors are for improper formatting of data.

CodeDescription
5000 Security Violation
5001 System Failure
5002 Unspecified Network Issue
5003 Unable To Parse Response
5004 Unable to Load Merchant Details
5005 Invalid Gateway Setup
5006 Transaction Limits Exceeded
5007 State Not Supported
5008 Prefunding Amount Exceeded
5009 Pinless Credits Cannot Be Returned
5010 Invalid Transaction Code
5011 Operation Not Valid On This Card
5012 Operation Not Available On This Transaction Type
5020 Invalid Confirmation ID
5030 Unable to locate record
5031 Unable to get gateway token
5050 Invalid Amount
5051 Invalid Credit Card Track Data
5052 Invalid Credit Card Track Data Method
5053 Invalid Email Address
5054 Invalid First Name
5055 Invalid Last Name
5056 Invalid Address
5057 Invalid Address 2
5058 Invalid City
5059 Invalid State
5060 Invalid Zip Code
5061 Invalid International Province
5062 Invalid Country
5063 Invalid Card Number
5064 Invalid Credit Card Type
5065 Invalid Expiration Date
5066 Invalid CVV
5067 Invalid Merchant Pay Account
5068 Invalid Office ID
5069 Invalid User ID
5070 Invalid Additional Search
5071 Invalid Account Code 1
5072 Invalid Account Code 2
5073 Invalid Account Code 3
5074 Invalid Convenience Fee Amount
5075 Unable to Void Authorizations
5076 Invalid Payment Date
5077 Invalid Phone Number
5078 Invalid Account Number
5079 Invalid Routing Number
5080 Invalid Check Number
5081 Invalid Merchant Name
5082 Invalid Bank Name
5083 Invalid Transaction Filter
5084 Invalid 3D Secure Data
5085 Invalid Terminal ID
5086 Card Brand is not supported
5088 Invalid Print Check Token
5089 Invalid Print Check Template ID
5090 Error Submitting Invoice
5091 Invalid Biller ID
5092 Invalid Biller Name
5093 Convenience Fee less than minimum
5094 Invalid Addenda Value
5095 Invalid Description
5096 Invalid SEC
5097 Invalid Same Day ACH Value
5098 Invalid ACH Option
5099 Invalid Mobile Wallet Type
5100 Invalid Mobile Wallet Cryptogram
5101 Invalid Mobile Wallet ECI Code
5102 Invalid Payment Frequency
5103 Bin Not Available for Pinless Debit
5104 Failed PDS Account Lookup
5107 Invalid Merchant ID
5108 Unable to Retrieve Merchant Credentials
5109 RCC Void Record Failed to Insert
5110 RCC Void Record Failed to Update
5111 RCC Payment Record Failed to Insert
5112 Duplicate Transaction
5113 Payment Not Found or Already Voided
5114 Error Processing Void/Return
5115 Invalid PaymentID
5116 Marks/Returns are not Available on Tokenize Transactions
5117 Mark Amount is More Than Double Original Auth Amount
5118 Mark is not Available on Terminal Payments
5119 Error Checking Settlement
5120 Pinless Processing is Temporarily Disabled
5121 Error Submitting Payment Record
5122 Invalid Data Format
5123 Error Submitting Printed Check
5124 Account has been Locked
5125 Invalid Token
5126 Velocity Limit Exceeded
5127 Invalid From Date
5128 Invalid To Date
5129 Credit Cards not supported
5130 Invalid Date Range
5131 Convenience Fee Not Available On Gross Settlement
5132 Invalid Number Of Custom Filter Arguments
5133 Invalid Custom Filter Field
5134 Invalid Number Of Confirmation List Filter Arguments.
5148 Invalid Input for Accounts in Test Mode
5154 Invalid Payment Time Frame After Prenote Entry
5155 Terminal In Use
5156 Invalid Document Retrieval Year
5157 Invalid Document Retrieval Month
5158 Invalid Document Retrieval Document Type
5159 Unable to locate document
5160 Decline Rate Exceeded
5161 BNPL Application not found
5162 Invalid request

Gateway Response Codes

Error messages returned from the gateways, networks or issuer.

CodeDescription
EA Verification error
EC Verification error
E9 P2PE encryption required
EQ No available gateway nodes
EU Unknown/Not documented
N3 Cashback service not available
N4 Exceeds issuer withdrawal limit
N7 Error in additon Future
R1 Credit not Received Future
RR Unknown backend processing error
S9 Expiration date mismatch
SA Inactive card
ZN MasterCard MoneySend Decline due to Card was Declined
ZR MasterCard MoneySend Decline due to Unsupported Card
ZU MasterCard MoneySend Error due to an Unknown Reason
P55 Invalid Credit Card No.
00 Approved
01 Refer to card issuer
02 Refer to card issuer, special conditions
03 Invalid Merchant
04 Pick-Up
05 Do not honor
06 General error
07 Pick-up card, special conditions
08 Honor with identification
09 Request in progress
10 Approved for partial amount
11 Approved (VIP)
12 Invalid Transaction
13 Invalid amount
14 Invalid card number (no such number)
15 No such issuer
17 Manual PAN tries exceeded
19 Re-enter transaction
20 Invalid response
21 Reversal unsuccessful/Unable to back out transaction
28 File is temporarily unavailable
30 Message format error
31 Bank not supported by switch
33 Pick up card - Expired
34 Suspected fraud, pick up
38 Allowable number of pin tries exceeded
39 No credit account
40 Requested function not supported
41 Lost Card, Pick Up
43 Stolen Card, Pick Up
44 No investment account
46 Acccount closed
47 Remote function unknown
51 Insufficient Funds
52 No checking account
53 No savings account
54 Expired Card
55 Incorrect pin
56 Cannot process
57 Transaction not permitted to CardHolder
58 Transaction not permitted to terminal (may also be a chargeback)
59 Suspected Fraud
61 Exceeds withdrawal amount limit
62 Restricted Card
63 Security violation
65 Exceeds withdrawl frequency limit
67 Hard Capture, Pick-Up
75 Allowable number of PIN tries exceeded
76 Unable to locate, no match/Late reversal
77 Inconsistent date, rev. or repeat
78 Customer not eligible for POS (Star SM )
79 Already reversed at switch/No "From" account specified
80 Invalid date
81 Cryptographic error
82 Cashback limit exceeded/Invalid CVV
83 Fraud Card-Absent Environment.
86 Can not verify PIN
88 Card record not available
89 Card verification value (CVV) verification failed (no pickup)
91 Issuer or Switch is inoperative
92 Financial institution or intermediate network unknown for routing
93 Violation, cannot complete/Illegal transaction
96 System Malfunction
98 Duplicate transaction
99 Preferred debit routing denial/Credit transaction cannot be performed as debit
100 Do not Honor
101 Expired Card
107 Refer to card issuer
108 Refer to card issuer's special condition
114 No account of type requested
116 Insufficient funds
119 Transaction not permitted to cardholder
123 Exceeds withdawal limit frequency
209 Stolen card
908 Transaction destination cannot be found for routing

Final Status Description

Final status description for ACH,Credit and Debit Payment type.

Payment TypeFinal StatusDescription
ACH XXX Transaction Not accepted. See Error Message
ACH RXX Transaction was returned. See return codes list
ACH CXX Transaction has a Notice of Change. See return codes list
ACH ACHPaymentVoided Payment has been voided
ACH ACHPaymentCredited Payment has been credited
ACH 1912 Duplicate Transaction
ACH 1100 Account and Routing number are in the negative accounts table
 
Credit Card Pending For Return will always show pending
Credit Card Problem Processing error occurred. See Error Message
Credit Card Payment Marked Transaction has been marked
Credit Card Payment Voided Transaction has been voided
Credit Card Success Transaction has been successfully created
Credit Card Payment Returned Transaction has been Returned
Credit Card Badcard Card is not able to validate
Credit Card Initiated CC Void/Refund sent to the CC gateway
Credit Card Voided Voided transaction request
Credit Card Fraud Invalid credit card number
Credit Card Payment Authorized Payment has been authorized
Credit Card Failure Payment failed. See Error Message
 
Pinless Debit Success Transaction has been successfully submitted
Pinless Debit Payment Returned Transaction has been Returned
Pinless Debit Failure Transaction has not submitted. See Error Message
Pinless Debit ChargedBack Transaction is chargedback

NACHA Return Codes

Return codes for NACHA transactions.

CodeDescription
R01 Insufficient Funds
R02 Account Closed
R03 No Account/Unable to Locate Account
R04 Invalid Account Number
R05 Unauthorized Debit Entry
R06 Returned per ODFI’s Request
R07 Authorization Revoked by Customer (adjustment entries)
R08 Payment Stopped or Stop Payment on Item
R09 Uncollected Funds
R10 Customer Advises Not Authorized; Item Is Ineligible, Notice Not Provided, Signatures Not Genuine, or Item Altered (adjustment entries)
R11 Customer Advises Entry Not in Accordance with the Terms of the Authorization
R12 Branch Sold to Another DFI
R13 RDFI not qualified to participate
R14 Representative Payee Deceased or Unable to Continue in that Capacity
R15 Beneficiary or Account Holder (Other Than a Representative Payee) Deceased
R16 Account Frozen
R17 File Record Edit Criteria (Specify)
R20 Non-Transaction Account
R21 Invalid Company Identification
R22 Invalid Individual ID Number
R23 Credit Entry Refused by Receiver
R24 Duplicate Entry
R29 Corporate Customer Advises Not Authorized
R31 Permissible Return Entry (CCD and CTX only)
R33 Return of XCK Entry
R34 Limited Participation D.F.I.
R35 Return of Improper Debit Entry
R36 Return of Improper Credit Entry
R37 Source Document Presented for Payment (adjustment entries) (A.R.C.)
R38 Stop Payment on Source Document (adjustment entries)
R39 Improper Source Document
R40 Non Participant in E.N.R. Program
R41 Invalid Transaction Code (E.N.R. only)
R42 Routing Number/Check Digit Error
R43 Invalid D.F.I. Account Number
R44 Invalid Individual I.D. Number
R45 Invalid Individual Name
R46 Invalid Representative Payee Indicator
R47 Duplicate Enrollment
R50 State Law Prohibits Truncated Checks
R51 Notice not Provided/Signature not Authentic/Item Altered/Ineligible for Conversion
R52 Stop Pay on Item
R53 Item and A.C.H. Entry Presented for Payment
R61 Misrouted Return
R67 Duplicate Return
R68 Untimely Return
R69 Field Errors
R70 Permissible Return Entry Not Accepted
R71 Misrouted Dishonor Return
R72 Untimely Dishonored Return
R73 Timely Original Return
R74 Corrected Return
R75 Original Return not a Duplicate
R76 No Errors Found
R80 Cross-Border Payment Coding Error
R81 Non-Participant in Cross-Border Program
R82 Invalid Foreign Receiving D.F.I. Identification
R83 Foreign Receiving D.F.I. Unable to Settle
R84 Entry Not Processed by O.G.O.

NACHA NOC Codes

Notifications of Change codes for NACHA transactions. A Notification of Change may be created by an RDFI to notify the ODFI that a posted Entry or Prenotification Entry contains invalid or erroneous information and should be changed.

CodeDescription
C01 Bank account number incorrect or formatted incorrectly
C02 Once valid transit/routing number must be changed
C03 Once valid transit/routing number must be changed and causes a change to bank account number structure
C04 Customer has changed name or ODFI submitted name incorrectlyr
C05 Entry posted to demand account should contain savings payment codes or vice versa
C06 Bank account number must be changed and payment code should indicate posting to another account type (demand/savings)
C07 Changes required in transit/routing number, bank account number and payment code
C08 Incorrect Receiving DFI Identification (IAT only)
C09 Individual's ID number is incorrect
C10 Company name is no longer valid and should be changed
C11 Company ID is no longer valid and should be changed
C12 Both the company name and company id are no longer valid and must be changed
C13 Addenda Format Error
C14 Incorrect SEC Code for Outbound International Payment

Remote Check Return Codes

Return codes for remote checks.

CodeDescription
RA NSF - Not Sufficient Funds
RB UCF - Uncollected Funds Hold
RC Stop Payment
RD Closed Account
RE UTLA - Unable to Locate Account
RF Frozen/Blocked Account - Account has Restrictions placed on it by either customer or bank
RG Stale Dated
RH Post Dated
RI Endorsement Missing
RJ Endorsement Irregular
RK Signature(s) Missing
RL Signature(s) Irregular, Suspected Forgery
RM Non-Cash Item (Non-Negotiable)
RN Altered/Fictitious Item/Suspected Counterfeit/Counterfeit
RO Unable to process (e.g. Unable to process physical item/Mutilated such that critical payment information is missing). This code shall not be used for unusable images or system problems (see code "U").
RP Item outside of stated dollar amount
RQ Not Authorized (Includes Drafts) - Unathorized item such as a draft
RR Branch/Account Sold (Wrong Bank) - Divested Account, Not Our Item
RS Refer to Maker
RT Item cannot be re-presented (Exceeds number of allowable times the item can be presented)
RU Unusable Image (Image could not be used for required business purpose, e.g. gross image defects, illegible, etc.)
RV Image Fails Security Check
RW Cannot Determine Amount - Amount cannot be verified
RX Refer to Image - Return Reason information is contained within the image of the item
RY Duplicate Presentment (Supporting documentation shall be readily available)
RZ Forgery - An affidavit shall be available upon request
R1 Does not conform with ANSI X9. 100-181 Specification for TIFF Image Format for Image Exchange standard
R2 Does not conform to the Industry's Universal Companion Document, TR 47.
R3 Warranty Breach (Includes Rule 8 & 9 claims)
R4 RCC Warranty Breach (Rule 8)
R5 Forged and Counterfeit Warranty Breach (Rule 9)
R6 Retired/Ineligible/Failed Institution Routing Number

Credit Card Updater Response Codes

Return Codes from Credit Card Updater.

CodeDescription
300 Accepted
301 Transmitted to Network
302 No Response From Network
303 Match Made, New Card Number
304 Match Made, Closed Account
305 Match Made, Expiration Date Changed
306 Invalid Card Account Number
307 No Match
308 Invalid Expiration Date
309 Match Made, Contact Cardholder
310 Issuer Corrected a Previous Update
311 Network Error
312 Match Made, Account Number and Exp Date Unchanged

AVS Codes

Address Verification Codes.

CodeDescription
A Address matches, ZIP code does not.
B Street address match for international transaction; postal code not verified.
C Street & postal code not verified for international transaction.
D Street & Postal codes match for international transaction Both the five-digit postal zip code as well as the first five numerical characters contained in the address match for the international transaction.
E Transaction is ineligible for address verification.
F Street address & postal codes match for international transaction. (UK Only)
G AVS not performed because the international issuer does not support AVS.
I Address information not verified for international transaction.
M Street address & postal codes match for international transaction.
N Neither the ZIP nor the address matches.
P Postal codes match for international transaction; street address not verified.
R Issuer's authorization system is unavailable, try again later.
S AVS not supported at this time.
U Unable to perform address verification because either address information is unavailable or the Issuer does not support AVS.
W Nine-digit zip match, address does not. The nine-digit postal zip code matches that stored at the VIC or card issuer's center. However, the first five numerical characters contained in the address do not match.
X Exact match (nine-digit zip and address). Both the nine-digit postal zip code as well as the first five numerical characters contained in the address match.
Y Address & 5-digit or 9-digit ZIP match.
Z Either 5-digit or 9-digit ZIP matches, address does not.
0 Service Not Allowed. Generally associated with credit cards that are either not allowed to be used for any online transactions or are not allowed to be used for a specific classification of company.

CVV Return Codes

CodeDescription
X No CVV2 information is available.
U The issuer has not certified or has not provided the encryption keys to the interchange.
P Card verification not performed, CVD was not on the card. Not all cards have a CVD value encoded.
Y Card verification performed, and CVD was valid.
D Card verification performed, and CVD was invalid.
N Authorizing entity has not attempted card verification or could not verify the CVD due to a security device error.
M Match