Payouts - Update

Update an existing payout.

Endpoint POST /payouts/{payout_id}


cURL Example

curl
curl --request POST \
  --url https://sandbox.hyperswitch.io/payouts/{payout_id} \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data @- <<EOF
{
  "merchant_order_reference_id": "merchant_order_ref_123",
  "amount": 1000,
  "currency": "AED",
  "routing": {
    "type": "single",
    "data": {
      "connector": "authipay",
      "merchant_connector_id": "<string>"
    }
  },
  "connector": [
    "wise",
    "adyen"
  ],
  "confirm": false,
  "payout_type": "card",
  "payout_method_data": {
    "card": {
      "card_number": "4242424242424242",
      "expiry_month": "<string>",
      "expiry_year": "<string>",
      "card_holder_name": "John Doe",
      "card_network": "Visa"
    }
  },
  "billing": {
    "address": {
      "city": "New York",
      "country": "AF",
      "line1": "123, King Street",
      "line2": "Powelson Avenue",
      "line3": "Bridgewater",
      "zip": "08807",
      "state": "New York",
      "first_name": "John",
      "last_name": "Doe",
      "origin_zip": "08807"
    },
    "phone": {
      "number": "9123456789",
      "country_code": "+1"
    },
    "email": "<string>"
  },
  "auto_fulfill": false,
  "customer_id": "cus_y3oqhf46pyzuxjbcn2giaqnb44",
  "customer": {
    "id": "cus_y3oqhf46pyzuxjbcn2giaqnb44",
    "name": "John Doe",
    "email": "[email protected]",
    "phone": "9123456789",
    "phone_country_code": "+1",
    "tax_registration_id": "<string>"
  },
  "client_secret": "pay_U42c409qyHwOkWo3vK60_secret_el9ksDkiB8hi6j9N78yo",
  "return_url": "https://hyperswitch.io",
  "business_country": "AF",
  "business_label": "food",
  "description": "It's my first payout request",
  "entity_type": "Individual",
  "recurring": false,
  "metadata": {},
  "payout_token": "187282ab-40ef-47a9-9206-5099ba31e432",
  "profile_id": "<string>",
  "priority": "instant",
  "payout_link": false,
  "payout_link_config": {
    "logo": "https://hyperswitch.io/favicon.ico",
    "merchant_name": "Hyperswitch",
    "theme": "#4285F4",
    "payout_link_id": "pm_collect_link_2bdacf398vwzq5n422S1",
    "enabled_payment_methods": "[{\"payment_method\": \"bank_transfer\", \"payment_method_types\": [\"ach\", \"bacs\"]}]",
    "form_layout": "tabs",
    "test_mode": false
  },
  "session_expiry": 900,
  "email": "[email protected]",
  "name": "John Test",
  "phone": "9123456789",
  "phone_country_code": "+1",
  "payout_method_id": "<string>",
  "browser_info": {
    "color_depth": 1,
    "java_enabled": true,
    "java_script_enabled": true,
    "language": "<string>",
    "screen_height": 1,
    "screen_width": 1,
    "time_zone": 123,
    "ip_address": "<string>",
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "user_agent": "<string>",
    "os_type": "<string>",
    "os_version": "<string>",
    "device_model": "<string>",
    "accept_language": "<string>",
    "referer": "<string>"
  }
}
EOF

Successful Response (200)


Authorization

Header: api-key (string) — required

Use the API key created under your merchant account from the HyperSwitch dashboard. Do not expose this key in client-side code or mobile apps.


Path Parameters

  • payout_id (string) — required The identifier for the payout.


Request Body (application/json)

