Payments - Update Intent

PUT /v2/payments/{id}/update-intent

Update a Payment Intent.


cURL

curl --request PUT \
  --url https://sandbox.hyperswitch.io/v2/payments/{id}/update-intent \
  --header 'Content-Type: application/json' \
  --header 'X-Profile-Id: <x-profile-id>' \
  --header 'api-key: <api-key>' \
  --data '
{
  "authentication_type": "no_three_ds",
  "payment_link_config": {
    "display_sdk_only": false,
    "enabled_saved_payment_method": false,
    "hide_card_nickname_field": false,
    "show_card_form_by_default": true
  },
  "enable_partial_authorization": false
}
'

Example successful response (200)


Authorizations

  • api-key (header, 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.


Headers

  • X-Profile-Id (string, required) Profile ID associated to the payment intent

  • Content-Type: application/json

  • api-key (see Authorizations)


Path Parameters

  • id (string, required) The unique identifier for the Payment Intent


Request body (application/json) — selected fields

The request body supports many fields. Below are the important ones described in the original docs.

  • amount_details (object) — child attributes available

    • routing_algorithm_id (string | null) — The routing algorithm id to be used for the payment

  • capture_method (enum) Specifies how the payment is captured. Available options:

    • automatic (default)

    • manual

    • manual_multiple

    • scheduled

    • sequential_automatic

  • authentication_type (enum, default: no_three_ds) Specifies cardholder authentication. Available options:

    • three_ds

    • no_three_ds

  • billing (object) — child attributes available (address, phone, email)

  • shipping (object) — child attributes available (address, phone, email)

  • customer_present (enum) Indicate if customer is present:

    • present

    • absent

  • description (string | null) A description for the payment. Example: "It's my first payment request"

  • return_url (string | null) The URL to redirect the user after completion. Example: "https://hyperswitch.io"

  • setup_future_usage (enum) How the payment method can be used for future payments:

    • off_session

    • on_session (default if omitted)

  • apply_mit_exemption (enum)

    • Apply

    • Skip

  • statement_descriptor (string | null) Appears on customers’ statements. Must contain at least one letter, max length 22. Example: "Hyperswitch Router"

  • order_details (object[] | null) Details about products. Sum of amounts should equal overall payment amount. Example stringified object shown in examples.

  • allowed_payment_method_types (enum[] | null) Restrict which payment method types to show for the PaymentIntent. Many options available (e.g., ach, card-related types, wallets, local methods, etc.)

  • metadata (object) Additional unstructured info. Overrides metadata passed in payments.

  • connector_metadata (object) Connector-specific additional information (e.g., apple_pay, airwallex, noon, braintree, adyen etc.)

  • feature_metadata (object) Additional data that might be required by Hyperswitch (redirect_response, search_tags, apple_pay_recurring_details, revenue_recovery, etc.)

  • payment_link_config (object) Various UI and link configuration options (theme, logo, seller_name, sdk_layout, display_sdk_only, enabled_saved_payment_method, transaction_details, background_image, payment_button_text, skip_status_screen, enable_button_only_on_form_ready, etc.)

  • request_incremental_authorization (enum)

    • true

    • false

    • default

  • session_expiry (integer | null) Expire client secret after specified seconds. If not sent, taken from profile config (900 for 15 mins). Required range: x >= 0. Example: 900

  • frm_metadata (object) Additional data related to some FRM (Fraud Risk Management) connectors

  • request_external_three_ds_authentication (enum)

    • Enable

    • Skip

  • set_active_attempt_id (object / enum) Whether active attempt is to be set/unset

  • enable_partial_authorization (boolean | null, default: false) Allow partial authorization for this payment


Response (200) — selected fields

  • id (string, required) Global Payment Id for the payment

  • status (enum, required) Overall status of a payment intent. Available options include: succeeded, failed, cancelled, cancelled_post_capture, processing, requires_customer_action, requires_merchant_action, requires_payment_method, requires_confirmation, requires_capture, partially_captured, partially_captured_and_capturable, partially_authorized_and_requires_capture, partially_captured_and_processing, conflicted, expired

  • amount_details (object, required) — shows amounts, currency, tax, surcharge, amount_captured, etc.

  • client_secret (string, required) Token used for client side verification. Example: "cs_0195b34da95d75239c6a4bf514458896"

  • profile_id (string, required) Identifier for the profile (inferred from X-Profile-Id header)

  • capture_method (enum, required) See capture_method request description

  • customer_id (string, required) Identifier for the customer (length 32-64). Example: "12345_cus_01926c58bc6e77c09e809964e72af8c8"

  • customer_present (enum, required) present | absent

  • setup_future_usage (enum, required) off_session | on_session

  • apply_mit_exemption (enum, required) Apply | Skip

  • payment_link_enabled (enum, required) Enable | Skip

  • request_incremental_authorization (enum, required) true | false | default

  • split_txns_enabled (enum, required, default: skip) enable | skip

  • expires_on (string, date-time, required) Expiry timestamp for client secret

  • request_external_three_ds_authentication (enum, required) Enable | Skip

  • payment_type (enum, required) normal | new_mandate | setup_mandate | recurring_mandate

  • merchant_reference_id (string | null) Unique merchant identifier (ensures idempotency). Required string length: 30. Example: "pay_mbabizu24mvu3mela5njyhpit4"

  • routing_algorithm_id (string | null)

  • authentication_type (enum) three_ds | no_three_ds

  • billing, shipping (objects) — child attributes available

  • description (string | null)

  • return_url (string | null)

  • statement_descriptor (string | null)

  • order_details (object[] | null)

  • allowed_payment_method_types (enum[] | null)

  • metadata (object)

  • connector_metadata (object)

  • feature_metadata (object)

  • payment_link_config (object)

  • frm_metadata (object)

  • enable_partial_authorization (boolean | null, default: false)


If you want this page transformed into specific GitBook advanced blocks (tabs, steppers, expandables) for any sections (for example, making request/response examples collapsible or splitting fields into tabs), tell me which parts to convert and I will restructure accordingly.