Skip to main content

Payment Gateway Integration

Quick Setup

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 → Payment

Quick Reference

Setting AreaWhat It ControlsMain Outcome
Billing ViewDetailed or simplified guest billing summaryShows itemized rows or a shorter summary
Payment Gateway IntegrationStripe or Red Dot setupGuests can pay in kiosk flows
Stripe EnvironmentLive or Test mode for Stripe gateway and terminal connectionsLocks after connection
Manual Stripe Test CredentialsTest-only Stripe keys on the gateway and terminal cardsSaves gateway and terminal Stripe settings separately
Terminal Payment ConfigurationStripe terminal API key, publishable key, and webhook secretSaves terminal credentials separately from gateway Stripe
Payment Collection ModeDeposit and full payment togglesControls what guests pay at check-in
Accommodation Charge PoliciesMatching values that waive or hide accommodation chargesControls accommodation rows and the payable amount when your PMS supports the capability
AVA Billing RulesPMS hide and waive signals for room, tax, deposit, and incidental rowsShows hidden rows as , keeps the payable total numeric, and preserves payable extras
Property Currency (in Settings → Essentials)Resolved currency for deposits and reservation payment displayKeeps payment amounts consistent across settings and operations
Deposit CurrencyCurrency used for deposit amounts on this pageSaves with your other payment settings
Opera Payment MappingSettlement, cashier, and payment type mappingYour PMS receives payment postings correctly
Checkout Rounding AdjustmentSmall-balance tolerance and checkout adjustmentSupported PMS providers can complete checkout with a small balance
Pre-Authorization ControlsDelayed room-rate capture from Stripe pre-authorizationsAppears when your active PMS supports delayed capture
Opera-Specific Payment ControlsCheck-out verification, routing, and no-collect logicOpera-specific payment behavior is enforced
Rounding dependency

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.

Capability-based controls

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

  1. Go to Settings → Payment.
  2. In Payment Gateway Integration, select Stripe or Red Dot Payment.

For Stripe

  1. Open Advanced.
  2. Choose Live or Test.
  3. Click Connect Stripe.
  4. Finish Stripe onboarding.
  5. Return to Streamliner and confirm Stripe is connected.
Stripe mode

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.

  1. Open the Stripe card you want to edit.
  2. Enter the Publishable Key, Secret Key, and Webhook Secret.
  3. Use test-only keys for that card.
  4. Click Save.
  5. If the fields are masked later, click Save again without retyping them.
Separate Stripe cards

Gateway Stripe credentials save on the payment gateway card. Terminal Stripe credentials save on the terminal configuration card. Keep gateway and terminal keys separate.

Terminal checkout

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

  1. Enter Merchant ID.
  2. Enter Secret Key.
  3. Select Environment (TEST or LIVE).
  4. 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.

  1. Go to Settings → Payment.
  2. In Billing View, choose Detailed or Simplified.
  3. Click Save.
Billing view placement

This card appears before Terminal Payment Configuration on the payment page.

Step 3: Choose Payment Collection Options

ToggleWhat It Does
Collect Security DepositsPre-authorizes a deposit during check-in
Collect Full PaymentGuests pay outstanding balance during check-in
  1. Turn on one or both toggles.
  2. If both are off, check-in does not request payment.
  3. Click Save Payment Gateway Settings.

Step 4: Configure Deposit Details (If Enabled)

  1. Enter Deposit Amount.
  2. Choose Deposit Type (per night or flat amount).
  3. If you see Deposit Currency, choose the currency your hotel uses for deposits.
  4. Click Save Payment Gateway Settings.
Deposit currency source

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.

ControlWhat it does
Waive Accommodation ChargesDoes not collect accommodation charges, related taxes, or service charges. These rows remain visible.
Hide and Waive Accommodation ChargesHides 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.

  1. Go to Settings → Payment.
  2. Find Payment Policy Controls → Accommodation Charge Policies.
  3. Add each matching value from your PMS to the appropriate list.
  4. Click Save Payment Policies.
  5. Test a reservation that matches the configured value.
