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.
Capture Scenarios
Full capture
Capture the entire authorised amount. Omit the amount field:
POST /collect/payments/pay_rOaZNqKZMFxsRb2NBL1cj/captures
Idempotency-Key: capture_order_123
// No request body needed
Response:
{
"id": "pay_rOaZNqKZMFxsRb2NBL1cj",
"status": "succeeded",
"amount": 100000,
"capture_method": "manual",
"authorised_amount": 100000,
"paid_amount": 100000,
"voided_amount": 0,
...
}
Webhook fired: payment.captured
Partial capture
Capture less than the full authorised amount by specifying amount:
POST /collect/payments/pay_rOaZNqKZMFxsRb2NBL1cj/captures
Idempotency-Key: capture_order_123_shipment_1
{
"amount": 60000
}
Response:
{
"authorised_amount": 100000,
"paid_amount": 60000,
"voided_amount": 0,
...
}
The remaining R400.00 of authorisation can be voided:
POST /collect/payments/pay_rOaZNqKZMFxsRb2NBL1cj/voids
Idempotency-Key: void_order_123_remainder
// No request body needed
Void
Best practice: void unused authorisations promptly. A live authorisation reserves funds on the customer’s card and reduces their available balance until it expires (typically 5 to 30 days depending on issuer and scheme). If you have decided not to capture, void the authorisation as soon as possible rather than letting it expire. This improves the customer experience and reduces support contact about held funds.
Full void
Release the entire remaining authorised amount:
POST /collect/payments/pay_rOaZNqKZMFxsRb2NBL1cj/voids
Idempotency-Key: void_order_123
// No request body needed
Response:
{
"authorised_amount": 100000,
"paid_amount": 0,
"voided_amount": 100000,
...
}
Webhook fired: payment.voided
Void after partial capture
After a partial capture, void the remaining authorisation to close the payment:
1. Authorisation: authorised_amount = 100000, paid_amount = 0, voided_amount = 0
2. Partial capture 60000: authorised_amount = 100000, paid_amount = 60000, voided_amount = 0
3. Void remaining: authorised_amount = 100000, paid_amount = 60000, voided_amount = 40000