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.


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.

Returned recipient attributes:
  • object - The value "recipient"
  • id - Recipient identifier (recp_*)
  • livemode - Live or test mode
  • location - API path to the recipient object
  • activated_at - Activation timestamp (ISO 8601)
  • active - Whether recipient is active
  • bank_account - Destination bank account object
  • created_at - Creation timestamp (ISO 8601)
  • default - Whether recipient is account default
  • deleted - Whether recipient is deleted
  • description - Recipient description
  • email - Recipient email address
  • failure_code - Failure reason code (name_mismatch, account_not_found, bank_not_found)
  • metadata - Custom metadata
  • name - Recipient name
  • schedule - Transfer schedule (expandable)
  • tax_id - Recipient tax ID
  • type - Recipient type (individual, corporation)
  • verified - Whether recipient is verified
  • verified_at - Verification timestamp (ISO 8601)

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

5xx

Server error

Server-side error occurred. These are rare but should be handled gracefully.

How to handle:

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

๐Ÿ”‘API Credentials

Try it outโ€‹

Required - 5 fields
โ–ผ
Recommended - 2 fields
Additional - 2 fields
Your IP: ...Loading...