Stripe

Stripe payment gateway integration supporting credit cards, digital wallets, 3DS authentication, bank transfers, and buy-now-pay-later options for comprehensive payment processing.

Supported Functionality

FeatureSupported
Authorization
Capture
Refund
Card Tokenization
Digital Wallet
3D Secure✅ (via Stripe only)
$0 Transactions
ACH

Supported Payment Methods

Credit Card
Apple Pay
Google Pay
After Pay
Klarna
Stripe Bank Transfer
Payment Token


Adding an Stripe Merchant

To connect a Merchant using they Stripe Gateway,

  1. First add Merchant
  2. Select Stripe as the Gateway
  3. Add Gateway Details as outlined below

Gateway Details

Description

Merchant Payment Methods*

The types of payment methods this merchant accepts.

This will include digital wallet options - Apple Pay & Google Pay

Merchant Card Types*

Card types to be accepted on this Merchant

Merchant Default Currency*

Default currency that will be used, if currency is not specified

Merchant Currencies*

All currencies accepted on this merchant

Bypass $0 Transaction Authorizations

Check this box to bypass Stripe entirely for $0 credit card transactions — the customer and payment token will not be stored. When unchecked, Stripe will validate and store the customer and payment token for future use without attempting a charge. Other payment methods (Apple Pay, Google Pay, etc.) will always validate and store the customer and payment token without attempting a charge. This setting only applies to initial transactions — $0 renewals will always bypass the gateway. Learn more about $0.00 transaction handling.

*Required

  1. Once you hit Submit, you will be redirect to Stripe to log into your account and grant permissions for Vrio to access your account.

  2. Once complete, you will be redirected back to Vrio and your Stripe account will be ready. Some additional gateway settings that you can use are as follows.


    Gateway Details

    Description

    Decline Status: Requires Action

    In some cases Stripe will return the status of requires_action. This typically is related to 3DS configured in Stripe or if you are using a Bank Transfer, Klarna or Afterpay. Our API will return a response_code=101 in these cases.

    Click here for more information on how to handle this response from Stripe.

    Check this box if you would like Stripe to decline the charge when the status returned is requires_action.

    Note: For renewal transactions (merchant-initiated / MIT), Vrio will automatically decline on requires_action regardless of this setting, since there is no customer present to complete the authentication.

    Domain Association File

    Stripe domain association file (for apple pay)


Payment Method Configuration

Important: payment_method_types vs automatic_payment_methods

Vrio's Stripe integration always uses explicit payment_method_types (e.g. ['card']) when creating Payment Intents via the Stripe API — it does not use automatic_payment_methods. Your frontend Stripe.js / Elements integration must match this by passing paymentMethodTypes: ['card'] when initializing stripe.elements(). The Stripe API (server-side) uses snake_case (payment_method_types), while Stripe.js (client-side) uses camelCase (paymentMethodTypes) — both refer to the same setting.



If your frontend collects payment details using automatic_payment_methods but Vrio confirms the Payment Intent with explicit payment_method_types, Stripe will reject the request with:



"Payment details were collected through Stripe Elements using automatic payment methods and cannot be confirmed through the API configured with payment_method_types or allowed_payment_method_types."

To fix this: Update your stripe.elements() initialization to use paymentMethodTypes: ['card'] instead of relying on automatic payment methods. See our Payment Tokens and Apple Pay / Google Pay guides for correct examples.


Declines

https://stripe.com/resources/more/a-complete-list-of-decline-codes

Testing

To create a sandbox Stripe merchant in Vrio, you first need to create your live merchant. Once complete, navigate to your live merchant in the top right click on the Options button and click Create Sandbox. Once complete, all transactions that run through this merchant will go into your live accounts Test Mode section.







Note : Placing test orders with a Stripe sandbox account or using Stripe test cards will not automatically set the order as a test in Vrio. Be sure to flag the order as a test using the is_test flag after the order is processed. For more details on placing test orders, click here.

For Stripe test cards, check here