Capability-based visibility

AVA shows these controls only when the active PMS exposes the required capability. Existing values remain stored when the controls are temporarily unavailable.

Opera source labels

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.
Capability-gated rollout

If your PMS does not support AVA billing rules, AVA keeps the normal payment summary.

  1. Open a reservation that uses the PMS billing rule.
  2. Refresh the reservation in AVA.
  3. Compare the visible rows with the payable balance.
  4. Test again after the PMS sync completes.

Step 5: Configure PMS Payment Mapping (When Supported)

  1. In Opera PMS Payment Mapping, set:
    • Settlement Code
    • Default Cashier ID
    • Default Comment Type / Location
    • Payment Type to Payment Method Code rows
  2. Click Save Opera Payment Mapping.
How mapping rows work

Each row links one payment method to one PMS payment method code. AVA saves these rows with your other payment settings.

Opera payment comment defaults

AVA sends your configured Default Comment Type / Location when it creates Opera payment or deposit comments. Save the mapping again after changing this value.

Capability-based availability

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 providerSupportAdditional setup
AVASupportedNo vendor code required
Opera / OHIPSupportedSave the vendor code in Transaction Code (Rounding)
Cloudbeds, Mews, eZee, and FuramaNot supportedThe control stays hidden
  1. Go to Settings → Check-In → Check-In Policy.

  2. Turn on Check-in outstanding-balance blocking or Checkout balance settlement.

  3. Go to Settings → Payment.

  4. Find Payment Policy Controls.

  5. Turn on Enable Rounding Adjustment.

  6. Set Rounding Threshold in your property's default currency.

  7. If you use Opera, enter the vendor code in Transaction Code (Rounding).

  8. Click Save Payment Policies.

    ✓ AVA applies the adjustment during checkout when the balance is within your threshold.

How the adjustment works

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.

SettingWhat it does
Enable Auto Delay CaptureAutomatically captures the room rate before pre-authorization expiry
Auto Delay Capture Expiry DaysSets how many days before expiry AVA captures the room rate
  1. Go to Settings → Payment.

  2. Find Payment Policy Controls → Pre-Authorization Controls.

  3. Turn on Enable Auto Delay Capture.

  4. Enter Auto Delay Capture Expiry Days.

  5. Click Save Payment Policies.

    ✓ AVA captures the room rate before expiry when the pre-authorization remains valid.

Capability-based visibility

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.

PMS changes can clear this setting

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)

  1. Go to Settings → Payment.

  2. Find Opera-Specific Payment Controls.

  3. Set payment behavior:

    • In-house invoice access and birthdate verification for check-out
    • Ignore Waive Payment Routing behavior
  4. In Do Not Collect Any Incidental / Deposit, add each matching rate code, market segment, guarantee type, or comment.

  5. Click Save Payment Policies.

    ✓ Matching incidental or deposit rows are removed from the payable balance.

Opera payment comments

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.

  1. Go to Settings → Check-In → Check-In Policy.

  2. Turn on Check-in outstanding-balance blocking or Checkout balance settlement.

  3. Return to Settings → Payment.

  4. Open Payment Policy Controls and set Enable Rounding Adjustment.

    ✓ AVA applies the rounding setting only when one of those policies is on.

Saved value stays put

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
Migration Note

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:

  1. Confirm your account has settings write access.
  2. Connect Stripe first if Stripe is selected.
  3. Refresh the page and retry.

Billing view does not change

What you see: Guests still see the old billing summary layout.

