Stripe Checkout is a payment plugin for VirtueMart. It provides your customers with a streamlined, mobile-ready payment experience. With Stripe Checkout, sensitive cardholder data does not hit your server, greatly minimizing your PCI compliance burden. The following documentation explains the installation steps and configuration options of the Stripe Checkout for VirtueMart plugin.
Installation
You can download the latest installation package from our site's download page for Stripe Checkout. If you have an older version of Joomla! or VirtueMart or PHP please check the system requirement section to find the version of Stripe Checkout compatible with your Joomla!, VirtueMart and PHP versions.
You can install the installation package of the plugin directly through Joomla Extension Installer. It can also be used to upgrade/update the plugin; just install it without uninstalling the previous release.
Uninstallation
You can uninstall the plugin just like any other Joomla! extensions. In your site's back-end, just go to Extensions Manager, navigate to Uninstall menu, select Stripe Checkout for VirtueMart and click on Uninstall. This will completely remove plugin including all database information.
Configuration
Once the install is completed, you can configure Stripe Checkout payment method in VirtueMart's Payment Methods section just like any other standard payment methods. Click on New button located at the toolbar. In next screen, give a valid name to the payment method and select Stripe Checkout for VirtueMart as the Payment Method. Click on Save button. Once the page reloads, click on Configuration tab. Here you have to provide the required configuration information before the payment method can be made in use.

Live Update
Download Key
Add your VirtuePlanet download key to receive live updates. The plugin will contact VirtuePlanet's server to validate your entered download key.
Required Parameters
Stripe Checkout Mode
Select the Stripe Checkout mode. Latest mode is recommended. If you are using Legacy mode we strongly recommend that you change it to latest mode which is SCA-Ready and Dynamic 3D Secured. Latest mode also supports Apple Pay, Google Pay, Afterpay and Clearpay, Alipay, Bacs Direct Debit, Bancontact, Boleto, Cards, EPS, FPX, GrabPay, Klarna, OXXO, Pre-authorized debits in Canada (PAD), Przelewy24, SEPA Direct Debit, Sofort, WeChat Pay, giropay and iDEAL payment methods.
Method
If direct Capture, the payment will be captured directly. If Authorise and Capture Later, the payment will be authorised against payment confirmation which can be be captured manually from order details page within 7 days from the date of authorisation. See the below order details page screenshot for reference:
Webhook
The plugin updates the order status using webhook. Webhooks are configured in the Stripe Dashboard's Webhooks settings section. Use the following URL in the Stripe Webhooks settings. Webhook endpoints are configured in the Dashboard’s Webhooks settings page - dashboard.stripe.com/webhooks.
You can automatically create the webhook with correct settings by clicking on the "Create Webhook" button. You must enter a valid pair of Publishable Key and Secret Key and save the payment method settings to see this button. Similarly, the webhook can be rebuilt by clicking on the "Rebuild Webhook" button.

You can also capture the authorised payment from your Stripe Account Dashboard.
Payment Mode
Set your desired payment mode. Use Test for testing.
Stripe - Publishable Key
Add your Stripe Publishable API key.
Stripe - Secret Key
Add your Stripe Secret API key.
Webhook Signing Secret
You need to add the webhook endpoint to your Stripe account to allow Stripe to update the order status after payment. Webhook endpoints are configured in the Dashboard's Webhooks settings page. In the Dashboard's Webhooks settings section, click Add endpoint to reveal a form to add a new endpoint for receiving events. Copy the Endpoint URL displayed in the payment method settings and enter the same as as the destination for events. You can choose to be notified of all event types, or only specific ones displayed in the payment method settings. After selecting events click on Add enpoint confirm button. When saved click on the newly created Endpoint URL and scroll down to see the Signing secret. Click on Click to reveal button to see the Signing secret. Copy the same and paste in the Webhook Signing Secret field in the payment method settings.
Layout
Logos
Select the images to be displayed with the payment method name. Image Path: images/virtuemart/payment/
Stripe Checkout Options

