Payment Gateway Integration
Set your gateway first. Then choose billing view and payment rules. Most hotels finish in 5 minutes.
This guide helps you set payment and billing rules in Settings → Payment.
If you use Stripe, choose Live or Test before connecting.
Gateway Stripe credentials stay on the payment card.
Terminal manual credentials stay on the terminal configuration card and use test keys only.
If your hotel uses manual Stripe test credentials, gateway and terminal cards save them separately.
Use the Stripe test keys for each card you configure.
Accommodation charge policies match values supplied by your PMS.
Opera travel-agent names like Booking.com (VCC) can also trigger a matching waiver.
For Opera room-package waivers, AVA waives room charge, room service charge, and room GST first.
For pre-arrival Opera projections, the projected room charge and its rate-info tax are waived together.
Separately posted extras and their taxes stay payable.
For Mews, verified products included in a matched rate, such as bundled breakfast, can follow an accommodation waiver.
Mews rate-group rules apply only to products included by the booked rate group.
Products assigned to another rate group remain payable.
After that waiver, AVA suppresses a positive THB 0.01 balance only when it is an accommodation rounding residual.
Genuine extras and unclassified charges remain payable, including genuine THB 0.01 extras.
The old OTA source selector is no longer part of this page.
Where to Find It
Settings → PaymentQuick Reference
| Setting Area | What It Controls | Main Outcome |
|---|---|---|
| Billing View | Detailed or simplified guest billing summary | Shows itemized rows or a shorter summary |
| Payment Gateway Integration | Stripe or Red Dot setup | Guests can pay in kiosk flows |
| Stripe Environment | Live or Test mode for Stripe gateway and terminal connections | Locks after connection |
| Manual Stripe Test Credentials | Test-only Stripe keys on the gateway and terminal cards | Saves gateway and terminal Stripe settings separately |
| Terminal Payment Configuration | Stripe terminal API key, publishable key, and webhook secret | Saves terminal credentials separately from gateway Stripe |
| Payment Collection Mode | Deposit and full payment toggles | Controls what guests pay at check-in |
| Accommodation Charge Policies | Matching values that waive or hide accommodation charges | Controls accommodation rows and the payable amount when your PMS supports the capability |
| AVA Billing Rules | PMS hide and waive signals for room, tax, deposit, and incidental rows | Shows hidden rows as ✅, keeps the payable total numeric, and preserves payable extras |
| Property Currency (in Settings → Essentials) | Resolved currency for deposits and reservation payment display | Keeps payment amounts consistent across settings and operations |
| Deposit Currency | Currency used for deposit amounts on this page | Saves with your other payment settings |
| Opera Payment Mapping | Settlement, cashier, and payment type mapping | Your PMS receives payment postings correctly |
| Checkout Rounding Adjustment | Small-balance tolerance and checkout adjustment | Supported PMS providers can complete checkout with a small balance |
| Pre-Authorization Controls | Delayed room-rate capture from Stripe pre-authorizations | Appears when your active PMS supports delayed capture |
| Opera-Specific Payment Controls | Check-out verification, routing, and no-collect logic | Opera-specific payment behavior is enforced |
Rounding adjustment only works when either Check-in outstanding-balance blocking or Checkout balance settlement is on in Check-In Policy. If both are off, AVA keeps your saved rounding value, but the control stays inactive. AVA shows the control only when your active PMS reports checkout-rounding support. Missing or malformed capability data keeps the control hidden.
AVA reads checkout-rounding support from your active PMS capability. It shows Transaction Code (Rounding) only when that capability declares a vendor-code field. Unsupported or unverified PMS capabilities send no new rounding settings.
Before You Start
- Prepare your payment gateway account
- Decide if you want Detailed or Simplified billing view
- Decide if you want deposits, full payment, or both
- Confirm your deposit policy and property currency source in Settings → Essentials → Hotel Basic Details
- Confirm your PMS exposes the accommodation payment-policy capability. If AVA cannot confirm support, the controls stay hidden.
- Confirm your PMS exposes delayed pre-authorization capture support if you need Auto Delay Capture.
- If you use Opera, AVA billing rules are available there first.
- If your PMS supports payment mapping, prepare your cashier ID and payment method code mappings
Step-by-Step Setup
Step 1: Select a Payment Gateway
- Go to Settings → Payment.
- In Payment Gateway Integration, select Stripe or Red Dot Payment.
For Stripe
- Open Advanced.
- Choose Live or Test.
- Click Connect Stripe.
- Finish Stripe onboarding.
- Return to Streamliner and confirm Stripe is connected.
Use Live for production and Test for sandbox onboarding. After Stripe connects, the environment becomes read-only until you disconnect.
Terminal Stripe setup also defaults to Live unless you change it before connecting.
Manual Stripe Test Credentials
Use this when your hotel has the manual Stripe test credential fields enabled.
- Open the Stripe card you want to edit.
- Enter the Publishable Key, Secret Key, and Webhook Secret.
- Use test-only keys for that card.
- Click Save.
- If the fields are masked later, click Save again without retyping them.
Gateway Stripe credentials save on the payment gateway card. Terminal Stripe credentials save on the terminal configuration card. Keep gateway and terminal keys separate.
When a kiosk has one mapped Stripe terminal, AVA opens it automatically during checkout. When more than one terminal is mapped, you choose from the terminal picker in the payment modal. If terminal mode is off, AVA keeps the gateway or QR payment flow. If the kiosk uses direct Stripe Terminal credentials, AVA can still start checkout even when Stripe Account ID is blank. When both direct credentials and a Connect account exist, AVA keeps the Connect account behavior. Terminal manual credentials are separate from gateway Stripe credentials. Use them only for test terminals. If the fields are masked, you can save them again without retyping the values.
For Red Dot Payment
- Enter Merchant ID.
- Enter Secret Key.
- Select Environment (
TESTorLIVE). - Click Save Payment Gateway Settings.
Step 2: Choose Billing View
Use this card to control the guest-facing billing summary. Choose Detailed for itemized rows. Choose Simplified for Room Charges, Tax, and the total.
- Go to Settings → Payment.
- In Billing View, choose Detailed or Simplified.
- Click Save.
This card appears before Terminal Payment Configuration on the payment page.
Step 3: Choose Payment Collection Options
| Toggle | What It Does |
|---|---|
| Collect Security Deposits | Pre-authorizes a deposit during check-in |
| Collect Full Payment | Guests pay outstanding balance during check-in |
- Turn on one or both toggles.
- If both are off, check-in does not request payment.
- Click Save Payment Gateway Settings.
Step 4: Configure Deposit Details (If Enabled)
- Enter Deposit Amount.
- Choose Deposit Type (per night or flat amount).
- If you see Deposit Currency, choose the currency your hotel uses for deposits.
- Click Save Payment Gateway Settings.
Payment settings use the resolved Property Currency from Settings → Essentials → Hotel Basic Details. If PMS provides currency, AVA uses that value and locks local edits. Your selected Deposit Currency saves with the rest of your payment settings.
Configure Accommodation Charge Policies
Use these controls when your PMS supports accommodation payment policies. They appear under Payment Policy Controls on Settings → Payment.
| Control | What it does |
|---|---|
| Waive Accommodation Charges | Does not collect accommodation charges, related taxes, or service charges. These rows remain visible. |
| Hide and Waive Accommodation Charges | Hides and does not collect accommodation charges, related taxes, or service charges. |
Separately posted extras and their taxes remain visible and payable under either policy. If both policies match, the hide policy changes visibility only. The payable amount stays the same.
- Go to Settings → Payment.
- Find Payment Policy Controls → Accommodation Charge Policies.
- Add each matching value from your PMS to the appropriate list.
- Click Save Payment Policies.
- Test a reservation that matches the configured value.
AVA shows these controls only when the active PMS exposes the required capability. Existing values remain stored when the controls are temporarily unavailable.
If Opera returns a travel-agent label, AVA can match values such as Booking.com (VCC).
AVA Billing Rules
Use this when your PMS sends hide or waive signals for room, tax, deposit, or incidental rows.
- Mews and Opera support these rules when their connection capabilities allow them.
- Hidden room or tax rows show as
✅in detailed billing. - Waived room or tax rows stay visible when the provider returns them.
- A Mews v2 waive policy can clear the full invoice's charge rows.
- Verified Mews rate-included products, such as bundled breakfast, can follow a room-package waiver.
- Mews rate-group rules apply only to products included by the booked rate group.
- Products assigned to another rate group remain payable.
- Service charges priced relative to verified included products can follow that waiver.
- A positive Mews balance up to THB 0.01 is suppressed only when it is an accommodation rounding residual after a waiver.
- Positive unclassified charges and genuine extras remain payable, including genuine THB 0.01 extras.
- For Opera room-package waivers, AVA waives room charge, room service charge, and room GST first.
- Pre-arrival projected Opera room charges and their rate-info tax are waived together.
- Separately posted Opera extras and their taxes can stay payable.
- Waived deposit or incidental rows are removed from the payable total.
- An evaluated payable amount controls the balance shown and collected during checkout.
- If billing is not evaluated for another reason, AVA may use the PMS summary or stored snapshot.
- A Mews inconclusive waiver does not use an unverified amount; staff must review the complete invoice.
- When room payment collection is enabled, AVA can route the guest to the front desk during reservation lookup.
- If AVA cannot prove a product classification, it withholds the unverified amount for staff review.
- An explicit Opera zero balance stays zero, even when visible room, tax, or service postings look positive. This applies when routed or settled counterparts are not visible. AVA trusts that zero only when the amount and currency match the normalized Opera bill. A mismatch remains unconfirmed.
- Simplified billing shows hidden room and tax rows, an Extras separator, and grouped extra items by code.
- Projected billing rows can remain visible while the PMS finishes syncing.
- Compare unexpected balances with the PMS before collecting payment.
- When no policy matches, AVA uses the billing response it receives.
If your PMS does not support AVA billing rules, AVA keeps the normal payment summary.
- Open a reservation that uses the PMS billing rule.
- Refresh the reservation in AVA.
- Compare the visible rows with the payable balance.
- Test again after the PMS sync completes.
Step 5: Configure PMS Payment Mapping (When Supported)
- In Opera PMS Payment Mapping, set:
- Settlement Code
- Default Cashier ID
- Default Comment Type / Location
- Payment Type to Payment Method Code rows
- Click Save Opera Payment Mapping.
Each row links one payment method to one PMS payment method code. AVA saves these rows with your other payment settings.
AVA sends your configured Default Comment Type / Location when it creates Opera payment or deposit comments. Save the mapping again after changing this value.
The mapping section may keep Opera-specific wording. Its visibility follows the payment-mapping capability from your active PMS integration.
Step 6: Configure Checkout Rounding Adjustment
AVA shows this control under Payment Policy Controls when your PMS supports it.
| PMS provider | Support | Additional setup |
|---|---|---|
| AVA | Supported | No vendor code required |
| Opera / OHIP | Supported | Save the vendor code in Transaction Code (Rounding) |
| Cloudbeds, Mews, eZee, and Furama | Not supported | The control stays hidden |
-
Go to Settings → Check-In → Check-In Policy.
-
Turn on Check-in outstanding-balance blocking or Checkout balance settlement.
-
Go to Settings → Payment.
-
Find Payment Policy Controls.
-
Turn on Enable Rounding Adjustment.
-
Set Rounding Threshold in your property's default currency.
-
If you use Opera, enter the vendor code in Transaction Code (Rounding).
-
Click Save Payment Policies.
✓ AVA applies the adjustment during checkout when the balance is within your threshold.
During check-in, AVA accepts a balance within the configured threshold without posting a transaction. During checkout, AVA posts the rounding adjustment before completing checkout. AVA uses no vendor code. Opera uses the configured vendor code.
Step 7: Configure Auto Delay Capture
Use Auto Delay Capture when your PMS supports delayed capture. AVA captures the room rate before the Stripe pre-authorization expires. The deposit remains uncaptured.
| Setting | What it does |
|---|---|
| Enable Auto Delay Capture | Automatically captures the room rate before pre-authorization expiry |
| Auto Delay Capture Expiry Days | Sets how many days before expiry AVA captures the room rate |
-
Go to Settings → Payment.
-
Find Payment Policy Controls → Pre-Authorization Controls.
-
Turn on Enable Auto Delay Capture.
-
Enter Auto Delay Capture Expiry Days.
-
Click Save Payment Policies.
✓ AVA captures the room rate before expiry when the pre-authorization remains valid.
AVA shows these controls only when your active PMS reports delayed capture support. Opera currently reports support. Other PMS providers show the controls only after they report the same capability.
If you switch to a PMS without delayed capture support, AVA turns off Auto Delay Capture. AVA also clears its expiry-day value to prevent stale settings from being used.
Step 8: Configure Opera-Specific Payment Controls (Opera Only)
-
Go to Settings → Payment.
-
Find Opera-Specific Payment Controls.
-
Set payment behavior:
- In-house invoice access and birthdate verification for check-out
- Ignore Waive Payment Routing behavior
-
In Do Not Collect Any Incidental / Deposit, add each matching rate code, market segment, guarantee type, or comment.
-
Click Save Payment Policies.
✓ Matching incidental or deposit rows are removed from the payable balance.
AVA tries to add the Opera reservation comment before it posts the payment or deposit. If comment creation fails, AVA still posts the payment or deposit in Streamliner. This keeps payment collection moving even when Opera comment creation fails. Accommodation charge policies are configured above.
Rounding Adjustment Dependencies
Use this when you want checkout rounding to affect payment behavior.
-
Turn on Check-in outstanding-balance blocking or Checkout balance settlement.
-
Return to Settings → Payment.
-
Open Payment Policy Controls and set Enable Rounding Adjustment.
✓ AVA applies the rounding setting only when one of those policies is on.
If you turn both check-in balance policies off later, AVA keeps the saved rounding value. The control only stops affecting payment behavior.
What to Expect After Save
- ✅ Connected gateway details appear after setup
- ✅ Stripe shows Live or Test in the connected status badge
- ✅ Billing view saves with the rest of the payment settings
- ✅ Deposit fields appear when deposits are enabled
- ✅ Deposit currency stays saved after you click Save
- ✅ Auto Delay Capture appears only when your active PMS supports it
- ✅ PMS payment mapping appears when your active PMS reports support
- ✅ Opera policy sections appear only for Opera PMS
- ✅ The payment mapping card can appear for a non-Opera PMS when its integration reports support
- ✅ Payment settings save independently on the same page
Payment setup moved from Settings → Essentials to Settings → Payment. Legacy OTA source selectors were removed.
Troubleshooting
Gateway settings are disabled
What you see: Payment toggles or save buttons are disabled.
Fix:
- Confirm your account has settings write access.
- Connect Stripe first if Stripe is selected.
- Refresh the page and retry.
Billing view does not change
What you see: Guests still see the old billing summary layout.
Fix:
- Return to Settings → Payment.
- Re-select Detailed or Simplified.
- Click Save on the Billing View card.
- Start a new guest flow or refresh the reservation screen.
- If it still looks wrong, confirm the hotel is on the current CCI settings path.
Stripe environment is locked
What you see: The Environment dropdown is disabled after Stripe connects.
Fix:
- Disconnect Stripe.
- Open Advanced.
- Choose Live or Test.
- Reconnect Stripe.
Stripe terminal credentials are rejected
What you see: Gateway or terminal Stripe credentials do not save, or AVA clears them after you save.
Fix:
- Confirm you are editing the right Stripe card.
- Gateway and terminal credentials save separately.
- Use test-only values for manual Stripe setup.
- Make sure the secret key starts with
sk_test_. - Make sure the publishable key starts with
pk_test_. - Save the settings again.
- If the fields are masked, save again without retyping the values.
Stripe test credentials do not appear
What you see: The manual Stripe fields are missing from the gateway or terminal cards.
Fix:
- Refresh Settings → Payment.
- Confirm your hotel is in the manual Stripe test credential rollout.
- Contact support if the fields still do not appear.
Payment policy controls do not appear
What you see: Accommodation, checkout rounding, delayed capture, or Opera-specific payment controls are missing.
Fix:
- Open Settings → Essentials → PMS Integration.
- Confirm the active PMS is correct.
- Return to Settings → Payment.
- Refresh the page once.
- Ask an administrator to confirm the PMS capability is enabled.
Payment mapping appears when your active PMS reports support. Opera currently reports this capability. The mapping section is separate from the other capability-gated payment policy controls.
Auto Delay Capture is missing
What you see: Pre-Authorization Controls does not show Auto Delay Capture.
Fix:
- Open Settings → Essentials → PMS Integration.
- Confirm the correct PMS is active.
- Refresh Settings → Payment after changing PMS connections.
- Ask your administrator or Vouch support whether the PMS reports delayed capture support.
If the PMS does not report support, the controls stay hidden. This is expected behavior.
Auto Delay Capture settings are rejected
What you see: AVA says delayed capture is unavailable when you save payment settings.
Fix:
- Confirm the active PMS supports delayed capture.
- Turn off Auto Delay Capture if you changed PMS providers.
- Save the payment settings.
- Retry after the PMS capability becomes available.
AVA does not save delayed capture settings for an unsupported or unverified PMS.
PMS payment mappings do not save
What you see: Your cashier or payment method rows disappear after you click Save.
Fix:
- Open Settings → Essentials → PMS Integration.
- Confirm the correct PMS is active and reports payment mapping support.
- Return to Settings → Payment.
- Re-enter Default Cashier ID and each mapping row.
- Click Save Opera Payment Mapping again.
Opera payment currency does not match
What you see: Opera shows an internal error, or a payment or deposit does not appear after posting.
Fix:
- Check Property Currency in Settings → Essentials → Hotel Basic Details.
- Make sure the Opera reservation uses the same currency.
- Retry the payment or deposit.
- Contact support if Opera still returns an internal error.
Opera reservation comment is missing
What you see: The payment posts successfully, but you do not see a new reservation comment in Opera.
Fix:
- Confirm the payment or deposit finished successfully in Streamliner.
- Check that the Opera reservation has a matching payment record.
- Confirm Default Comment Type / Location is set in Opera PMS Payment Mapping.
- Do not retry only to recreate the comment.
- Contact support if the payment posts and the comment still does not appear.
Opera comment type or location looks wrong
What you see: Opera creates the payment comment, but the type or location looks unexpected.
Fix:
- Open Settings → Payment.
- Check Opera PMS Payment Mapping.
- Verify Default Comment Type / Location.
- Save the mapping again.
- Test another Opera payment or deposit.
Room payment is waived unexpectedly
What you see: A reservation skips room payment when you expect a payment request.
Fix:
- Open the reservation in your PMS.
- Check the reservation comment, source name, and Opera travel-agent label.
- Remove or change the matching value if the reservation should not be waived.
- Refresh AVA and test again with a new reservation.
Accommodation policy controls are unavailable
What you see: You do not see Accommodation Charge Policies, or AVA shows an unsupported PMS message.
Fix:
- Confirm your PMS provider supports accommodation payment policies.
- Refresh Settings → Payment.
- If the controls still do not appear, AVA does not have support data for that PMS yet.
- Keep existing policy values in place. AVA still stores them when the editor is hidden.
Billing rows do not match the PMS
What you see: Room, tax, deposit, or incidental rows look different in AVA.
Fix:
- Confirm the reservation comes from a PMS that supports AVA billing rules.
- If you use Opera, wait for the next reservation sync.
- Refresh Settings → Payment or reopen the reservation.
- Check the PMS bill to confirm whether the row is hidden or waived.
Mews included product needs review
What you see: A bundled Mews product needs review after a matching room-package waiver.
Why this happens: AVA could not prove the product's classification.
Fix:
- Open the reservation through Staff Access.
- Review the reservation rate, included products, and complete invoice in Mews.
- Confirm the reservation matches the configured accommodation policy.
- Refresh the reservation in AVA.
- Do not collect an unverified amount.
- Ask front-desk staff to review the complete Mews invoice.
Guest is sent to the front desk before payment
What you see: The guest cannot continue after reservation lookup. AVA asks the guest to see the front desk.
Why this happens: A payment policy matched, but Mews could not classify a governed charge.
Fix:
- Review the Mews rate, included products, and complete invoice.
- Confirm the matching value in Accommodation Charge Policies.
- Refresh the reservation after Mews finishes syncing.
- Confirm the payable amount with the complete Mews invoice.
- Ask front-desk staff to complete the check-in when review remains necessary.
Do not collect an unverified amount.
Guests are not asked to pay
What you see: Guest skips payment during check-in.
Fix:
- Confirm a gateway is connected.
- Confirm Collect Security Deposits or Collect Full Payment is enabled.
- Confirm the reservation has a balance due.
- Save and retest with a sample reservation.
Deposit currency looks wrong or cannot be edited
What you see: Deposit currency does not match your expected setting, or field changes do not persist.
Fix:
- Open Settings → Essentials → Hotel Basic Details.
- Check whether Property Currency is PMS-managed or editable.
- If PMS-managed, update currency in PMS and wait for sync.
- Refresh Settings → Payment and verify the currency.
Checkout rounding is unavailable
What you see: Enable Rounding Adjustment does not appear.
Fix:
- Open Settings → Essentials → PMS Integration.
- Confirm the active PMS provider.
- AVA and Opera support checkout rounding.
- Cloudbeds, Mews, eZee, and Furama do not currently support it.
- Refresh Settings → Payment after a PMS connection change.
- Contact support if AVA or Opera still hides the control.
Rounding adjustment stays inactive
What you see: Rounding adjustment stays gray, or the saved value does not change payment behavior.
Fix:
- Open Settings → Check-In → Check-In Policy.
- Turn on Check-in outstanding-balance blocking or Checkout balance settlement.
- Save the settings.
- Return to Settings → Payment and confirm the rounding value is still saved.
Still Stuck?
Contact success@vouch-technologies.com if:
- ❌ Payments still fail after re-saving settings
- ❌ Billing view changes do not appear for guests
- ❌ Delayed capture controls stay unavailable for a supported PMS
- ❌ Opera mapping values do not persist
- ❌ Stripe or Red Dot connection repeatedly disconnects
Helpful to include:
- Screenshot of Settings → Payment
- PMS provider name
- Example reservation ID and timestamp