A single-leg transaction (SLT) requires two Financial Accounts: a debit account and a credit account. These accounts must belong to the Business Account associated with the request access token.
In an SLT, the move money operation is performed in a single stage or “leg”. The same transaction is used to obtain funds from a debit account, then transfer the funds to a credit account.
Debit Account
Credit Account
You can create two types of transactions, SEND and REQUEST. Both transaction types are used to transfer funds from the debit account to the credit account.
SEND Transaction
REQUEST Transaction
POST /v1/transactions
Authorization: Bearer <access_token>
Idempotency-Key: <key>
where <key> is a v4 UUID or any other unique string with a minimum length of 6 characters and a maximum length of 255 characters.
The idempotency key identifies the request. If a network error occurs, you can safely retry the request using the same idempotency key and the request will only be executed once. This ensures that calling the API multiple times will not result in duplicate requests. For more information, see Idempotent Calls.
metadata CONDITIONAL
string, max items: 6, value max length: 1024
Key/value pairs used to store additional information about the transaction. ACH transactions must include one or more of the following metadata parameters.
|
Parameter |
Description |
|---|---|
|
rkorACHEntryType |
Required for all ACH transactions. ACH Standard Entry Class (SEC) code. The following codes are supported. For more information, see ACH File Details.
|
|
rkorACHIndividualId |
Required if rkorACHEntryType is CIE, PPD, or TEL. Individual Identification Number. |
|
rkorACHCheckSerialNumber |
Required if rkorACHEntryType is ARC, BOC, POP, or RCK. Serial number of the check from a Converted Check Copy. |
|
rkorACHTerminalCity |
Required if rkorACHEntryType is POP. Terminal city. |
|
rkorACHTerminalState |
Required if rkorACHEntryType is POP. Terminal state. |
The following metadata parameters are returned in the response.
|
Parameter |
Description |
|---|---|
|
rkorProvider |
ACH Provider. Possible values are PAYGEARS and SNB. |
|
rkorReasonCode |
Return Reason Code. Present in RETURN transaction responses. |
|
rkorReasonDescription |
Return Reason Description. Present in RETURN transaction responses. |
|
rkorDiscretionaryData |
Return Transaction Identifier. Present in RETURN transaction responses. |
debitFinancialAccountId REQUIRED
string (UUID)
ID of the Financial Account used as the debit account (source of funds) for the transaction.
creditFinancialAccountId REQUIRED
string (UUID)
ID of the Financial Account used as the credit account (receiver of funds) for the transaction.
transactionType REQUIRED
string enum, values: SEND, REQUEST
Type of transaction. The following values are supported:
SEND Push funds from the debit Financial Account to the credit Financial Account.
For example, a SEND transaction would be used if a Business Account (owner of the debit Financial Account) is sending a refund to a Customer (owner of the credit Financial Account).
REQUEST Pull funds to the credit Financial Account from the debit Financial Account.
For example, a REQUEST transaction would be used if a Business Account (owner of the credit Financial Account) is collecting a rent payment from a Customer (owner of the debit Financial Account).
solution REQUIRED
string
Name of the RocketKOR solution used for the transaction.
paymentReasonId REQUIRED
string
ID representing the payment reason for the transaction. Use the Payment Reasons API to retrieve a list of available IDs.
amount REQUIRED
string (decimal)
Transaction amount. The amount must conform to any transaction limits.
currency
string
Currency used for the transaction. Must be an ISO 4217 alpha 3-character currency code.
settlementPriority CONDITIONAL
string enum, values: IMMEDIATE, SAME_DAY, NEXT_DAY, SCHEDULED
Required for ACH transactions. Optional for Wire transactions. Not required for Push-to-Card transactions.
Expected priority for settling the transaction. The following values are supported:
Note If settlementPriority is not specified for ACH transactions, the value NEXT_DAY will be used.
initiatorAccountHolderId
string (UUID)
ID of the RocketKOR account that initiated the transaction. This can be a Business Account or a Customer Account.
externalTransactionInitiatorId
string
External identifier. Can be used to capture your internal ID for the user that initiated the transaction on the client application.
description CONDITIONAL
string, max length: 100
Required for the Wire solution. Not available for other solutions.
Brief description of the transaction. If the value exceeds the maximum length, the value will be truncated to 100 characters when the transaction is submitted for processing.
memo
string, max length: 100
Only available for the Wire solution.
Brief additional note about the transaction. If the value exceeds the maximum length, the value will be truncated to 100 characters when the transaction is submitted for processing.
Returns the SLT object. This object contains the transaction details, including a unique ID for the transaction.
SAMPLE REQUEST
{
"metadata": {
"rkorACHEntryType": "CCD",
"myPaymentId": "100000333",
"invoiceNumber": "123232333",
"authorizedBy": "user@email.com"
},
"debitFinancialAccountId": "6a017f06-83a3-44b7-be6f-5e5cae4a9ed7",
"creditFinancialAccountId": "4py56a34-4686-1539-c2ga-1a723g55dlq3",
"transactionType": "SEND",
"solution": "ach",
"paymentReasonId": "bill-payment",
"amount": "1000.00",
"currency": "USD",
"settlementPriority": "SAME_DAY",
"initiatorAccountHolderId": "ebfa3e16-63c4-48e3-ae59-a3194a867269",
"externalTransactionInitiatorId": "c62d1e6b-39ce-496e-bf6d-8a019d2f534e",
"description": "",
"memo": ""
}
SAMPLE RESPONSE
{
"businessAccountId": "de30132c-e67a-4af7-89ec-f2109863b7f7",
"metadata": {
"rkorACHEntryType": "CCD",
"myPaymentId": "100000333",
"invoiceNumber": "123232333",
"authorizedBy": "user@email.com"
},
"debitFinancialAccountId": "6a017f06-83a3-44b7-be6f-5e5cae4a9ed7",
"creditFinancialAccountId": "4py56a34-4686-1539-c2ga-1a723g55dlq3",
"transactionType": "SEND",
"solution": "ach",
"paymentReasonId": "bill-payment",
"paymentReason": "Bill payment",
"amount": "1000.00",
"currency": "USD",
"settlementPriority": "SAME_DAY",
"createdAt": "2021-07-01T17:40:22.601Z",
"createdBy": {
"id": "b6333b53-3222-4227-a71e-718b25ca3ea4",
"type": "service-account"
},
"description": "",
"memo": "",
"initiatorAccountHolderId": "ebfa3e16-63c4-48e3-ae59-a3194a867269",
"externalTransactionInitiatorId": "c62d1e6b-39ce-496e-bf6d-8a019d2f534e",
"originatingChannel": "EXTERNAL",
"id": "2av81w47-9367-1295-h4ng-1q520p28wfn1",
"latestStatus": {
"status": "NEW",
"message": "Transaction creation successful",
"createdBy": {
"id": "b6333b53-3222-4227-a71e-718b25ca3ea4",
"type": "service-account"
},
"createdAt": "2021-07-01T17:40:22.601Z"
},
"reversalReason": ""
}
Step into the future of Finance with RocketKOR! Simplify payments, banking, lending, and data analytics using our versatile KOR Platform.
A Rocket Financial Inc. company
@ 2024 RocketKOR, Inc. All rights reserved.