Fix:

  1. Return to Settings → Payment.
  2. Re-select Detailed or Simplified.
  3. Click Save on the Billing View card.
  4. Start a new guest flow or refresh the reservation screen.
  5. 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:

  1. Disconnect Stripe.
  2. Open Advanced.
  3. Choose Live or Test.
  4. 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:

  1. Confirm you are editing the right Stripe card.
  2. Gateway and terminal credentials save separately.
  3. Use test-only values for manual Stripe setup.
  4. Make sure the secret key starts with sk_test_.
  5. Make sure the publishable key starts with pk_test_.
  6. Save the settings again.
  7. 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:

  1. Refresh Settings → Payment.
  2. Confirm your hotel is in the manual Stripe test credential rollout.
  3. 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:

  1. Open Settings → Essentials → PMS Integration.
  2. Confirm the active PMS is correct.
  3. Return to Settings → Payment.
  4. Refresh the page once.
  5. Ask an administrator to confirm the PMS capability is enabled.
PMS payment mapping

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:

  1. Open Settings → Essentials → PMS Integration.
  2. Confirm the correct PMS is active.
  3. Refresh Settings → Payment after changing PMS connections.
  4. 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:

  1. Confirm the active PMS supports delayed capture.
  2. Turn off Auto Delay Capture if you changed PMS providers.
  3. Save the payment settings.
  4. 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:

  1. Open Settings → Essentials → PMS Integration.
  2. Confirm the correct PMS is active and reports payment mapping support.
  3. Return to Settings → Payment.
  4. Re-enter Default Cashier ID and each mapping row.
  5. 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:

  1. Check Property Currency in Settings → Essentials → Hotel Basic Details.
  2. Make sure the Opera reservation uses the same currency.
  3. Retry the payment or deposit.
  4. 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:

  1. Confirm the payment or deposit finished successfully in Streamliner.
  2. Check that the Opera reservation has a matching payment record.
  3. Confirm Default Comment Type / Location is set in Opera PMS Payment Mapping.
  4. Do not retry only to recreate the comment.
  5. 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:

  1. Open Settings → Payment.
  2. Check Opera PMS Payment Mapping.
  3. Verify Default Comment Type / Location.
  4. Save the mapping again.
  5. 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:

  1. Open the reservation in your PMS.
  2. Check the reservation comment, source name, and Opera travel-agent label.
  3. Remove or change the matching value if the reservation should not be waived.
  4. 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:

  1. Confirm your PMS provider supports accommodation payment policies.
  2. Refresh Settings → Payment.
  3. If the controls still do not appear, AVA does not have support data for that PMS yet.
  4. 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:

  1. Confirm the reservation comes from a PMS that supports AVA billing rules.
  2. If you use Opera, wait for the next reservation sync.
  3. Refresh Settings → Payment or reopen the reservation.
  4. 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:

  1. Open the reservation through Staff Access.
  2. Review the reservation rate, included products, and complete invoice in Mews.
  3. Confirm the reservation matches the configured accommodation policy.
  4. Refresh the reservation in AVA.
  5. Do not collect an unverified amount.
  6. 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:

  1. Review the Mews rate, included products, and complete invoice.
  2. Confirm the matching value in Accommodation Charge Policies.
  3. Refresh the reservation after Mews finishes syncing.
  4. Confirm the payable amount with the complete Mews invoice.
  5. 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:

  1. Confirm a gateway is connected.
  2. Confirm Collect Security Deposits or Collect Full Payment is enabled.
  3. Confirm the reservation has a balance due.
  4. 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:

  1. Open Settings → Essentials → Hotel Basic Details.
  2. Check whether Property Currency is PMS-managed or editable.
  3. If PMS-managed, update currency in PMS and wait for sync.
  4. Refresh Settings → Payment and verify the currency.

Checkout rounding is unavailable

What you see: Enable Rounding Adjustment does not appear.

Fix:

  1. Open Settings → Essentials → PMS Integration.
  2. Confirm the active PMS provider.
  3. AVA and Opera support checkout rounding.
  4. Cloudbeds, Mews, eZee, and Furama do not currently support it.
  5. Refresh Settings → Payment after a PMS connection change.
  6. 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:

  1. Open Settings → Check-In → Check-In Policy.
  2. Turn on Check-in outstanding-balance blocking or Checkout balance settlement.
  3. Save the settings.
  4. 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