S Spwig Marketplace
Revolut
Payment Provider

Revolut

by Spwig ✓ Verified · v1.4.0
0 installs
Free

Install directly from your Spwig admin → Don't have Spwig yet?

Screenshots

About this component

Accept online payments with Revolut's Merchant API. Support for cards, Revolut Pay, Apple Pay, Google Pay, and Pay by Bank across 30+ currencies.

Versions

v1.4.0
2026-08-07

- Pluggability: implemented get_client_publishable_key() returning the public_key so the platform reads the Checkout Widget key from the provider instead of a hardcoded account-serializer branch.

v1.3.0
2026-08-02

- Subscriptions: added recurring billing support. New subscription_provider.py (RevolutSubscriptionProvider) saves a card via the Merchant API (Customers + saved payment methods) and charges it OFF-SESSION / merchant-initiated each cycle through the platform's fallback billing engine.
- Provider-agnostic reusable-method setup: declares reusable_setup and implements begin_setup() (creates a customer + a $0 order to authorise a card without charging). Checkout handler adds initializeSetup() — the RevolutCheckout card field with savePaymentMethodFor:'merchant'.
- Sets capabilities.features.recurring = true.

v1.2.0
2026-08-01

- SECURITY: Order creation (charge/authorize/checkout) now sends a Revolut-Request-Id idempotency key when the orchestrator supplies an explicit per-attempt id, so a retry after a lost response no longer creates a second payable order (duplicate collection). Refund idempotency is derived from an explicit refund/request id instead of a random UUID, so retries de-duplicate while distinct refunds do not collapse.
- SECURITY: Webhook verification now requires a fresh, parseable Revolut-Request-Timestamp (5-minute window) before comparing the HMAC, defusing replay of captured events.
- authorize() now reports the real mapped order state and only flags success once the order is AUTHORISED, instead of always claiming 'authorized' for a still-PENDING order.
- refund() maps the returned refund/order state instead of hardcoding 'completed', so a pending or later-failing refund is not recorded as completed.
- Minor-unit conversion rounds (ROUND_HALF_UP) instead of truncating, fixing undercharges for amounts with excess precision.

v1.1.3
2026-03-31

# Changelog

## 1.0.0 (2026-02-09)

- Initial release with Revolut Merchant API support
- Card payments (Visa, Mastercard, Amex, Discover, Diners, JCB)
- Digital wallet support (Apple Pay, Google Pay, Revolut Pay)
- Pay by Bank via Open Banking
- Hosted checkout page and integrated checkout widget
- Manual and automatic capture modes
- Full and partial refund support
- Webhook integration with HMAC-SHA256 verification
- 3D Secure authentication
- Multi-currency support (21 currencies)

v1.1.2
2026-03-10

# Changelog

## 1.0.0 (2026-02-09)

- Initial release with Revolut Merchant API support
- Card payments (Visa, Mastercard, Amex, Discover, Diners, JCB)
- Digital wallet support (Apple Pay, Google Pay, Revolut Pay)
- Pay by Bank via Open Banking
- Hosted checkout page and integrated checkout widget
- Manual and automatic capture modes
- Full and partial refund support
- Webhook integration with HMAC-SHA256 verification
- 3D Secure authentication
- Multi-currency support (21 currencies)

v1.0.0
2026-02-09

# Changelog

## 1.0.0 (2026-02-09)

- Initial release with Revolut Merchant API support
- Card payments (Visa, Mastercard, Amex, Discover, Diners, JCB)
- Digital wallet support (Apple Pay, Google Pay, Revolut Pay)
- Pay by Bank via Open Banking
- Hosted checkout page and integrated checkout widget
- Manual and automatic capture modes
- Full and partial refund support
- Webhook integration with HMAC-SHA256 verification
- 3D Secure authentication
- Multi-currency support (21 currencies)

Ready to install Revolut?

Install from your Spwig admin → Marketplace tab. Don't have a Spwig install yet? The commerce platform is free and open source.

Get Spwig → Browse more