Resources
This page documents the resource schemas specific to originated ACH payments. For resources related to receiving ACH payments, see Receiving ACH.
ACH Payment
AchPayment is a JSON:API resource, top-level fields:
| Name | Type | Description |
|---|---|---|
| id | string | Identifier of the ACH payment resource. |
| type | string | Type of the payment resource. For originations the value is achPayment. |
| attributes | JSON Object | JSON object representing the payment resource. |
| relationships | JSON:API Relationships | Describes relationships between the ACH payment and the originating deposit account and customer. |
Attributes
| Name | Type | Description |
|---|---|---|
| createdAt | RFC3339 Date string | The date the resource was created. |
| status | string | One of Pending,Pending Review, Rejected, Clearing, Sent, Canceled, Returned. See ACH Status. |
| reason Optional | string | Optional. More information about the status. |
| counterparty | Counterparty | The party on the other side of the ACH payment. |
| direction | string | The direction in which the funds flow (either Debit or Credit). |
| description | string | Payment description (maximum of 10 characters), also known as Company Entry Description, this will show up on statement of the counterparty. |
| addenda Optional | string | Optional, additional payment description (maximum of 50 characters), not all institutions present that. |
| amount | integer | The amount (cents) of the payment. |
| settlementDate Optional | RFC3339 Date string | Optional, for ACH debit with statuses Pending,Clearing, shows the date on which the payment will be settled. |
| expectedCompletionDate Optional | RFC3339 Date string | Optional, for ACH credit with statuses Pending,Sent, shows the date on which the counterparty will handle the request. |
| tags | object | See Tags. |
| counterpartyVerificationMethod Optional | string | Optional, shows the verification method of the counterparty : 'Plaid'. |
| sameDay | boolean | Indicates whether the payment is a Same Day ACH payment. See Same Day ACH. |
| secCode | string | The 3-letter ACH Standard Entry Class (SEC) Code. One of WEB, CCD, PPD. |
Relationships
| Name | Type | Description |
|---|---|---|
| account | JSON:API Relationship | The Deposit Account originating the transfer. |
| customer | Optional, JSON:API Relationship | The Customer the deposit account belongs to. This relationship is only available if the account belongs to a single customer, business or individual. |
| customers | Optional, Array of JSON:API Relationship | The list of Customers the deposit account belongs to. This relationship is only available if the account belongs to multiple individual customers. |
| counterparty | JSON:API Relationship | The Counterparty the payment to be made to. |
| transaction Optional | JSON:API Relationship | Optional. The transaction generated by this payment. Generated instantly in cases where a credit ach payment is converted to a book payment, otherwise, once the payment is sent. |
| recurringPayment | Optional, JSON:API Relationship | The recurring payment belonging to this payment. |
Example AchPayment resource:
{
"data": {
"type": "achPayment",
"id": "50",
"attributes": {
"createdAt": "2020-01-13T16:01:19.346Z",
"status": "Pending",
"counterparty": {
"routingNumber": "812345678",
"accountNumber": "12345569",
"accountType": "Checking",
"name": "Jane Doe"
},
"description": "Funding",
"direction": "Credit",
"amount": 10000,
"sameDay": false,
"secCode": "WEB"
},
"relationships": {
"account": {
"data": {
"type": "depositAccount",
"id": "555"
}
},
"customer": {
"data": {
"type": "individualCustomer",
"id": "99823"
}
},
"counterparty": {
"data": {
"type": "counterparty",
"id": "4567"
}
},
"transaction": {
"data": {
"type": "transaction",
"id": "4003"
}
}
}
}
}
ACH Transactions
ACH operations create various transaction types. Listen for transaction.created events to track when these are created.
Originated ACH Transaction
OriginatedAchTransaction is a JSON:API resource, top-level fields:
| Name | Type | Description |
|---|---|---|
| id | string | Identifier of the transaction resource. |
| type | string | Type of the transaction resource. The value is always originatedAchTransaction. |
| attributes | JSON Object | JSON object representing the transaction data. |
| relationships | JSON:API Relationships | Describes relationships between the transaction resource and other resources (account and customer). |
Attributes
| Name | Type | Description |
|---|---|---|
| createdAt | RFC3339 Date string | The date the transaction was created. Common to all transaction types. |
| direction | string | The direction in which the funds flow. Common to all transaction types. |
| amount | integer | The amount (cents) of the transaction. Common to all transaction types. |
| balance | integer | The account balance (cents) after the transaction. Common to all transaction types. |
| summary | string | Summary of the transaction. Common to all transaction types. |
| description | string | Transaction description. |
| addenda Optional | string | Optional, additional transaction description. |
| counterparty | Counterparty | The party on the other end of the transaction. |
| secCode | string | The 3-letter ACH Standard Entry Class (SEC) Code. One of WEB, CCD, PPD. |
| traceNumber Optional | string | Optional. The 15-digit ACH Trace Number identifies the transaction within the ACH file after transmission. |
| tags | object | See Tags. Inherited from the payment tags (see Tag Inheritance). |
Relationships
| Name | Type | Description |
|---|---|---|
| account | JSON:API Relationship | The Deposit Account of the customer. |
| customer | Optional, JSON:API Relationship | The Customer the deposit account belongs to. This relationship is only available if the account belongs to a single customer, business or individual. |
| customers | Optional, Array of JSON:API Relationship | The list of Customers the deposit account belongs to. This relationship is only available if the account belongs to multiple individual customers. |
| payment | JSON:API Relationship | The payment belonging to this transaction. |
| recurringPayment | Optional, JSON:API Relationship | The recurring payment belonging to this transaction. |
Example OriginatedAchTransaction resource:
{
"type": "originatedAchTransaction",
"id": "1",
"attributes": {
"createdAt": "2020-09-06T07:51:02.570Z",
"direction": "Credit",
"amount": 10000,
"balance": 10000,
"summary": "Unit Inc | Initial account funding",
"description": "Funding",
"addenda": "Initial account funding",
"counterparty": {
"name": "Unit Inc",
"routingNumber": "812345678",
"accountNumber": "1",
"accountType": "Checking"
},
"secCode": "WEB",
"traceNumber": "812345670000123"
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "10001"
}
},
"customer": {
"data": {
"type": "customer",
"id": "3"
}
},
"payment": {
"data": {
"type": "payment",
"id": "5"
}
}
}
}
Payment Canceled Transaction
The transaction represents an originated ACH that has been canceled by its originator prior to its transmission to the ACH network.
PaymentCanceledTransaction is a JSON:API resource, top-level fields:
| Name | Type | Description |
|---|---|---|
| id | string | Identifier of the transaction resource. |
| type | string | Type of the transaction resource. The value is always paymentCanceledTransaction. |
| attributes | JSON Object | JSON object representing the transaction data. |
| relationships | JSON:API Relationships | Describes relationships between the transaction resource and other resources (account, customer). |
Attributes
| Name | Type | Description |
|---|---|---|
| createdAt | RFC3339 Date string | The date the transaction was created. Common to all transaction types. |
| direction | string | The direction in which the funds flow. Common to all transaction types. |
| amount | integer | The amount (cents) of the transaction. Common to all transaction types. |
| balance | integer | The account balance (cents) after the transaction. Common to all transaction types. |
| summary | string | Summary of the transaction. Common to all transaction types. |
| tags | object | See Tags. |
Relationships
| Name | Type | Description |
|---|---|---|
| account | JSON:API Relationship | The Deposit Account participating in the transaction. |
| customer | Optional, JSON:API Relationship | The Customer the deposit account belongs to. This relationship is only available if the account belongs to a single customer, business or individual. |
| customers | Optional, Array of JSON:API Relationship | The list of Customers the deposit account belongs to. This relationship is only available if the account belongs to multiple individual customers. |
| org | JSON:API Relationship | The org the customer belongs to. |
| relatedTransaction | JSON:API Relationship | The original transaction being canceled. |
Example PaymentCanceledTransaction resource:
{
"type": "paymentCanceledTransaction",
"id": "185",
"attributes": {
"createdAt": "2022-02-02T13:11:22.404Z",
"amount": 7000,
"direction": "Credit",
"balance": 1702108,
"summary": "Cancellation of: 184 | Payment Id: 18"
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "10002"
}
},
"customer": {
"data": {
"type": "customer",
"id": "10001"
}
},
"customers": {
"data": [
{
"type": "customer",
"id": "10001"
}
]
},
"relatedTransaction": {
"data": {
"type": "transaction",
"id": "184"
}
}
}
}