In the case of subscriptions, plans should be defined with Stripe and referenced in Taxamo as described below. PayPal recurring payments can be launched using Stripe plan data as well.

PayPal integration requires the IPN endpoint configured as usual. Stripe webhooks are set up directly by Taxamo, so there is no additional action necessary.

It is possible, with both Stripe and PayPal, to tax the same amount for the subscription and add tax to the price based on the customer’s assigned VAT rate.

With Stripe subscriptions the total amount (base amount + tax) can increase or decrease when the tax rate changes.

With PayPal the total amount will remain the same, but it will adjust for the tax amount calculated.

Pre-defined products

The simplest way to launch the Taxamo Checkout Form, so each product has a unique checkout link, is to declare product definitions in the Taxamo Merchant Portal and then copy-and-paste links or HTML code used for launching.

Example product link:


Please note that only Taxamo.Checkout(), Taxamo.Product() and Taxamo.CheckoutJWT() functions can be used with Taxamo - Taxamo.doSubscriptionCheckout and Taxamo.performCheckout should not be used.


The Taxamo Checkout Form can also be launched with Taxamo.js. This method is more appropriate when you have a larger mix of products and your customers checkout with a basket of products.

In case of a subscription between Taxamo and the customer, for example a delegated sale, the transaction key returned will belong to Taxamo’s transaction. It can be easily fetched using the Taxamo API.

Try it here (the JavaScript code below can be modified to your liking):

Did this page help you?