Payouts
Payouts allow you to transfer funds from your ZuriPay wallet to customers or external bank accounts. Payout requests go through an approval workflow before disbursement.
The payout model
Properties
- Name
publicId- Type
- string
- Description
Unique payout request identifier (UUID).
- Name
businessId- Type
- integer
- Description
Associated business ID.
- Name
customerId- Type
- integer
- Description
The customer receiving the payout.
- Name
withdrawalMethodId- Type
- integer
- Description
The withdrawal method to use for this payout.
- Name
amount- Type
- integer
- Description
Payout amount in the smallest currency unit.
- Name
currency- Type
- string
- Description
Three-letter ISO currency code.
- Name
status- Type
- string
- Description
Payout status:
pending,approved,processing,completed, orrejected.
- Name
dateCreated- Type
- timestamp
- Description
Timestamp when the payout was requested.
Request payout
Create a new payout request.
Required attributes
- Name
customer_id- Type
- integer
- Description
The customer to pay out to.
- Name
withdrawal_method_id- Type
- integer
- Description
The withdrawal method to use.
- Name
amount- Type
- integer
- Description
Amount in the smallest currency unit.
- Name
currency- Type
- string
- Description
Three-letter ISO currency code.
Request
curl -X POST https://api.zuripay.app/v1/payout/request \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"customer_id": 1,
"withdrawal_method_id": 1,
"amount": 10000,
"currency": "USD"
}'
Response
{
"result": "success",
"payout_request_id": "550e8400-e29b-41d4-a716-446655440000",
"message": "Payout request created successfully.",
"status": "pending"
}
List payouts
Retrieve all payout requests for your business.
Request
curl https://api.zuripay.app/v1/payout/request/list \
-H "Authorization: Bearer sk_live_your_api_key"
Response
{
"result": "success",
"payout_requests": [
{
"publicId": "550e8400-e29b-41d4-a716-446655440000",
"amount": 10000,
"currency": "USD",
"status": "pending",
"dateCreated": "2025-01-15T10:30:00Z"
}
]
}
Fetch payout
Retrieve details of a specific payout request.
Request
curl https://api.zuripay.app/v1/payout/request/fetch/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer sk_live_your_api_key"
Update payout
Update a pending payout request.
Optional attributes
- Name
payout_request_id- Type
- string
- Description
The payout request ID to update.
- Name
amount- Type
- integer
- Description
Updated amount.
- Name
status- Type
- string
- Description
Updated status (e.g.,
approved,rejected).
Request
curl -X PUT https://api.zuripay.app/v1/payout/request/update \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"payout_request_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "approved"
}'
Response
{
"result": "success",
"message": "Payout request updated successfully."
}
Delete payout
Delete a payout request. Only pending requests can be deleted.
Request
curl -X DELETE https://api.zuripay.app/v1/payout/request/delete \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{"payout_request_id": "550e8400-e29b-41d4-a716-446655440000"}'
Response
{
"result": "success",
"message": "Payout request deleted successfully."
}