Subscriptions for Stripe

Stripe supports recurring payments and volume pricing. Volume pricing allows you to offer lower prices to customers who buy a larger quantity of your goods.

Taxamo Assure by Vertex facilitates this by allowing you to integrate with your Stripe account. To do so, you need to use the Checkout Form.

For more information about how Stripe models this, see Recurring Pricing Models in the Stripe documentation.

Prerequisites

To enable the integration, you need to contact support.

Setting up the Integration

To set up the integration, complete the following steps:

  1. Go to Checkout Settings. Click Connect Stripe account.

  1. Verify that the connection is working. If it is, you will see the text stating this.

  1. Next, you need to verify the connection in Stripe. Log in to Stripe. You can view the status under Connect Extensions.

  1. To create the Stripe subscription plan, while in Test mode, go to Product > Create. Ensure that Volume pricing is selected from the Pricing model list. Select a billing period and enter the price. You also need to select the This is default price box

  2. Test the integration in your checkout. You can use the following code:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Stripe seats test</title>
</head>
<body>

<script type="text/javascript" src="https://api.taxamo.com/js/v1/taxamo.all.js"></script>
<script type="text/javascript">
    // Use Taxamo's v2 Checkout API
    Taxamo.options.checkoutSrc = "https://p.taxamo.com";

    // Checkout must be initialized with your public API key
    Taxamo.initialize('<put your public API token here>');

    // A transaction is required to set up the form
    var transaction = {
        buyer_name: "John Test",
        buyer_email: "",
        custom_fields: [{
            key: "taxed-plan-id",
            value: "<put your plan id here >"
        },
        {
            key: "subscription-plan-quantity",
            value: 2
        }]
    };

    var metadata = {
        subscription_mode: true,
        default_payment_provider: 'stripe',
        allowed_payment_providers: 'stripe',
        finished_redirect_url: self.location.href
    };
    var checkout = new Taxamo.Checkout(transaction, metadata);
    checkout.overlay(function (data) { // you can also use .redirect() here
        alert('callbackhandler:' + JSON.stringify(data, null, '\t'));
    });
</script>
</body>
</html>
  1. Verify that the transactions exist in the Stripe logs. For example:

  1. Verify that the same transactions exist in your Vertex dashboard. For example:

Sample Invoice