Skip to main content

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