Create a multi-leg transaction (MLT). In an MLT, the move money operation is divided into two “legs”, a funding leg and a disbursement leg. A separate transaction is created for each of these legs.
Funding Leg
Disbursement Leg
The response includes an ETag (entity tag) header with an identifier that represents the current status of the resource. This identifier must be provided when updating an MLT.
POST /v1/multi-leg-transactions
Authorization: Bearer <access_token>
currency REQUIRED
string
Currency for the debit (funding leg ) and credit (disbursement leg) transactions. Must be an ISO 4217 alpha 3-character currency code.
metadata
string, max items: 6, value max length: 1024
Key/value pairs used to store additional information with the MLT.
name
string, max length: 60
Descriptive name for the MLT.
description
string
Description of the MLT.
memo
string
Brief note about the MLT.
initiatorAccountHolderId
string (UUID)
ID of the RocketKOR account that initiated the MLT. This can be a Business Account or a Customer Account.
debits REQUIRED
array
Debit transaction for the MLT funding leg. This transaction is used to obtain funds from the debit Financial Account.
financialAccountId REQUIRED
string (UUID)
ID of the Financial Account used as the debit account (source of funds) for the transaction.
paymentReasonId REQUIRED
string
ID representing the payment reason for the transaction. For the MLT debit transaction, paymentReasonId uses a fixed value of funds_transfer.
solution REQUIRED
string
Name of the RocketKOR solution used for the transaction. MLT debit transactions currently use the ACH solution.
amount CONDITIONAL
string (decimal)
Transaction amount. The amount must conform to any transaction limits.
amountPercentage CONDITIONAL
string (decimal)
Percentage of the debit Financial Account balance to use as the transaction amount. The amount must conform to any transaction limits.
settlementPriority REQUIRED
string enum, values: IMMEDIATE, SAME_DAY, NEXT_DAY, SCHEDULED
Expected priority for settling the transaction. The following values are supported:
This parameter is configurable for some RocketKOR solutions, such as ACH and Wire.
Notes:
credits REQUIRED
array
Credit transaction for the MLT disbursement leg. This transaction is used to disburse funds to the credit Financial Account.
financialAccountId REQUIRED
string (UUID)
ID of the Financial Account used as the credit account (receiver of funds) 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.
solution REQUIRED
string
Name of the RocketKOR solution used for the transaction.
amount
string (decimal)
Transaction amount. The amount must conform to any transaction limits.
amountPercentage
string (decimal)
Percentage of the debit Financial Account balance to use as the transaction amount. The amount must conform to any transaction limits.
settlementPriority REQUIRED
string enum, values: IMMEDIATE, SAME_DAY, NEXT_DAY, SCHEDULED
Expected priority for settling the transaction. The following values are supported:
This parameter is configurable for some RocketKOR solutions, such as ACH and Wire.
Notes:
Returns an ETag (entity tag) header with an identifier that represents the current status of the resource. This identifier must be provided when updating the MLT.
Returns the MLT object. This object contains the MLT details, including details for the individual debit and credit transactions.
SAMPLE REQUEST
{
"currency": "USD",
"metadata": {
"myPaymentId": "100000333",
"invoiceNumber": "123232333",
"authorizedBy": "user@email.com"
},
"name": "MLT-123",
"description": "",
"memo": "",
"initiatorAccountHolderId": "ebfa3e16-63c4-48e3-ae59-a3194a867269",
"debits": [
{
"financialAccountId": "89947c99-1ef5-4b30-ba9c-c1103196b0c9",
"paymentReasonId": "funds_transfer",
"solution": "wire",
"amount": "1200.00",
"settlementPriority": "SAME_DAY"
}
],
"credits": [
{
"financialAccountId": "4c076ddc-0bf0-4c7c-a62d-079d7672cbec",
"paymentReasonId": "funds_transfer",
"solution": "wire",
"amount": "1200.00",
"settlementPriority": "SAME_DAY"
}
]
}
SAMPLE RESPONSE
{
"currency": "USD",
"totalAmount": "1200.00",
"metadata": {
"myPaymentId": "100000333",
"invoiceNumber": "123232333",
"authorizedBy": "user@email.com"
},
"name": "MLT-123",
"description": "",
"memo": "",
"initiatorAccountHolderId": "ebfa3e16-63c4-48e3-ae59-a3194a867269",
"originatingChannel": "EXTERNAL",
"id": "9b4aff10-ad49-4f72-ae77-204a28f60196",
"businessAccountId": "32edfac0-edbd-47f5-aff9-a030b1883cce",
"stage": "FUNDING",
"status": "PENDING",
"debitAmountPending": "1200.00",
"debitAmountCleared": "",
"creditAmountPending": "1200.00",
"creditAmountSettled": "",
"debits": [
{
"sequence": 0,
"financialAccountId": "89947c99-1ef5-4b30-ba9c-c1103196b0c9",
"maskedAccountNumber": "******6790",
"paymentReasonId": "funds_transfer",
"amount": "1200.00",
"amountPercentage": "",
"settlementPriority": "SAME_DAY",
"transactionId": "c0555c1a-0699-4ff4-aa9d-cd2724832be4",
"solution": "ach",
"latestStatus": {
"status": "NEW",
"message": "2023-12-11T01:09:27.246Z",
"createdBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"createdAt": "2023-12-11T01:09:27.246Z"
},
"_embedded": {
"financialAccount": {
"name": "Checking",
"category": "EXTERNAL",
"type": "BANK",
"subtype": "CHECKING",
"bankAccount": {
"bankName": "Citibank",
"nameOnAccount": "Bill Anderson"
},
"maskedAccountNumber": "******6790"
}
}
}
],
"credits": [
{
"sequence": 0,
"financialAccountId": "4c076ddc-0bf0-4c7c-a62d-079d7672cbec",
"maskedAccountNumber": "******4325",
"paymentReasonId": "funds_transfer",
"amount": "1200.00",
"amountPercentage": "",
"settlementPriority": "SAME_DAY",
"transactionId": "f0e04c6d-d293-47a1-bdec-dc56ccef8de4",
"solution": "ach",
"latestStatus": {
"status": "NEW",
"message": "2023-12-11T01:09:27.246Z",
"createdBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"createdAt": "2023-12-11T01:09:27.246Z"
},
"_embedded": {
"financialAccount": {
"name": "Checking",
"category": "EXTERNAL",
"accountHolderType": "CUSTOMER",
"type": "BANK",
"subtype": "CHECKING",
"bankAccount": {
"bankName": "Citibank",
"nameOnAccount": "Jane Smith"
},
"maskedAccountNumber": "******4325"
},
"accountHolderId": "64fff1fb-619e-4a07-80ad-ac484f2c1087"
}
}
],
"createdBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"createdAt": "2023-12-11T01:09:27.246Z",
"updatedBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"updatedAt": "2023-12-12T01:09:27.246Z",
"version": 1,
"parentId": "01dc88fc-9e9a-47c0-b5c2-139d20356785"
}
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.