Skip to main content
This page covers the authorization flow for Rain-Managed programs, where Rain decides each authorization internally. For the Partner-Managed equivalent, see Partner-managed.

Approving authorizations

When a cardholder initiates a purchase, our system checks several criteria to approve the transaction. This includes verifying card validity, checking the account balance, assessing spending limits, applying custom rules (such as merchant blocks), and evaluating fraud risk. If any of these checks fail, the transaction is declined. If the transaction is approved, we place a hold on the funds to ensure they are available for settlement. At this stage, no funds are transferred; the hold reserves the amount. Once Rain responds to the network, Rain sends you a transaction.created webhook. If the transaction is declined, it will have a status of declined. You will need to persist this data for logging purposes.

Incremental authorizations

Some merchants, such as hotels and gas stations, may need to increase the initial authorization amount. This typically occurs when the final transaction amount is not known upfront. For example, hotels may add room service charges, or gas stations may adjust for the total fuel cost. Rain’s system allows for incremental authorizations, enabling merchants to request additional funds beyond the original authorization. Each request for additional funds undergoes the same validation process as the initial authorization. Rain notifies you with a transaction.created webhook followed by a transaction.updated webhook with the new total amount (original amount + increment amount)

Partial reversals

When a merchant needs to reverse part of an authorization amount, the merchant can submit a partial reversal. Rain records the reversed amount and releases the authorization hold upon receiving the partial reversal. This is common in situations such as gas stations, where the initial hold may exceed the final transaction amount. To notify you of this change and the release of the authorization hold, Rain sends you a transaction.updated webhook with a status of reversed. If the transaction is partially reversed and the final settlement amount in the transaction.completed webhook does not reflect the partial reversal, the liability to fix this mismatch falls on the merchant/acquirer. To resolve, this is handled via Rain’s transaction issues and disputes process.

Full reversals

A full reversal completely cancels an authorization, typically occurring when a transaction is canceled or times out. Rain’s system marks the authorization as reversed. As with partial reversals, the hold is released upon reception of the reversal or automatically after 30 days. Rain sends you a transaction.updated webhook with a status of reversed and an amount of $0, simultaneously releasing the authorization hold. If the transaction is fully reversed and the final settlement amount in the transaction.completed webhook does not reflect the full reversal (that is, a final amount other than $0), the liability to fix this mismatch falls on the merchant/acquirer. To resolve, this is handled via Rain’s transaction issues and disputes process.

Partial authorizations

Currently not supported:Partial authorizations are not currently supported. When a cardholder has insufficient funds for the full requested amount, the transaction is declined.
Some merchants may request partial authorizations for the available balance when a cardholder has insufficient funds. This would allow a transaction to proceed with a reduced amount, which is common in scenarios such as pay-at-pump gas stations or retail settings. Rain does not currently support partial authorizations. If the cardholder’s balance is insufficient for the full requested amount, the authorization is declined. You will receive a transaction.created webhook with a status of declined.

Refund authorizations

Occasionally, merchants send an authorization before posting a refund to a card. This authorization appears similar to a standard authorization but with a negative amount. The key difference is that the user’s ledger is not credited until the refund has been settled. You will receive a transaction.created webhook with a negative amount for the refund.

Stale authorization closure

When you make a purchase with a Rain card, the merchant places a temporary hold on your funds called an authorization. In most cases, the merchant settles (finalizes) this charge within a few days, and the hold is released automatically. Sometimes a merchant never sends the final settlement. When this happens, the authorization remains in a pending state indefinitely. To keep your balances accurate, Rain automatically closes these stale authorizations on a set schedule:
  • Standard transactions (under $1,000): Closed after 14 days with no settlement
  • Travel and rental holds (cruise, lodging, and vehicle-rental merchant categories): Closed after 30 days with no settlement
  • High-value transactions ($1,000 or more): Closed after 31 days with no settlement
  • Credits and reversals: Closed after 31 days with no settlement
When a pending authorization is closed:
  • The held funds are released back to your available balance.
  • The transaction is marked as complete.
  • A transaction.completed webhook notification is sent (if configured) with a completionReason of stale_authorization_closure, so your systems can update accordingly.
If the merchant later submits a settlement for a transaction that was already closed, it is processed as a new charge at that time.

What’s next

Transaction events

See the full webhook payload and field reference for every transaction event.

Handle disputes & refunds

Walk through filing a dispute, refunds, and chargebacks.