Payouts - Fulfill
POST /payouts/{payout_id}/fulfill
Confirm (fulfill) a payout.
Request
Headers
Content-Type: application/jsonapi-key: <api-key>(required) Use the API key created under your merchant account from the HyperSwitch dashboard. API key is used to authenticate API requests from your merchant server only. Don't expose this key on a website or embed it in a mobile application.
Path parameters
payout_id(string, required) — The identifier for payout.
Body (application/json)
payout_id(string, required) — Unique identifier for the payout. This ensures idempotency for multiple payouts that have been done by a single merchant. This field is auto generated and is returned in the API response. Required string length:30Example:"187282ab-40ef-47a9-9206-5099ba31e432"
Example (cURL)
curl --request POST \
--url https://sandbox.hyperswitch.io/payouts/{payout_id}/fulfill \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"payout_id": "187282ab-40ef-47a9-9206-5099ba31e432"
}
'Response
Status: 200 OK Content-Type: application/json Description: Payout fulfilled
Example response
Response fields
payout_id (string, required) — Unique identifier for the payout. Required string length:
30. Example:"187282ab-40ef-47a9-9206-5099ba31e432"merchant_id (string, required) — Identifier for the merchant account. Maximum length:
255. Example:"merchant_1668273825"amount (integer, required) — Payout amount in the lowest denomination (e.g., cents for USD). Example:
1000currency (enum, required) — Three-letter ISO 4217 currency code. Example:
AEDSee full list of supported currencies in the expandable section below.auto_fulfill (boolean, required, default:false) — Set to true to confirm the payout without review. Example:
truecustomer_id (string, required) — Identifier for the customer object. Max length:
255. Example:"cus_y3oqhf46pyzuxjbcn2giaqnb44"client_secret (string, required) — Token used for client-side verification.
return_url (string, required) — URL to redirect after completion. Example:
"https://hyperswitch.io"business_country (enum, required) — Business country code. See full list in the expandable section below.
entity_type (enum, required) — Type of entity receiving the payout. Options include
Individual,Company,NonProfit,PublicSector,NaturalPerson,lowercase,Personal.recurring (boolean, required, default:false) — Whether the payout is recurring.
status (enum, required) — Payout status. Options include
success,failed,cancelled,initiated,expired,reversed,pending,ineligible,requires_creation,requires_confirmation,requires_payout_method_data,requires_fulfillment,requires_vendor_account_creation.profile_id (string, required) — Business profile associated with this payout.
merchant_order_reference_id (string|null) — Merchant's unique ID for reconciliation. Max length:
255.connector (string|null) — Connector used for the payout (e.g.,
"wise").payout_type (enum) — One of
card,bank,wallet,bank_redirect.payout_method_data (object) — Payout method details (e.g., card fields shown in example).
billing (object) — Billing address/phone/email object.
customer (object) — Customer details (id, name, email, phone, phone_country_code).
business_label (string|null) — Merchant business label (e.g.,
"food").description (string|null) — Description of the payout.
metadata (object) — Up to 50 keys; keys up to 40 chars, values up to 500 chars.
merchant_connector_id (string|null) — Unique identifier of the merchant connector account.
error_message (string|null) — Connector error message, if any.
error_code (string|null) — Connector error code, if any.
created (string|null) — Time when payout was created.
connector_transaction_id (string|null) — Underlying processor's payout resource ID.
priority (enum) — Send method:
instant,fast,regular,wire,cross_border,internal.attempts (object[]|null) — List of attempts (see example).
payout_link (object) — Payout link details.
email, name, phone, phone_country_code (string|null) — Deprecated: use
customerobject instead.unified_code (string|null) — (Not live yet) Unified error code across connectors.
unified_message (string|null) — (Not live yet) Unified error message across connectors.
payout_method_id (string|null) — Identifier for payout method.
Was this page helpful? Suggest edits: https://github.com/juspay/hyperswitch/edit/main/api-reference/v1/payouts/payouts--fulfill.mdx Raise issue: https://github.com/juspay/hyperswitch/issues/new?title=Issue%20on%20docs&body=Path:%20/v1/payouts/payouts--fulfill
Related: Payouts - Cancel, Payouts - Confirm