Why Authorization and Capture?
Most payments are simple: you charge the customer immediately and you’re done. But sometimes you need to reserve funds without actually charging them right away. That’s where authorization and capture comes in. Authorization = “Can this customer pay 100 for me.” Capture = “Actually charge that $100 you’re holding.” Think of it like a hotel room: when you check in, they authorize your card (put a hold on funds) but don’t charge you yet. When you check out, they capture the funds (actually charge you) for the final amount (which might be different if you used the minibar or had room service).When to Use Authorization & Capture
Use this two-step process when:- You don’t know the final amount yet (hotels, car rentals, restaurants with tips)
- You want to verify the card before shipping (pre-orders, custom products)
- You need to hold funds temporarily (deposits, reservations)
- The service happens over time (subscriptions that start later, services with variable pricing)
Real-World Use Cases
Hotel Booking
- Check-in: Authorize $200 (estimated room + incidentals)
- During stay: Customer might use room service, minibar, etc.
- Check-out: Capture the actual amount (maybe $250 after incidentals)
Pre-Order Products
- Customer pre-orders: Authorize the full amount to verify their card is valid
- Product ships: Capture the funds when you actually ship (weeks or months later)
- If customer cancels: Reverse the authorization, no charge
Restaurant with Tips
- Customer orders: Authorize the bill amount
- Customer adds tip: Capture the total (bill + tip)
- Or if they walk out: Capture just the bill amount
Custom Products
- Customer orders custom item: Authorize to verify payment method
- You build the product: Takes time, customer’s card is verified
- You ship: Capture when ready to charge
How Authorization & Capture Works
Here’s the flow:- Authorize → Bank checks if customer has funds, puts a hold on the money
- Wait → Funds are reserved but not charged (authorization lasts ~7 days)
- Capture → Actually charge the customer (can be same amount or different)
- Or Reverse → Release the hold if you don’t need to charge
- Regular sale: Authorize + Capture happens immediately in one step
- Authorization/Capture: You control when each step happens
Step 1: Authorize a Payment
When you authorize, you’re asking the bank “Can this customer pay $X?” If yes, they put a hold on that amount. The customer’s available balance decreases, but the money hasn’t actually been charged yet.API Endpoint
Sample Authorization Request
Understanding the Request
| Field | Description |
|---|---|
PaymentMethod | The customer’s payment details (card, billing address, etc.) |
BillingAddress | Cardholder’s billing address (used for fraud prevention) |
BillingFullName | Name on the credit card |
CreditCard.PaymentAccountNumber | Full credit card number |
CreditCard.ExpirationDate | Card expiration in MMYY format (e.g., “1025” = October 2025) |
NetworkProcessing.ProcessingType | Transaction type. Use initialInstallment for one-time authorizations |
Amount.Value | How much to authorize (hold). This can be your best estimate—you can capture a different amount later |
Alternative: Authorize with Stored Payment Method
If you already have apaymentMethodId (from a previous transaction), you can use that instead of sending full card details:
Authorization Response
When authorization succeeds, you’ll get back apaymentMethodAuthorizationId—this is what you’ll use to capture or reverse the payment later.
Understanding the Response
| Field | Description |
|---|---|
paymentMethodAuthorizationId | The most important field—save this! You’ll need it to capture or reverse the payment |
networkTransactionId | Unique ID from the card network. Store this for your records |
paymentMethod.paymentMethodId | If a payment method was created, you can use this for future transactions |
paymentMethodCreditCardDetails.paymentLast4Digit | Last 4 digits of the card (safe to display) |
Important: Store the paymentMethodAuthorizationId immediately. You’ll need it to capture or reverse, and authorizations expire after about 7 days.
Step 2: Capture the Payment
Once you’re ready to actually charge the customer, you “capture” the authorized amount. You can capture:- The same amount you authorized
- A different amount (more or less)
- But you can’t capture more than you authorized
API Endpoint
{paymentMethodAuthorizationId} with the ID you got from the authorization response.
Sample Capture Request
Understanding the Request
| Field | Description |
|---|---|
CustomerId | Optional. Link this payment to a customer record in Revolv3 |
Invoice.MerchantInvoiceRefId | Your internal order or invoice ID (for tracking) |
Invoice.Amount.value | The amount to actually charge. This can be: |
- Same as authorized amount
- Less than authorized (e.g., authorized 150)
- But NOT more than authorized |
Key Notes About Capturing
- ✅ You must capture within ~7 days of authorization, or it expires
- ✅ You can capture a different amount than you authorized (as long as it’s not more)
- ✅ You can only capture once per authorization
- ❌ If authorization expires, you’ll need to authorize again
Capture Response
The capture response looks similar to a regular payment response:Step 3: Reversing an Authorization (Optional)
If you authorized funds but decide you don’t need to charge the customer (they cancelled, you can’t fulfill the order, etc.), you can reverse the authorization to release the hold.API Endpoint
Sample Reversal Request
What Happens When You Reverse
- ✅ The hold on the customer’s funds is released immediately
- ✅ Their available balance goes back to normal
- ✅ They were never charged
- ❌ You can’t capture this authorization anymore (it’s cancelled)
- Customer cancels before you capture
- You can’t fulfill the order
- You want to release the hold for any reason
Note: If you don’t capture or reverse, the authorization will automatically expire after ~7 days and the hold will be released. But it’s better to explicitly reverse if you know you won’t capture.
Complete Example: Hotel Booking Flow
Let’s walk through a real scenario:Day 1: Customer Checks In
1. Authorize for estimated amount:Day 2-3: Customer Stays
Customer uses room service, minibar, etc. You track the actual charges.Day 3: Customer Checks Out
2. Capture the actual amount:Authorization vs. Regular Sale: When to Use Which?
| Scenario | Use Authorization/Capture | Use Regular Sale |
|---|---|---|
| E-commerce (known amount, ship immediately) | ❌ | ✅ |
| Hotel booking (variable final amount) | ✅ | ❌ |
| Pre-order (charge when shipped) | ✅ | ❌ |
| Subscription (recurring, known amount) | ❌ | ✅ |
| Custom product (verify card, charge later) | ✅ | ❌ |
| Restaurant (bill + tip) | ✅ | ❌ |
| Digital product (instant delivery) | ❌ | ✅ |
Best Practices
- Store authorization IDs immediately: You’ll need them to capture or reverse
- Set reminders: Authorizations expire in ~7 days—don’t forget to capture
- Capture the right amount: You can capture less than authorized, but not more
- Reverse when appropriate: If you won’t capture, reverse to release the hold quickly
- Handle expiration: If an authorization expires, you’ll need to authorize again
- Use webhooks: Get notified when captures complete or authorizations expire
Common Questions
Q: Can I capture more than I authorized? A: No. You can capture the same amount or less, but not more. If you need more, authorize again for the additional amount. Q: What happens if I don’t capture? A: The authorization expires after ~7 days and the hold is automatically released. The customer is never charged. Q: Can I capture multiple times? A: No, each authorization can only be captured once. If you need to charge more, create a new authorization. Q: How long do authorizations last? A: Typically 7 days, but this can vary by processor. Check with Revolv3 support for your specific processor’s expiration time.Next Steps
- Make a Payment — Learn about regular one-step payments
- Payment Methods — Store payment methods for faster checkout
- Refunds — Learn how to refund captured payments