Fields (only shown with brief descriptions and examples):

  • merchant_order_reference_id (string | null) Unique identifier for this payout/order. Max length: 255. Example: "merchant_order_ref_123"

  • amount (integer | null) Payout amount in the lowest currency denomination (e.g., cents). Required range: x >= 0. Example: 1000

  • currency (string enum) Three-letter ISO 4217 currency code. Example options: AED, USD, EUR, ... (full list supported)

  • routing (object) Routing configuration (type/data). Example shown in request body.

  • connector (string[] | null) Manually select connectors the payout can use. Example: ["wise", "adyen"]

  • confirm (boolean | null) — default: false Set to true to confirm the payout.

  • payout_type (string enum) Type of payout. Options: card, bank, wallet, bank_redirect

  • payout_method_data (object) Payout method details (e.g., card object shown in example).

  • billing (object) Billing address/phone/email details.

  • auto_fulfill (boolean | null) — default: false Set to true to confirm the payout without review.

  • customer_id (string | null) — deprecated (use customer object) Example: "cus_y3oqhf46pyzuxjbcn2giaqnb44"

  • customer (object) Customer object to create or attach a customer.

  • client_secret (string | null) Token for client-side verification.

  • return_url (string | null) Redirect URL after operation. Example: "https://hyperswitch.io"

  • business_country (string enum) Two-letter country code (full list supported)

  • business_label (string | null) — deprecated (use profile_id) Example: "food"

  • description (string | null) Example: "It's my first payout request"

  • entity_type (string enum) Entity type options: Individual, Company, NonProfit, PublicSector, NaturalPerson, lowercase, Personal

  • recurring (boolean | null) — default: false

  • metadata (object) Up to 50 keys, key names <= 40 chars, values <= 500 chars.

  • payout_token (string | null) Reference to stored payout method. Example: "187282ab-40ef-47a9-9206-5099ba31e432"

  • profile_id (string | null) Business profile to use for this payout.

  • priority (string enum) Send method options: instant, fast, regular, wire, cross_border, internal

  • payout_link (boolean | null) — default: false Whether to get a payout link. Must be specified during Create; cannot be updated here.

  • payout_link_config (object) Custom config when generating a payout link (logo, merchant_name, theme, etc.)

  • session_expiry (integer | null) Client secret expiry in seconds (e.g., 900)

  • email / name / phone / phone_country_code — deprecated (use customer object)

  • payout_method_id (string | null) Identifier for payout method

  • browser_info (object) Browser data used for 3DS 2.0

(See example request body above for full structure and field examples.)


Response (200 — application/json)

Returns the updated payout object. Key fields include:

  • payout_id (string) — required Unique payout identifier. Example: "187282ab-40ef-47a9-9206-5099ba31e432"

  • merchant_id (string) — required Merchant account identifier.

  • amount (integer) — required

  • currency (string) — required

  • auto_fulfill (boolean) — required

  • customer_id (string) — required

  • client_secret (string) — required

  • return_url (string) — required

  • business_country (string) — required

  • entity_type (string) — required

  • recurring (boolean) — required

  • status (string enum) — required 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)

  • merchant_order_reference_id (string | null)

  • connector (string | null)

  • payout_type (string)

  • payout_method_data (object)

  • billing (object)

  • customer (object)

  • business_label (string | null)

  • description (string | null)

  • metadata (object)

  • merchant_connector_id (string | null)

  • error_message (string | null)

  • error_code (string | null)

  • created (string | null)

  • connector_transaction_id (string | null)

  • priority (string)

  • attempts (array of objects)

  • payout_link (object)

  • unified_code / unified_message (string | null)

  • payout_method_id (string | null)

(See the full response example above for complete output.)


Was this page helpful?

  • Yes / No

Suggest edits: https://github.com/juspay/hyperswitch/edit/main/api-reference/v1/payouts/payouts--update.mdx Raise issue: https://github.com/juspay/hyperswitch/issues/new?title=Issue%20on%20docs&body=Path:%20/v1/payouts/payouts--update

Related:

  • Payouts - Create: https://api-reference.hyperswitch.io/v1/payouts/payouts--create

  • Payouts - Cancel: https://api-reference.hyperswitch.io/v1/payouts/payouts--cancel

Responses are generated using AI and may contain mistakes.