Set up a subscription with Revolut Pay
Learn how to create and charge for a subscription with Revolut Pay.
Use this guide to set up a subscription using Revolut Pay as a payment method.
Create and confirm a subscription using two API calls. The first API call uses the Setup Intents API to set Revolut Pay as a payment method. The second API call sends customer, product, and payment method information to the Subscriptions API to create a Subscription and confirm a payment in one call.
Create a product and priceDashboard
Products represent the item or service you’re selling. Prices define how much and how frequently you charge for a product. This includes how much the product costs, what currency you accept, and whether it’s a one-off or recurring charge. If you only have a few products and prices, create and manage them in the Dashboard.
This guide uses a stock photo service as an example and charges customers a 15 GBP monthly subscription. To model this:
- Go to the Products page and click Create product.
- Enter a Name for the product. You can optionally add a Description and upload an image of the product.
- Select a Product tax code. Learn more about product tax codes.
- Select Recurring. Then enter 15 for the price and select GBP as the currency.
- Choose whether to Include tax in price. You can either use the default value from your tax settings or set the value manually. In this example, select Auto.
- Select Monthly for the Billing period.
- Click More pricing options. Then select Flat rate as the pricing model for this example. Learn more about flat rate and other pricing models.
- Add an internal Price description and Lookup key to organise, query and update specific prices in the future.
- Click Next. Then click Add product.
After you create the product and the price, record the price ID so you can use it in subsequent steps. The pricing page displays the ID and it looks similar to this: price_
.
Create a SetupIntentServer-side
Create a SetupIntent to save a customer’s payment method for future payments. The SetupIntent
tracks the steps of this setup process.
The SetupIntent object contains a client_
, which is a unique key that you must pass to Stripe.js on the client side to redirect your buyer to Revolut Pay and authorise the mandate.
Create a subscriptionServer-side
Create a subscription that has a price and a customer. Set the value of the default_
parameter to the PaymentMethod ID from the SetupIntent response.
Creating subscriptions automatically charges customers due to the pre-set default payment method. After a successful payment, the status in the Stripe Dashboard changes to Active. The price that you previously set up determines the amount for future billings. Learn how to create a subscription with a free trial period.