Payment Docs
Payouts

Bangladesh (BDT)

How to create BDT payouts

Payouts allow you to send funds from your merchant account to user bank cards, phone numbers, or other payment methods.

Before you start

How to authorize your requests

Before making requests, ensure your merchant account has sufficient funds to create a payout.

Creating a Payout

Send a POST request to create a new payout:

POST /v1/payouts

Request Example

curl -X POST "https://api.1capital.capital/v1/payouts" \
-H "Content-Type: application/json" \
-H "X-Api-Token: YOUR_API_TOKEN" \
-d '{
  "amount": 1000.50,
  "currency": "BDT",
  "paymentType": "C2C",
  "account": {
    "name": "John Doe",
    "requisites": "23645856856856485468565845856865485684",
    "userId": "user_12345",
    "userIp": "127.0.0.1",
    "userPhone": "+8801712345678",
    "userEmail": "super@mail.com"
  },
  "note": "Payout for order #1234"
}'

Request Parameters

Main Parameters

FieldTypeRequiredDescription
amountnumber✅ YesAmount to payout
currencystring✅ YesCurrency code
paymentTypestring✅ YesPayment type
accountobject✅ YesRecipient account details
notestring❌ NoNote for payout
externalIdstring❌ NoPayout identifier in your system
callbackUrlstring❌ NoWebhook notification address for the payout

account Object

FieldTypeRequiredDescription
namestring✅ YesRecipient name
requisitesstring✅ YesAccount requisites (card number / phone number, depends on payment type)
userIdstring✅ YesUser ID in your system
userIpstring✅ YesUser IP
userPhonestring✅ YesRecipient phone number
userEmailstring✅ YesRecipient email
bankNamestring✅ YesOne of: NAGAD, BKASH, ROCKET

Supported Currencies

ValueDescription
BDTBangladeshi Taka

Payment Types

ValueDescription
C2CBank transfer
SIMMobile transfer

Successful Response Example

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "merchantId": "123e4567-e89b-12d3-a456-426614174000",
  "amount": "1000.50",
  "account": {
    "name": "John Doe",
    "requisites": "23645856856856485468565845856865485684",
    "userId": "user_12345",
    "userIp": "127.0.0.1",
    "userPhone": "+8801712345678",
    "userEmail": "super@mail.com"
  },
  "status": "CREATED",
  "type": "C2C",
  "requisites": {},
  "statusMessage": null,
  "metadata": null,
  "callbackUrl": null,
  "createdAt": "2023-03-21T12:34:56Z",
  "updatedAt": "2023-03-21T12:34:56Z",
  "completedAt": null
}

Response Fields

FieldTypeDescription
idstringPayout UUID
merchantIdstringYour merchant UUID
amountstringPayout amount
accountobjectRecipient account details
statusstringCurrent payout status
typestringPayment type
requisitesobjectAdditional requisites
statusMessagestring / nullStatus message (if any)
metadataobject / nullAdditional metadata
callbackUrlstring / nullWebhook notification address for this payout (null — merchant settings are used)
createdAtstringCreation timestamp
updatedAtstringLast update timestamp
completedAtstring / nullCompletion timestamp

Payout Statuses

StatusDescription
CREATEDPayout created
PENDINGPayout is being processed
COMPLETEDPayout completed successfully
FAILEDPayout failed
CANCELEDPayout canceled
EXPIREDPayout expired

Checking Payout Status

To get the current payout status, send a GET request:

GET /v1/payouts/{payoutId}

Request Example

curl -X GET "https://api.1capital.capital/v1/payouts/123e4567-e89b-12d3-a456-426614174000" \
-H "X-Api-Token: YOUR_API_TOKEN"

Payout status updates are also delivered via webhooks: pass callbackUrl in the request body or specify it in your merchant settings. Polling the status by ID may be used as a fallback (for example, every 30 minutes).

Payout Webhooks


Recommendations

  • Always verify your merchant balance before creating payouts - Store the payout id from the response for status tracking - Use webhook notifications (callbackUrl) and verify the X-Signature header; polling the status by ID is a fallback - Handle all possible status values in your integration

See Also

On this page