Card Transactions
Card payment types, capture modes, and state transitions.
Card payments in Cresora support two capture modes: automatic (charge immediately) and manual (authorize now, capture later).
Automatic capture
The default. The card is authorized and captured in a single step. Use this for most e-commerce flows.
{ "capture_method": "automatic" }State path: requires_action? → captured → settled
Manual capture (auth-only)
Authorize the card to hold funds, then capture later. Use this for:
- Hotel and rental holds
- Marketplace settlements after service delivery
- Order fulfillment with uncertain timing
{ "capture_method": "manual" }State path: authorized → (your capture call) → captured → settled
Capture window
You have 7 days from authorization to capture. After 7 days the authorization expires automatically and the hold is released. You cannot capture an expired authorization — create a new payment.
Capture
POST https://api.cresoracommerce.com/api/v1/transactions
Authorization: Bearer csk_test_xxxxxxxxxxxx{ "type": "CAPTURE", "parent_transaction_id": "{transactionId}" }You can capture a partial amount (less than the original authorization) with type: "PARTIAL_CAPTURE":
{ "type": "PARTIAL_CAPTURE", "parent_transaction_id": "{transactionId}", "amount": "80.00" }The uncaptured remainder is released automatically.
Void an authorization
Cancel an authorization before capture:
POST https://api.cresoracommerce.com/api/v1/transactions{ "type": "VOID", "parent_transaction_id": "{transactionId}" }The hold is released at the issuer — timing varies (immediate to 5 business days depending on the issuer).
Refunds
After capture, refund by creating a refund object:
POST https://api.cresoracommerce.com/api/v1/transactions
{ "type": "REFUND", "parent_transaction_id": "{transactionId}", "refund_reason": "customer_requested" }This refunds the full captured amount. For a partial refund, use type: "PARTIAL_REFUND" with an amount; multiple partial refunds can be issued until the full captured amount is refunded.
State transition on full refund: captured → refunded