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.