Approving authorizations
When a cardholder initiates a purchase, Rain’s 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, Rain declines the transaction. If Rain approves the transaction, it places a hold on the funds so they remain available for settlement. At this stage, no funds move; the hold reserves the amount. Once Rain responds to the network, Rain sends you atransaction.created webhook. If Rain declines the transaction, its status is 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 merchant doesn’t know the final transaction amount 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 atransaction.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 atransaction.updated webhook with a status of reversed.
If the merchant partially reverses the transaction 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 it, use 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, Rain releases the hold when it receives the reversal, or automatically after 30 days. Rain sends you atransaction.updated webhook with a status of reversed and an amount of $0, simultaneously releasing the authorization hold.
If the merchant fully reverses the transaction 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 it, use Rain’s transaction issues and disputes process.
Partial authorizations
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, Rain declines the authorization. You will receive atransaction.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 Rain doesn’t credit the user’s ledger until the refund settles. You will receive atransaction.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 Rain releases the hold 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
- Rain releases the held funds back to your available balance.
- Rain marks the transaction as complete.
- Rain sends a
transaction.completedwebhook notification (if configured) with acompletionReasonofstale_authorization_closure, so your systems can update accordingly.
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.