Skip to main content
Version: 2019-05-29 (Current)

Create a recipient

Create a new recipient with bank account details to receive transfers from your Omise balance. Recipients can be individuals or corporations.


๐Ÿ”‘API Credentials

Request Parametersโ€‹

Required - 5 fieldsRequired Parameters
โ–ผ
`name`STRING(required)
Recipient name (individual name or company name, must match bank account).
Example:"John Doe"
`type`STRING(required)
Recipient type.
Example:"individual"
Values:individual, corporation
`bank_account.brand`STRING(required)
Bank code (bbl, kbank, scb, ktb, bay, tmb, etc.).
Example:"bbl"
`bank_account.number`STRING(required)
Bank account number (no spaces or dashes).
Example:"1234567890"
`bank_account.name`STRING(required)
Account holder name as registered with bank (uppercase recommended).
Example:"JOHN DOE"
Recommended - 2 fieldsRecommended Parameters
Additional - 2 fieldsAdditional Parameters

Responsesโ€‹

200

Successful transaction

Recipient created successfully. Note that verified: false by default until verification completes.

Verification status:
  • verified: false - Pending verification (newly created)
  • verified: true - Account verified and ready for transfers
  • failure_code != null - Verification failed (check failure_code)
  • Full account number is never returned - only last 4 digits for security

400

Bad request

Request validation failed. Check the error message for details.

Common causes:
  • Missing required fields (name, type, bank_account fields)
  • Invalid bank account format
  • Invalid recipient type
  • Malformed metadata

401

Unauthorized

Authentication failed. Invalid or missing API key.

Common causes:
  • Missing Authorization header
  • Invalid secret key
  • Using public key instead of secret key
  • Incorrect HTTP Basic Auth format

422

Unprocessable entity

Bank account validation failed.

Common causes:
  • Invalid bank account number
  • Account name does not match bank records
  • Unsupported bank
  • Cannot verify bank account

Code samplesโ€‹

curl https://api.omise.co/recipients \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "name=John Doe" \
-d "type=individual" \
-d "email=john@example.com" \
-d "bank_account[brand]=bbl" \
-d "bank_account[number]=1234567890" \
-d "bank_account[name]=JOHN DOE"

Error and result codesโ€‹

Common Error Codesโ€‹

CodeDescriptionResolution
bad_requestMissing or invalid parametersCheck all required fields are provided
authentication_failureInvalid API keyVerify your secret key is correct
invalid_bank_accountBank account number invalidVerify account number is correct
name_mismatchAccount name does not match bank recordsUse exact name from bank account
unsupported_bankBank not supported for recipientsCheck supported banks list

Recipient Typesโ€‹

TypeDescription
individualPersonal bank accounts
corporationBusiness/company accounts

Try it outโ€‹

Required - 5 fields
โ–ผ
Recommended - 2 fields
Additional - 2 fields