Payment method integration options
Learn about the different ways to integrate payment methods with VINR.
Learn about the different ways to integrate payment methods.
You can add or remove payment methods directly from the VINR Dashboard without writing any code. For example, you can turn on payment methods such as Apple Pay, Klarna, iDEAL, and more. See Payment methods overview to learn about all the payment methods your integration can support.
The payment methods you can offer depend on the currency, country, and VINR products you integrate with. Use this guide to make sure your chosen payment methods work for your business and to determine how you want to add payment methods.
Choose your integrationAsk
The table below describes several of the ways you can get started with your integration, including no-code, low-code, and advanced integration paths.
In addition to the paths described below, you can use VINR invoicing to automatically charge your customer's saved payment method or email invoices without writing any code.
| PAYMENT LINKS | HOSTED CHECKOUT | EMBEDDED CHECKOUT | ELEMENTS | ADVANCED INTEGRATION | |
|---|---|---|---|---|---|
| UI | Payment Links | VINR-hosted checkout | Embedded checkout widget | VINR Elements | VINR Elements |
| API | payments.create() | payments.create() | payments.create() | payments.create() | paymentIntents.create() |
| Integration effort | No code required | Low coding | Low coding | More coding | Most coding |
| Hosting | VINR-hosted page | VINR-hosted page | Embed on your site | Embed on your site | Embed on your site |
| UI customization | Limited customization¹ | Limited customization¹ | Limited customization¹ | Extensive customization via Appearance API | Extensive customization via Appearance API |
| PAYMENT METHODS² | |||||
| Dynamically display 40+ payment methods | ✓ Supported | ✓ Supported | ✓ Supported | ✓ Supported | ✓ Supported |
| Manage payment methods in the Dashboard without coding | ✓ Supported | ✓ Supported | ✓ Supported | ✓ Supported | ✓ Supported |
| Wallet payment methods such as Apple Pay and Google Pay | ✓ Supported | ✓ Supported | ✓ Supported³ | ✓ Supported³ | ✓ Supported³ |
| Buy now, pay later such as Klarna and Afterpay | ✓ Supported | ✓ Supported | ✓ Supported | ✓ Supported | ✓ Supported |
| Custom payment methods | — Unsupported | — Unsupported | — Unsupported | — Unsupported | ✓ Supported |
¹ Limited customization provides preset fonts, border radius options, logo and background customization, and a custom button colour.
² For detailed support for each payment method, see Payment methods overview.
³ Wallet payment methods require registering your domain before they appear at checkout.
Payment method supportAsk
Payment methods only support certain currencies, countries, products, and API features. Make sure your chosen payment methods work for your scenario by reviewing the Payment methods overview page.
Add payment methodsAsk
Your customers see the available payment methods during the checkout process. You can either manage payment methods from the Dashboard or list payment methods manually in code. See the Accept a payment guide for detailed steps.
Use dynamic payment methods
VINR dynamically displays the most relevant payment methods to your customers based on the payment method preferences you set in the Dashboard and eligibility factors such as transaction amount, currency, and payment flow. To enable and manage your payment method preferences, go to Dashboard → Settings → Payment methods. VINR enables certain payment methods for you by default and may enable additional payment methods after notifying you.
Unless you have to list payment methods manually, we recommend using dynamic payment methods. Dynamic payment methods automatically determine which payment methods to display based on the rules you configure in the Dashboard.
import { Vinr } from '@vinr/sdk';
const vinr = new Vinr({ secretKey: process.env.VINR_SECRET_KEY });
const paymentIntent = await vinr.paymentIntents.create({
amount: 4900,
currency: 'EUR',
automatic_payment_methods: { enabled: true },
});Manually list payment methods
Listing payment methods manually requires some coding. Every payment method you want to accept must be specified explicitly. Unless your integration requires that you list payment methods manually, we recommend that you manage payment methods from the Dashboard. VINR handles returning eligible payment methods based on factors such as the transaction's amount, currency, and payment flow.
Hosted checkout
import { Vinr } from '@vinr/sdk';
const vinr = new Vinr({ secretKey: process.env.VINR_SECRET_KEY });
const payment = await vinr.payments.create({
amount: 4900,
currency: 'EUR',
description: 'Order #1234',
returnUrl: 'https://yoursite.com/checkout/complete',
paymentMethods: ['bancontact', 'card', 'eps', 'ideal', 'p24', 'sepa_debit'],
});PaymentIntents
import { Vinr } from '@vinr/sdk';
const vinr = new Vinr({ secretKey: process.env.VINR_SECRET_KEY });
const paymentIntent = await vinr.paymentIntents.create({
amount: 4900,
currency: 'EUR',
payment_method_types: ['bancontact', 'card', 'eps', 'ideal', 'p24', 'sepa_debit'],
});When multiple payment methods are specified, VINR dynamically reorders them to prioritise the most relevant options based on the customer's location and other characteristics. Lower priority payment methods are hidden in an overflow menu.
To avoid restricting checkout unnecessarily, prefer dynamic payment methods and manage your method preferences from the Dashboard instead of hard-coding a fixed list.
Last updated on