These parameters are completely optional. You can configure them to fine tune checkout experience.
Manage Payment Methods in Stripe Account Applicable only for Latest Stripe Checkout Mode
If yes, you will manage the accepted payment method types in your Stripe account (dashboard.stripe.com/test/settings/payment_methods) instead of configuring them in the VirtueMart payment method settings.
Accepted Payment Method Types Applicable only for Latest Stripe Checkout Mode
A list of the types of payment methods this Checkout session can accept. Default is Cards which accepts credit cards and debits cards. Cards payment also supports Google Pay and Apple Pay based on your Stripe account settings. Optionally, you can also select to accept - ACH Direct Debit, Affirm, Afterpay and Clearpay, Alipay, BECS Direct Debit, BLIK, Bacs Direct Debit, Bancontact, Boleto, Cash App Pay, Customer's cash balance, EPS, FPX, GrabPay, Interac, Klarna, Konbini, Link, OXXO, PayNow, PayPal, Pix, Pre-authorized debits in Canada (PAD), PromptPay, Przelewy24, SEPA Direct Debit, Sofort, WeChat Pay, Zip, giropay, and iDEAL.
Read more about the supported payment methods and their requirements in Stripe payment method details guide - https://stripe.com/docs/payments/payment-methods/integration-options.
If multiple payment methods are passed, Stripe Checkout will dynamically reorder them to prioritize the most relevant payment methods based on the customer’s location and other characteristics.
Prefill Customer Email Address Applicable only for Latest Stripe Checkout Mode
If yes, customer email address is passed from the order information and prefilled in Stripe Checkout page.
Remember Customers Applicable only for Latest Stripe Checkout Mode
If yes, all customers are remembered and reused by the Stripe Checkout system. If registered only, only registered users are remembered.
Show Customer Portal Link Applicable only for Latest Stripe Checkout Mode
Show custom portal link to the saved customers. You must also enable the Remember Customers option to save the customer information. If you want to automatically the card details to customer portal please set the Future Usage option as on_session
. Please note that on_session
mode may not supported by other payment methods. In that case, you will need to create separate payment methods in VirtueMart with separate configurations.
Future Usage Applicable only for Latest Stripe Checkout Mode
Use on_session
if you intend to only reuse the payment method when your customer is present in your checkout flow. Use off_session
if your customer may or may not be in your checkout flow. If dynamic
, Stripe uses it to dynamically optimize your payment flow and comply with regional legislation and network rules.
Show Product Information Applicable only for Latest Stripe Checkout Mode
If yes, product name, variant and quantity are shown in Stripe Checkout payment page.
Show First Product Image Applicable only for Latest Stripe Checkout Mode
If yes, image of the first product in cart is shown in Stripe Checkout payment page. Your site must use using latest SSL to use this feature.
Pass Order Info to Payment Intent Applicable only for Latest Stripe Checkout Mode
If yes, order information is passed to Payment Intent description.
Shop Name Applicable only for Legacy Stripe Checkout Mode
Shop name is displayed at the top of the Stripe checkout form. If empty, it will show the shop name maintained in VirtueMart's shop settings.
Shop Logo Applicable only for Legacy Stripe Checkout Mode
A square image of your brand or product. The recommended minimum size is 128x128px. The supported image types are: .gif, .jpeg, and .png. Your site must have modern SSL certificate (e.g., TLS 1.2) installed to use this feature.
Payment Button Label Applicable only for Legacy Stripe Checkout Mode
The label of the payment button in the Checkout form (e.g., Subscribe, Pay {{amount}}, etc.). If you include {{amount}} in the label value, it will be replaced by a localized version of amount. Otherwise, a localized amount will be appended to the end of your label. You can also use Joomla language constant if you want.
Show Product Count Applicable only for Legacy Stripe Checkout Mode
If yes, the total product count is displayed below the shop name in Stripe checkout form.
Validate Zip Code Applicable only for Legacy Stripe Checkout Mode
Specify whether Stripe Checkout should validate the billing ZIP code. The default is no, but we highly recommend setting to true and enabling declines on verification failures in your account settings - https://dashboard.stripe.com/account
Collect Billing Address Applicable only for Legacy Stripe Checkout Mode
Specify whether Checkout should collect the user's billing address. The default is no. Collected billing address can be seen in backend order details under payment information.
Allow Remember Me Applicable only for Legacy Stripe Checkout Mode
Specify whether to include the option to Remember Me for future purchases. The default is yes. This feature is dependent on being able to set cookies or use the browser’s localStorage, and may not be available if your customer has certain privacy settings enabled.
Send Email Receipt Applicable only for Legacy Stripe Checkout Mode
The email address used is the Billing Address email (BT). The receipt will not be sent until the charge is paid. If this option is enabled for a charge in live mode, a receipt will be sent regardless of your email settings. For more details, please check https://support.stripe.com/questions/email-receipts
Automatic Refund
If yes, Stripe transaction is automatically refunded when order status is changed to Refunded Transactions status in your site.
Currencies

Payment Currency
Select the payment currency for this payment method.
Order Status
Pending Transactions
Select the oder status for pending Stripe transactions.
Successful Transactions
Select the oder status for successful Stripe transactions.
Refunded Transactions
Select the oder status for refunded Stripe transactions.
Partially Refunded Transactions
Select the oder status for partially refunded Stripe transactions.
Failed Transactions
Select the oder status for failed Stripe transactions.
Restrictions

Countries
Select the countries for which this payment method applies. If no country is selected, this payment method will be applied for all countries.
Minimum Amount
Minimum Order Amount to offer this Payment.
Maximum Amount
Maximum Order Amount to offer this Payment.
Publish Start
Select a date to start offering this payment method. Leave empty to skip restriction.
Publish End
Select a date to start offering this payment method. Leave empty to skip restriction.

If you are using VirtueMart 3.8.0 or above, you will also find the following core VirtueMart restriction options in the payment method settings.
Fees & Discounts
Fee per Transaction
Flat amount to be applied per transaction. Negative amount can be set for discount.
Percent of the Total Product Amount
Percent to be applied on the total product amount. Shipment cost are not included.
Tax
Select the Tax Rule to be applied on the fees.