SOAP Web Service
Overview
Purpose
The purpose of the GoToBilling (GTB) SOAP Web Service is to provide an easy set methods for sending and receiving information from GTB in the form of SOAP requests. This allows you have a readily available platform integrating many current applications with GTB.
Summary of GoToBilling SOAP Web Service
The GoToBilling SOAP Web Services main functions are to create and update customers records and accounts, search for future, pending and past transactions and to process transactions. This web service can be used to integrate any new or existing application with the GTB application.
The rest of this document will summarize the web service, it's methods, the complex types used, and examples of usage. A WSDL for the web service can be found at:
https://secure.gotobilling.com/gateway/services/1.4/soap.php?wsdl
Please see SOAP API Release Notes for a history of changes.
Version History
1.3 **DEPRECATED**
- Added getTransaction method
1.4
- Added CustomField support
- getCustomFields method now available.
- saveAccount - Invalid routing number now correctly throws error code: 107
Complex Types
This section defines the various complex types used in this web service. Some of these type are used for Input, Output or both.
MerchantAuth
The MerchantAuth complex type allows for the delivery of the client credentials to authorize service requests.
MerchantAuth Fields
Field Name | Optional (O); Conditional (C); | Data Type & Length | Description & Field Values |
---|---|---|---|
| |||
| |||
access_token | O | string | Valid OAuth access token. |
access_key | O or C | string | Provide API access key pair parameters in lieu of standard MerchantAuth fields - CONDITIONALLY REQUIRED: if access_key parameter is supplied, access_secret parameter must also be supplied. For more information on obtaining an API access key, see: Managing API Access Keys |
access_secret | O or C | string | Provide API access key pair parameters in lieu of standard MerchantAuth fields - CONDITIONALLY REQUIRED: if access_key parameter is supplied, access_secret parameter must also be supplied. For more information on obtaining an API access key, see: Managing API Access Keys |
source_description | O | string | Description of the source originating the request. |
module_description | O | string | Description of the module originating the request. |
CustomerInfo
Customers or Customer Records are the individual people or companies that are customers to the Business(MID) we are working with. Typical customer data is Name, Address, Phone number etc. There are two unique fields in GTB that help identify customers. More will be explained below but one is a unique internal ID created by GTB called customer_id and the other one is created externally by the business called customer_name. The customer_name created by the business allows them to use a unique value from their accounting or other customer service systems so they can tie their data to the data in GTB.
CustomerInfo Fields
Field Name | Required (R); Optional (O); Conditional (C); Read Only (RO) | Data Type & Length | Description & Field Values |
---|---|---|---|
customer_id | C | String (50) | A unique customer identifier set by GTB. |
first_name | C | String (50) | Required if display_as='contact' |
last_name | C | String (50) | Required if display_as='contact' |
customer_name | R | String (100) | Externally defined unique field for each Customer. This is a free-form identifier that is created by the user to allow matching of customers by existing customer numbers in accounting or other customer databases and systems. This field MUST be unique in order for many other functions and features the customer may use. |
display_as | R | String (50) | Values: 'company' or 'contact'. Defaults to contact if not recognized. |
company | C | String (50) | Required if display_as='company' |
address1 | O | String (100) | |
address2 | O | String (50) | |
city | O | String (50) | |
state | O | String (2) | |
zip | O | String (20) | |
phone | O | String (50) | |
O | String (100) | ||
ssn | O | String (50) | |
dl_number | O | String (20) | |
dl_state | O | String (2) | |
notes | O | String | |
active | R | Boolean | Determines whether a customer record is Active or Inactive. Inactive customers show as grayed out within the GTB application
|
hidden | O | Boolean | Determines whether customer record is visible or not within the main GTB app. It’s the status field that is used when a customer record is deleted but in reality the we don’t delete the customer from the database, we just make it invisible to the user.
|
date_added | RO | String | The date the customer was originally added to GTB. YYYYMMDD format |
AccountInfo
Accounts are one or more payment accounts(methods) a customer may have. For example, a customer may have 4 payment accounts. One that is a VISA card, another that is a MasterCard and 2 different bank accounts. Under normal situations a customer usually only has one Account but any one customer may have multiple Accounts they may be paying from for any given Business(MID).
AccountInfo Fields
Field Name | Required (R); Optional (O); Conditional (C); Read Only (RO) | Data Type & Length | Description & Field Values |
---|---|---|---|
account_id | C | Int | A unique identifier assigned by GTB for every Account that is added to the system. |
customer_id | R | Int | Unique ID of the customer the account is being assigned to. |
account_name | O | String (100) | This field allows a consumer to name their checking or credit card account to anything they want as an identifier for their account. |
account_number | C | String (100) For credit cards it is the 16 digit card number and for Checking Accounts it is the routing and account number including all leading zeros. | |
routing_number | C | String(9) | ABA Routing number for bank account. |
enabled | O | Boolean | Defines whether this Account is enabled for adding transactions or not. If it is disabled, then no transactions can be done using this account within GTB.
|
type | R | Int | Defines the account type, i.e. credit card or ACH
|
bank_name | C | String (50) | If account type is ACH, indicates the name of the banking institution |
cc_name | C | String (100) | Actual Name of the customer as it appears on their credit card. |
expiration | C | String | Card expiration date. In the format: MMYY |
cvv | C | String (4) | The 3 or 4 digit card security value on the card. When retrieving information about an account the CVV value will always be masked for security reasons. |
cc_zip | C | String (5) | The 5 digit billing zip code associated with the card. |
is_savings | C | Boolean | Tells you if the Checking Account is a Savings account or not.
|
date_added | RO | String | Format: YYYYMMDD |
date_modified | RO | String | Format:YYYYMMDD |
TransactionInfo
There are several different types of transactions but there are two broad categories for Transactions. Pending transactions and History Transactions. Pending transactions are those that are scheduled to process on some day in the future. History transactions are ones that have already processed. Transactions can be ACH, credit card, Void, Refund, and a host of other types. All of them still fall into either a pending transaction or a History transaction. Also, transactions are tied to Customers, of course, but also tied to the Account as a single customer may have made several transactions using different credit card numbers and different checking accounts but they were all done by the same customer. Therefore, the web services dealing with Transactions you will see each Transaction holds information that may seem like Account information.
TransactionInfo Fields
Field Name | Required (R); Optional (O); Conditional (C); Read Only (RO) | Data Type & Length | Description & Field Values |
---|---|---|---|
tran_id | C | Int | Unique number that is assigned by GTB for every transaction entered into the system. If trans_id exists in GTB then that record is updated; otherwise, a new record is created. If a tran_id is provided that doesn't exist then you get an error message. |
customer_id | R | Int | GTB generated customer ID, returned in CustomerInfo |
account_id | R | Int | GTB generated account ID for the payment account, returned in AccountInfo |
tran_type | R | Int | Determines type of transaction, i.e. ACH or credit card
(*) ARC must be MICR read and image of check stored. All of these transaction types have special ACH rules and should not be coded to without help from GTB. |
record_type | R | Int | Description: Determines whether transaction activity
|
auth_type | C | Int | Indicates method of ACH transaction authorization. These are ONLY used on ACH transactions. Before implementing any ACH transactions please consult GTB for compliance and NACHA regulations. Auth_type is normally 1, 2 or 3 under most circumstances. Values:
(*) Consult with GTB for extra compliance issues and NACHA regulations. |
occurrence | O | String | Indicates presence of any recurring transaction activity. Applicable to both CC and ACH transactions.
|
occurrence_number | C | Int | Determines the number of times that a particular transaction is to be recurred. Any integer value represents the number of occurrences left for this particular transaction. If not provided and occurrence type is not single, transaction will repeat indefinitely. |
amount | R | Float | The amount of the transaction. |
check_number | C | String (50) | |
tran_date | C | String (50) | The date the transaction is scheduled to process. Format is YYYYMMDD |
notes | O | String | |
memo | O | String | |
is_corporate | O | Boolean | |
po_number | C | String (50) | Required if is_corporate is TRUE |
sales_tax | C | Float | |
sales_tax_type | C | Int | Required if sales_tax is provided |
order_id | O | String (50) | Unique transaction ID field specified by the merchant. Also used in determining duplicate submissions. |
ticket_id | C | String (50) | Only Credit card transactions receive Ticket ID. This Ticket ID is required when submitting a VOID transaction. |
customer_int | O | Boolean |
|
process | O | Boolean | Set to true to immediately process a CC transaction sent with today as the transaction date. If not set to true, transactions will be placed into batch for later processing. Transactions will not process immediately if management approval is required. Future-dated transactions will be placed in batch for the date given. |
account | RO | String | Masked account number associated with a transaction |
account_type | RO | String | Type of account for the transaction |
account_expiration | RO | String | Expiration date of a credit card account |
tran_code | RO | String | Not in a Post, only in a Get as it is the descriptive reason message on credit card transactions. Things like Decline reasons of invalid exp date, etc. They can exist even on Approvals. |
tran_status | RO | String | Status of a Transaction |
invoice_id | RO | String | GTB created. If someone pays an invoice that is generated out of GTB, the invoice number is entered into this field to tie the transaction to the invoice number. |
date_created | RO | String | |
approvals_needed | RO | Int | Is the number of people that need to approve the transaction before it can process. |
auth_code | RO | String | Authorization code for a credit card transaction |
avs_code | RO | String | Credit card transaction response foraddress verification. |
cvv2_code | RO | String | Credit card transaction response for the CVV security code supplied. |
reference_id | RO | String | The Reference ID is an internally generated number. It will be the order_id if supplied by the merchant. This field is displayed in the reports so that merchant supplied order_id’s would be visible to them. |
payment_category | RO | String | These are added to the transaction only from Click-n-pay when the consumer chooses one of the categories specified by the merchant when they schedule the payment. |
track1 | O | String | Track1 data obtained from scanned credit cards. This data is only accepted when creating a transaction and is not returned as part of the TransInfo object |
track2 | O | String | Track2 data obtained from scanned credit cards. This data is only accepted when creating a transaction and is not returned as part of the TransInfo object |
check_image_front | O | Base64Binary | For imaged ACH transactions, this is the front image of the check |
check_image_back | O | Base64Binary | For imaged ACH transactions, this is the back image of the check |
custom_fields | O | Array | Array containing CustomField data that should be attached to the transaction. |
verify_ach | O | Boolean | Set to true to enable.. otherwise, default is off. There are two levels of ACH verification but that is set on the Account Level at gotoBilling. If an ACH transaction receives an Authorization the status sent back will be R, if it is Declined, the status will be D. |
lock_status | O | Int | The lock status will indicate any type of user or system lock that is current in affect for the transaction:
|
TransactionSettle
TransactionSettle contains transactions that have processed and have either settled funds to the merchant, or have returned for some reason.
TransactionSettle Fields
Field Name | Read Only (RO) | Data Type & Length | Description & Field Values |
---|---|---|---|
transaction_id | RO | Int | Unique number that is assigned by GTB for every transaction entered into the system. This number will match the tran_id field assigned in TransactionInfo. |
item_id | RO | String | No currently used. |
funds_direction | RO | String | Identifies the general direction of the settlement funds. There are two possible values for this field
|
category_code | RO | Int | Determines category of the settlement.
|
reason_code | RO | Int | A sub category code that provides more details about the transaction
|
process_date | RO | Int | Indicates the date on which the transaction was originally processed. Given in the format 'YYYMMDD'. |
settle_date | RO | String | Indicates the date on which the transaction was settled or returned. Given in the format 'YYYMMDD'. |
customer_account | RO | String | Account number of the customer |
customer_name | RO | String | Name of the customer |
account_number | RO | String | Masked account number that the transaction has settled or returned against. |
check_number | RO | String | Check number assigned when the transaction was processed. |
amount | RO | Float | Amount of the transaction |
return_reason | RO | String | If record is a return, this will be the Return Code providing the reason for the return. |
CustomField
The CustomField complex type allows the attachment of custom field data to a transaction, provided the custom fields have been confirgured within the GotoBilling application.
CustomField Fields
Field Name | Required (R); | Data Type & Length | Description & Field Values |
---|---|---|---|
id | R | Int | The unique identifier for the custom field as provided by GotoBilling. |
value | R | Int | Value assigned to the custom field. |
Web Service Methods
getCustomFields
Description: Returns the current custom fields available.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
Returns: CustomField[]
deleteAccount
Description: Deletes a payment account with the generated account ID.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
string | account_id | A string representing an account_id generated by GTB |
Returns: String, representing the result of the method
Possible Exception Codes
- 103.1: Invalid Account ID.
- 132: Cannot delete this account, there are pending transaction associated with it
deleteTransaction
Description: Deletes a pending transaction given the transaction ID.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
string | tran_id | String representing a tran_id generated by GTB |
Returns: String, representing the result of the method.
Possible Exception Codes
- 110: Invalid Transaction ID
getAccounts
Description: Retrieve the Accounts for a specified customer
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
string | customer_id | A string representing a customer_id generated by GTB |
Returns: AccountInfo[], an array of AccountInfo, one for each account associated with the customer.
getAccountById
Description: Get Account information by GTB generated account ID.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
string | id | GTB generated account ID |
Returns: CustomerInfo
Possible Exception Codes
- 103.1: Invalid Account ID
getBatchInfo
Description: Retrieve information about the current batch.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
Returns: BatchInfo
getCustomerById
Description: Get Customer information by GTB generated customer ID.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
string | id | GTB generated customer ID |
Returns: CustomerInfo
Possible Exception Codes
- 102: Invalid Customer ID
getCustomers
Description: Gets a list of customers for a merchant.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
Returns: CustomerInfo[]
getTransaction
(v1.3)
Returns the transaction resource for a given Transaction ID.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
integer | Transaction ID | ID for the desired transaction resource. |
Returns: TransactionInfo
Example
$soapClient->getTransaction(array('login'=>'username','pin'=>'password'), 123456)
Possible Exception Codes
- 110: Invalid transaction ID#
getTransactions
(v1.3)
Returns array of transaction resources matching the specified search criteria.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
array | searchCritera | Array of search criteria fields and associated filter value. Valid criteria fields:
|
Returns: TransactionInfo[]
Example
$soapClient->getTransactions(array('login'=>'username',
'pin'=>'password'), array('customer_id'=>123456,
'amount'=>1.00))
Possible Exception Codes
- 130: Invalid search criteria
getPendingTransactions
Description: Gets a list of pending transactions.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
string | start_date | Lower limit of dates to search between for transactions |
string | end_date | Upper limit of date to search between for transactions. |
string | customer_id | A customer ID to limit the search results to |
string | account_id | An account ID to limit the search results to |
Returns: TransactionInfo[]
Possible Exception Codes
- 109: attribute out of order
getTransactionHistory
Description: Gets a historical list of transactions. Parameters:
Type | Name | Required | Description |
---|---|---|---|
MerchantAuth | auth | R | Merchant API access credentials |
string | start_date | R | Lower limit of dates to search between for transactions |
string | end_date | R | Upper limit of date to search between for transactions. |
string | customer_id | O | A customer ID to limit the search results to |
string | account_id | O | An account ID to limit the search results to |
Returns: TransactionInfo[]
Possible Exception Codes
- 109: attribute out of order
getTransactionReturns
Description: Get merchant transaction returns
Parameters:
Type | Name | Required | Description |
---|---|---|---|
MerchantAuth | auth | R | Merchant API access credentials |
string | start_date | O | Lower limit of dates to search between for transactions. If no start_date is provided, defaults to first day of current month |
string | end_date | O | Upper limit of date to search between for transactions. If no end_date is provided, defaults to current day of current month |
string | customer_id | C | A customer ID to limit the search results to. Optional, unless account_id is being provided. |
string | account_id | O | An account ID to limit the search results to |
Returns: TransactionInfo[]
Special Field Notes: The tran_code field that is returned with each transaction will contain the ReturnCode-ReturnDefinition, example R01-Insufficient Funds. Full List of Return Codes
Possible Exception Codes
- 109: attribute out of order
getTransactionSettlements
Description: Retrieve a list of all merchant settlements for the given date range. Settlements include any transactions that have settled to the merchants account as well as any returned transactions.
Parameters:
Type | Name | Required | Description |
---|---|---|---|
MerchantAuth | auth | R | Merchant API access credentials |
string | start_date | O | Lower limit of dates to search between for transactions. If no start_date is provided, defaults to first day of current month |
string | end_date | O | Upper limit of date to search between for transactions. If no end_date is provided, defaults to current day of current month |
Returns: TransactionSettle[]
runBatch
Description: Process all transactions in the batch for the given type of batch run. Options are: ACH, CC, or ALL.
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
runBatchRequest | String | String representing the type of batch to run. Options: ACH, CC, or ALL, defaults to ALL if left blank. |
Returns: True on successful run, False otherwise.
Possible Exception Codes
- 122: insufficient privileges
saveAccount
Description: Adds or updates account information Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
AccountInfo | account_info | AccountInfo complex type containing account information to be saved. |
Returns: AccountInfo
Possible Exception Codes
- 103: Invalid Account ID.
- 102: Invalid Customer ID
- 105: Unknown Account Type
- 108: Invalid card expiration date
- 106: Invalid account number
- 129: Invalid card zip code
saveCustomer
Description: Adds or updates customer information
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
CustomerInfo | customer_info | CustomerInfo complex type containing customer information to be saved. |
Returns: CustomerInfo
Possible Exception Codes
- 102: Invalid Customer ID
- 123: first_name attribute is required for contact display
- 124: last_name attribute is required for contact display
- 125: company attribute is required for company display
- 126: customer_name field is required
- 126.1: customer_name given is already in use by another customer
saveTransaction
Description: Adds or updates a pending transaction
Parameters:
Type | Name | Description |
---|---|---|
MerchantAuth | auth | Merchant API access credentials |
TransactionInfo | tran_info | TransactionInfo complex type containing pending transaction information to be saved. |
Returns: TransactionInfo
Possible Exception Codes
- 102: Invalid customer ID
- 103: invalid account ID
- 110: Missing transaction ID
- 111: authorization type required for ACH transactions
- 112: A PO number is required for Corporate cards
- 113: sales tax type is required when submittin a tax amount
- 114: a ticket ID must be specified to submit a void transaction
- 115: occurrence type is a required field
- 116: invalid transaction date
- 117: Invalid transaction date. Date must be for the current date or the future, past dates are not allowe
- 118: transaction is locked, you cannot change a locked transaction
- 119: invalid transaction type
- 120: invalid record type
- 121: invalid amount
- 127: invalid occurrence number
- 131: invalid lock status given.
- 133: Velocity Limit has been exceeded.
Errors Codes
This is a list of returned error codes and descriptions of their meaning.
Code | Description |
---|---|
101 | You are not authorized to use this service with the credentials you provided. Be sure you have supplied the correct Login and pin. |
102 | Invalid customer ID, either the supplied ID did not exist or was incorrectly formatted |
103.1 | Invalid account ID, either the supplied ID did not exist or was incorrectly formatted |
103.2 | Invalid account ID, either the supplied ID did not exist or was incorrectly formatted |
104 | A routing number is required for ACH accounts |
105 | The account type supplied is unknown |
106 | Invalid account number |
107 | A valid routing number must be supplied |
108 | Card expiration date was in an invalid format. Valid format is: MMYY |
109 | An attribute was supplied out of order, make sure that the parameters are in the correct order and resubmit |
110 | Invalid transaction ID, either the supplied ID did not exist or was incorrectly formatted |
111 | Auth_type field is required for ACH transactions. |
112 | A PO number is required for corporate card transactions |
113 | The sales_tax_type field is required when submitting sales tax |
114 | A ticket_id must be supplied to void a transaction. |
115 | An occurrence type is required for all transactions. |
116 | Invalid transaction date. The date you supplied was not a valid date string representation. |
117 | Transaction date must be for the current or future date. |
118 | Transaction is locked and cannot be changed at this time. |
119 | Invalid tran_type. |
120 | Invalid record type. Refer to the TransactionInfo complex type for valid values. |
121 | Invalid amount. Amounts must be a valid number. |
122 | You do not have the necessary permissions to do the requested action. |
123 | The first_name attribute must be supplied for a customer contact. |
124 | The last_name attribute must be supplied for a customer contact. |
125 | The company attribute must be supplied for a company customer. |
126 | Invalid customer_name given. |
126.1 | Invalid customer_name given. Already in use by another customer. |
127 | The occurrence number you specified is invalid. |
128 | Invalid card security code(CVV). The CVV code submitted was invalid, it must be 4 or less numbers. |
129 | Invalid card zip code. |
130 | Invalid search criteria |
131 | Invalid lock status given. |
132 | Cannot delete this account, there are pending transaction associated with it |
133 | Velocity Limit has been exceeded. |
Usage Examples
Create a customer and return the GTB assigned Customer ID
<?php $client = new SoapClient("https://secure.gotobilling.com/gateway/services/soap.php?wsdl"); // merchant auth, required fields // MAKE SURE TO FILL THIS OUT $login = ''; $pin = ''; $merchantAuth = array ( 'login' => $login, 'pin' => $pin ); // CustomerInfo Fields $customer_name = 'New Company, Inc'; // string, unique identifier $display_as = 'company'; // company' or 'contact' $company = 'new Company'; // string(50), required if above='company' $first_name = 'John'; // required if above='contact' $last_name = 'Jones'; // required if above='contact' $active = '1'; // boolean, disabled=0, enabled=1 $address1 = ''; // make the array $customerInfo = array( 'customer_name'=>$customer_name, 'display_as'=>$display_as, 'active'=>$active, 'company'=>$company, 'address1'=>$address1 ); // saveCustomer // required: MerchantAuth, CustomerInfo $result = $client->saveCustomer( $merchantAuth, $customerInfo ); print_r($result); ?>
Return Codes
Return Code | Description |
---|---|
R01 | Insufficient funds |
R02 | Invalid or Account closed |
R03 | Unknown account |
R04 | Unknown or Account Closed |
R05 | Reserved Never received |
R06 | Return requested by ODFI |
R07 | Authorization revoked |
R08 | Stop payment |
R09 | Uncollected funds |
R10 | Not authorized |
R11 | Check truncation entry return (If ARC or RCK) |
R12 | Branch sold to another DFI |
R13 | ACH Oper. RDFI not qualified to participate |
R14 | Payee deceased |
R15 | Beneficiary deceased |
R16 | Account frozen |
R17 | File record edit criteria |
R18 | ACH Oper. Improper effective entry date |
R19 | ACH Oper. Amount field error |
R20 | Non transaction account (If general ledger) |
R21 | Invalid company identification |
R22 | Invalid individual ID number |
R23 | Credit entry refused by receiver |
R24 | Duplicate entry |
R25 | ACH Oper. Addenda error |
R26 | ACH Oper. Mandatory field error |
R27 | ACH Oper. Trace number error |
R28 | ACH Oper. Routing # check digit error |
R29 | Corp. cust. adviser not auth. |
R30 | ACH Oper. RDFI non-part truncation prob |
R31 | Permissible return entry |
R32 | ACH Oper. RDFI non-settlement |
R33 | Return of XCK entry |
R34 | ACH Oper. - Limited participation DFI |
R35 | ACH Oper. Return of improper debit entry |
R36 | ACH Oper. Return of improper credit entry |
R37 | Source document presented for payment |
R39 | Improper Source Document |
R40 | Return of ENR entry by Fed. Gov. Agency |
R41 | Invalid transaction code |
R42 | Routing #/check digit error |
R43 | Inv. DFI acct. number |
R44 | Inv. Individual ID number |
R45 | Inv. Individual name/company name |
R46 | Inv. Rep. Payee indicator |
R47 | Duplicate enrollment |
R50 | State Law affecting RCK acceptance |
R51 | Item is ineligible (RCK) |
R52 | Stop payment on item (RCK) |
R53 | Item and ACH Entry Presented for Payment |
R61 | ODFI Use. Misrouted Return |
R62 | ODFI Use. Incorrect Trace Number |
R63 | ODFI Use. Incorrect Dollar Amount |
R64 | ODFI Use. Incorrect Individual Identification |
R65 | ODFI Use. Incorrect Transaction Code |
R66 | ODFI Use. Incorrect Company Identification |
R67 | ODFI Use. Duplicate Return |
R68 | ODFI Use. Untimely Return |
R69 | ODFI Use. Multiple Errors |
R70 | ODFI Use. Permission Return Entry Not Accepted |
R71 | Contested. Misrouted Dishonored Return |
R72 | Contested. Untimely Dishonored Return |
R73 | Contested. timely Original Return |
R74 | Contested. Corrected Return |
R80 | Cross-border payment coding error |
R81 | Non-participant in cross-border program |
R82 | Invalid foreign RDFI ID |
R83 | Foreign RDFI unable to settle |
R84 | Entry non processed by OGO (for crossborder program) |
Tran Status Codes
Return Code | Type | Description |
---|---|---|
Y | CC | Transaction was approved |
N | CC | Transaction was declined |
E | CC & ACH | There was an error during processing. See tran_code for more information. For ACH transaction see the Tran Code table below. |
P | ACH | Transaction is pending batch processing. |
Processed | ACH | Transaction has been processed and is awaiting settlement. |
Settled | ACH | Transaction has successfully settled and funds have been transferred. |
Returned | ACH | Transaction has been returned. |
Tran Code Definitions
Code | Description | Remit Status |
---|---|---|
E00 | An error has occurred while trying to process this transaction. | HOLD |
E01 | Number of transactions exceeds daily velocity limit | REMIT |
E02 | Total transaction volume exceeds daily velocity limit | REMIT |
E03 | Amount exceeds single transaction velocity limit | HOLD |
E04 | The account information provided is invalid. | HOLD |
E05 | This transaction is a duplicate of a previously run transaction. | HOLD |
E06 | Transaction volume exceeds period velocity limit. | REMIT |
E07 | Number of transactions exceeds period velocity limit. | REMIT |