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
Void
Card Tokenization
Dynamic Merchant Descriptors
Bank Transfer
3D SecureGateway-managed
$0 Transactions

Setup

To connect a Merchant using the Stripe Gateway,

  1. First add Merchant
  2. Select Stripe as the Gateway
  3. Add Gateway Details as outlined below
Gateway DetailsDescription
Merchant Payment Methods*The types of payment methods this merchant accepts — credit card and digital wallets.
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 AuthorizationsCheck 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.
  1. Once you hit Submit, you will be redirected to Stripe to log into your account and grant Vrio permission to access it. When you are returned to Vrio the merchant is ready, and one further setting becomes available.
Gateway DetailsDescription
Decline Status: Requires ActionIn 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.

*Required

Supported Payment Methods

Credit Card
Apple Pay
Google Pay
After Pay
Klarna
Stripe Bank Transfer
Payment Token (Card, Link, Amazon Pay)

Card Tokenization

Charges made with card data ask Stripe to save the card. Vrio stores the returned customer and payment method and reuses them for every renewal.

Dynamic Merchant Descriptors

Vrio does not send a descriptor to Stripe with the charge, so the customer's statement shows whatever is configured on your Stripe account.

3D Secure

Stripe authenticates the cardholder itself and returns a 101 when further action is required. Authentication values generated with a third party provider are not sent to Stripe. See Handling 101 Response Codes.

Common Errors

Vrio's Stripe integration always uses explicit payment_method_types (for example ['card']) when creating Payment Intents. It does not use automatic_payment_methods.

Your frontend Stripe.js or Elements integration must match, by passing paymentMethodTypes: ['card'] when initializing stripe.elements(). The server-side API uses snake_case and Stripe.js uses camelCase, but both refer to the same setting.

If the frontend collects payment details with automatic_payment_methods while Vrio confirms the Payment Intent with explicit payment_method_types, Stripe rejects the request:

"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."

Update the stripe.elements() initialization to use paymentMethodTypes: ['card']. See Payment Tokens and Apple Pay / Google Pay for working examples.

Testing

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.

To create a sandbox Stripe merchant in Vrio, first create your live merchant. Then open that merchant, click Options and choose Create Sandbox. Transactions run through it land in your live account's Test Mode section.

For Stripe test cards, check here.


Did this page help you?