Get Started: Working with Wire Transactions

Use a Wire transaction to move money between bank accounts. Wire transactions use a secure transfer system, like Fedwire, to move funds between financial institutions. Wire transfers are typically used to send large sums of money and can be used to send money in the U.S. and internationally.

In this guide, we’ll send funds from a Customer Financial Account to a Business Financial Account:

  • The Customer Financial Account is the debit account (provides the funds). This account can be an internal or integrated bank Financial Account. In our example, we’ll use an internal Financial Account.
  • The Business Financial Account is the credit account (receives the funds). This must be an external bank Financial Account.

In this guide, you’ll learn how to:

  1. Add a Financial Account for the Customer.
  2. Create a Wire transaction.
  3. View the status of the Wire transaction.
  4. Retrieve the transaction.

Before You Start

Sandbox Account: Sign up for a RocketKOR sandbox account. When your sandbox account is created, one or more Service Accounts will be created for your Business Account. A Service Account is a non-human user of a Business Account that performs functions (such as creating transactions) via the RocketKOR APIs on behalf of the Business Account.

Authentication: Before you can call the APIs, you must authenticate a Service Account by exchanging the account’s API key and secret for an access token.

Customer Account: Ensure the Business Customer or Individual Customer has an active Customer Account.

Step 1: Add a Financial Account for the Customer

Make sure an internal Financial Account has been created for the Customer.

Step 2: Create a Wire Transaction

Create a Wire transaction that will transfer funds between two bank Financial Accounts.

In our example, we’ll transfer funds from the Customer’s internal Financial Account to the Business Account’s external bank Financial Account.

At a minimum, the request must include the following information. The request must also include an idempotency key that uniquely identifies the request. In the case of a network error, the idempotency key allows you to call the API multiple times without creating duplicate requests.

Parameter

Description

debitFinancialAccountId

ID of the Financial Account used as the debit account (source of funds) for the transaction.

In our example, this is an internal Financial Account owned by the Customer.

creditFinancialAccountId

ID of the Financial Account used as the credit account (receiver of funds) for the transaction.

In our example, this is an external bank Financial Account owned by the Business Account.

transactionType

Type of transaction. Wire transactions always use the SEND transaction type. This pushes funds from the debit account to the credit account.

solution

Name of the RocketKOR solution used for the transaction. In our example, we’ll use wire.

paymentReasonId

ID representing the payment reason for the transaction. In our example, we’ll use bill-payment.

amount

Amount to be transferred from the debit account to the credit account. The amount must conform to any transaction limits.

currency

Currency used for the transaction. Must be USD.

description

Brief description of the transaction.

memo

(Optional) Brief additional note about the transaction.

API Reference

Endpoint

POST ​/v1/transactions

Request Example

				
					{
  "debitFinancialAccountId": "7e2ea5fd-b58d-4d4e-bdd7-ce3eb85da695",
  "creditFinancialAccountId": "b2024ea8-2465-49f7-a5eb-3c7c2fca901c",
  "transactionType": "SEND",
  "solution": "wire",
  "paymentReasonId": "bill-payment",
  "amount": "5000.00",
  "currency": "USD",
  "description": "Annual subscription"
}
				
			

Response Example

Returns the SLT object.

Make a note of the transaction id. You’ll need this ID in the next steps when you check the transaction status and retrieve the transaction.

				
					{
  "id": "1cd4033b-8aba-497b-80a4-61f4ec614b1a",
  "businessAccountId": "de30132c-e67a-4af7-89ec-f2109863b7f7",
  "debitFinancialAccountId": "7e2ea5fd-b58d-4d4e-bdd7-ce3eb85da695",
  "creditFinancialAccountId": "b2024ea8-2465-49f7-a5eb-3c7c2fca901c",
  "transactionType": "SEND",
  "solution": "wire",
  "paymentReasonId": "bill-payment",
  "paymentReason": "Bill payment",
  "amount": "5000.00",
  "currency": "USD",
  "description": "Annual subscription",
  ...
}
				
			

Step 3: Check the Transaction Status

View the transaction’s status history, including the current status.

API Reference

Endpoint

GET /v1/transaction-histories In the request, pass the transaction id from step 2 to the transactionId query parameter.

Response Example

Returns an array of SLT Status objects. These objects represent the statuses that have been assigned to the transaction during the transaction processing lifecycle.

				
					{
  "totalElements": 2,
  "totalPages": 1,
  "number": 0,
  "numberOfElements": 2,
  "hasNext": false,
  "content": [
    {
      "createdBy": {
        "id": "f29200b9-4817-474a-a958-aa8b352f2e45",
        "type": "internal"
      },
      "createdAt": "2023-02-03T05:00:05.634158Z",
      "id": "aafcea88-2b6d-4151-b1ce-9e4deb9547af",
      "transactionId": "23733586-9135-42a5-8365-d0a2ec9eead0",
      "eventType": "STATUS_CHANGE",
      "description": "Transaction status changed to ‘PENDING’"
    },
    {
      "createdBy": {
        "id": "f29200b9-4817-474a-a958-aa8b352f2e45",
        "type": "internal"
      },
      "createdAt": "2023-02-03T04:00:05.634158Z",
      "id": "d7bed9a7-c55f-4b13-8d46-835f65d06939",
      "transactionId": "23733586-9135-42a5-8365-d0a2ec9eead0",
      "eventType": "CREATE",
      "description": "New transaction created"
    }
  ]
}
				
			

Step 4: Retrieve the Transaction

Retrieve the transaction details.

API Reference

Endpoint

GET /v1/transactions/{transactionId}

In the request:

  • Pass the transaction id from step 2 to the transactionId parameter.
  • Use the embed query parameter to embed subresources in the response, such as details for the debit and credit Financial Accounts.

Response Example

Returns the SLT object. The following example includes embedded subresources for the debit and credit Financial Accounts used in the transaction.

				
					{
  "id": "1cd4033b-8aba-497b-80a4-61f4ec614b1a",
  "businessAccountId": "de30132c-e67a-4af7-89ec-f2109863b7f7",
  "debitFinancialAccountId": "7e2ea5fd-b58d-4d4e-bdd7-ce3eb85da695",
  "creditFinancialAccountId": "b2024ea8-2465-49f7-a5eb-3c7c2fca901c",
  "transactionType": "SEND",
  "solution": "wire",
  "paymentReasonId": "bill-payment",
  "paymentReason": "Bill payment",
  "amount": "5000.00",
  "currency": "USD",
  "description": "Annual subscription",
  ...
  "_embedded": {
    "debitFinancialAccount": {
      "id": "7e2ea5fd-b58d-4d4e-bdd7-ce3eb85da695",
      "businessAccountId": "de30132c-e67a-4af7-89ec-f2109863b7f7",
      "name": "Checking Account",
      "category": "INTERNAL",
      "type": "BANK",
      "subtype": "CHECKING",
      ....
    },
    "creditFinancialAccount": {
      "id": "b2024ea8-2465-49f7-a5eb-3c7c2fca901c",
      "businessAccountId": "de30132c-e67a-4af7-89ec-f2109863b7f7",
      "name": "Savings Account",
      "category": "EXTERNAL",
      "type": "BANK",
      "subtype": "SAVING",
      ...
    }
  }
}
				
			

Next Steps

ON THIS PAGE
Exit mobile version