Complex Authorization Scenarios
Card authorizations vary depending on the issuer processor and underlying card network. The most common authorization scenarios include:
- Multi-Capture
- Incremental Authorization
- Partial Reversal
Canopy supports complex authorization flows by allowing updates to draws with a non-final status. Specifically, the amount of a SIMPLE_CHARGE
draw type can be increased, decreased, or updated as long as its settlement_status
is not SETTLED
.
Below, we outline how to ledger these key authorization scenarios in Canopy.
Multi-Capture
Multi-capture allows merchants to settle a previously authorized amount in multiple partial captures, rather than settling the full amount at once. This is commonly used in scenarios like e-commerce (where items ship separately) or hotel stays (where charges accumulate over time).
- The initial authorization request is recorded following Canopy's authorization flows, which verifies available credit before recording the authorized charge.
- Partial Captures: Each time a portion of the transaction is settled, it is captured using the partial capture API with the appropriate amount settled for the portion.
- Multiple capture requests can be made.
- The remaining authorized amount stays open, maintaining its grasp on
available_credit
until fully settled, which is indicated on the request body via thefinal_capture
attribute being set totrue
on the partial capture API.
{ "amount_cents": 2500, "effective_at": "2024-01-04T20:01:27Z", "final_capture": true, }
Note: The total
amount_cents
from all partial captures will be aggregated and deducted from the originalAUTHORIZED
hold. Any remaining difference will be automatically added as an adjustment to the original charges amount. Thesettlement_status
of the original charge will also be transitioned toSETTLED
Incremental Authorization
An incremental authorization allows merchants to increase the authorized amount on a confirmed transaction before capturing the funds.
-
The initial authorization request is recorded following Canopy's authorization flows
-
Authorization increments are recorded using the adjust balance API. This API updates the draw balance by specifying the
adjustment_amount_cents
:- Positive values increase the balance
- Negative values decrease the balance
{ "adjustment_amount_cents": 30000, // Increases the original draw by $300 "effective_at": "2024-01-10T19:00:00Z", "metadata": { "reason": "incremental authorization" } }
Note: Adjustments are only permitted for transactions in non-final statuses (e.g., AUTHORIZED, PENDING).
-
Finally, the issuer processor updates the transaction’s settlement status in Canopy using the settle transaction API
Partial Reversal
A partial reversal occurs when a merchant requests a transaction amount that exceeds the available credit, and the issuer approves only a portion of it.
- The initial authorization request is recorded following Canopy's authorization flows, which verifies available credit before recording the authorized charge.
- If the transaction settles for a different amount (typically lower), the settlement request must reflect this change. This is specified via the settlement attribute in the settle transaction API
{
"effective_at": "2024-01-12T19:00:00Z",
"adjustment": {
"amount_cents": 380000, // 3.8k $
"metadata": {"reason": "final settlement adjustment"}
}
}
Updated 25 days ago