Transfers
Topics covered on this page
Overview
Omise transfers move funds from your account balance to a recipient's bank account. Every recipient is either your default recipient or a third-party recipient you create yourself.
Transfer to your default recipient
By default, Omise creates a recipient for you when you sign up for an account in test mode. When you get your live account, Omise creates a new live recipient using your registration and bank account details.
Your available balance must be over 30 THB before you can create a transfer.
The following command creates a transfer of 3,500 THB to the default recipient.
curl https://api.omise.co/transfers \
-X POST \
-u "$OMISE_SECRET_KEY": \
-d "amount=350000"
Transfer to a third-party recipient
You can create as many third-party recipients as you want. Each recipient has its own bank account information, and Omise transfers funds from your account to these recipients. A recipient must complete three steps before you can transfer funds to it: creation, verification and activation.
Step 1: Create the recipient
Send a POST request to /recipients with the recipient's details.
| Parameter | Type | Description |
|---|---|---|
name |
string | The recipient's name. |
email |
string | Optional. The recipient's email address. |
description |
string | Optional. A description for the recipient. |
type |
string | Optional. One of individual or corporation. |
tax_id |
string | Optional. The recipient's tax ID. |
bank_account[brand] |
string | The recipient's bank, for example bbl or kbank. Use test in test mode. |
bank_account[number] |
string | The recipient's bank account number. |
bank_account[name] |
string | The name on the recipient's bank account. |
The following command demonstrates how to create a recipient using curl.
curl https://api.omise.co/recipients \
-X POST \
-u "$OMISE_SECRET_KEY": \
-d "name=Jane Doe" \
-d "email=jane.doe@example.com" \
-d "description=My first other recipient" \
-d "type=individual" \
-d "bank_account[brand]=test" \
-d "bank_account[number]=7v2k9dq4x1" \
-d "bank_account[name]=Jane Doe"
A new recipient starts as inactive and non-verified.
Step 2: Wait for verification
Omise verifies each recipient. This process generally takes no more than two business days.
| Verification result | Meaning |
|---|---|
Verified |
The recipient can proceed to activation. |
Failed |
Verification failed. Common causes include a name mismatch, an account that can't be found, or a bank that can't be found. Correct the recipient's details and Omise re-verifies the recipient. |

Step 3: Activate the recipient
You can activate a recipient independently of the verification process. By default, a recipient stays inactive until you activate it. To activate a recipient, go to the recipient's details and click Activate the recipient.
Note: Both activation and verification must succeed before you can transfer funds to the recipient.

Step 4: Create the transfer
Send a POST request to /transfers with the amount and the recipient's ID in the recipient parameter.
The following command creates a transfer of 3,500 THB to recipient recp_test_9f3k7m2wq5xz8p1yth6d.
curl https://api.omise.co/transfers \
-X POST \
-u "$OMISE_SECRET_KEY": \
-d "amount=350000" \
-d "recipient=recp_test_9f3k7m2wq5xz8p1yth6d"
FAQ
What do I need before I can create a transfer?
Your available balance must be over 30 THB.
Where does the default recipient come from?
Omise creates a default recipient for you automatically. In test mode, this recipient is a test recipient. On your live account, Omise creates a new live recipient using your registration and bank account details.
How do I create a third-party recipient?
Send a POST request to /recipients with the recipient's name, email, description, type and bank account details. A new recipient is inactive and non-verified by default.
What steps does a recipient need before I can transfer funds to them?
A recipient must pass both verification and activation. Omise verifies the recipient, which generally takes no more than two business days. You then activate the recipient from the recipient's details page.
Why did a recipient fail verification?
A failed verification is usually caused by a name mismatch, a bank account Omise can't find, or a bank Omise can't identify. Correct the recipient's details to trigger re-verification.
How do I transfer funds to a specific recipient?
Send a POST request to /transfers with the amount and the recipient's ID in the recipient parameter. Omit recipient to transfer to the default recipient.