The Payments API is a flexible building block that gives merchants full control over the payment flow. It is ideal for creating fully customized payment experiences that go beyond prebuilt pages or links.Documentation Index
Fetch the complete documentation index at: https://docs.momentco.io/llms.txt
Use this file to discover all available pages before exploring further.
Authorisation-Only Payments
By settingcapture_method: manual when creating a payment session, you can authorise a payment without immediately capturing the funds. This is useful for scenarios where you need to verify a customer’s payment method and reserve funds before fulfilling an order.
When capture_method is set to manual:
- A successful payment transitions to the
succeededstatus, indicating that funds have been authorised (reserved) but not yet settled. - Use the Capture Payment endpoint to settle the funds.
- Use the Void Payment endpoint to release the reserved funds.
- Partial captures are supported. Voids always release the full remaining authorised amount.
- Authorisations expire after a set period determined by the issuing bank and card network. After expiry, the authorisation can no longer be captured.
Key Concepts
| Field | Type | Description |
|---|---|---|
capture_method | string | automatic (default) settles immediately on authorisation. manual reserves funds without settling, enabling the capture/void flow. |
authorised_amount | integer | null | The original total amount authorised on the customer’s payment method, in minor units. Remains stable across capture and void operations. Present only when the payment method supports authorisation. |
paid_amount | integer | null | Total amount captured (settled), in minor units. Incremented when a capture is performed. |
voided_amount | integer | null | Total amount released from the original authorisation, in minor units. Incremented when a void is performed. Present only when the payment method supports authorisation. |
capture_method is manual, the remaining capturable amount is authorised_amount - paid_amount - voided_amount.
Webhooks
The Payments API supports webhook events that allow you to monitor and react to changes in payment state in real time. Webhook events can be used to update internal systems, trigger order fulfillment, or log payment outcomes for reporting and reconciliation.Available Events
-
payment.succeededTriggered when a payment is successfully completed. 👉 Seepayment.succeededEvent -
payment.attempt_failedTriggered when an attempt is failed. 👉 Seepayment.attempt_failedEvent -
payment.failedTriggered when all payment attempts are exhausted and the payment has failed terminally. 👉 Seepayment.failedEvent -
payment.capturedTriggered when an authorised payment is successfully captured (fully or partially). 👉 Seepayment.capturedEvent -
payment.voidedTriggered when an authorised payment is successfully voided. 👉 Seepayment.voidedEvent
payment object, which contains fields such as created_at, updated_at, and payment_method_details.
The payment_method_details field includes the payment method type (e.g., card) and additional metadata like scheme and bin.

