If you are contemplating migrating out of Piano.io, we can help.
Migrating out of any similar SaaS-based subscription software system will result in more control over your data, give you more flexibility with your subscription strategy, and most importantly better subscriber retention.
Oh, and it will likely cost less.
The biggest downside of running a Saas based subscription system
Proprietary closed-source subscription systems are generally not built with the publishers best interests in mind.
Here’s the rub: Most payment intents/processing are controlled by the platform (such as Piano.io) instead of creating native Stripe subscriptions and letting Stripe manage the subscriptions. Even Piano cannot compete with how well Stripe handles bad credit cards/updates AND Stripe’s growing marketplace ecosystem of solutions (such as churn mitigation) that plug easily into Stripe subscriptions.
In order to take advantage of Stripe’s subscription processing and marketplace you need to migrate your current Piano payment intents into a platform (such as Leaky Paywall, a Stripe Verified partner) that uses Stripe native subscriptions.
If you need help with a migration we do offer an automated service. For more info get in touch below.
This article assumes that you are using Stripe with your Piano.io account and that Leaky Paywall has been set up on your site.
Step 1: Exporting subscriber data
Since Piano is the source of truth for your recurring subscription data, we need to export the subscriber data. Export your active subscriptions out of Piano.io by going to Reports -> Logs -> Subscription
Step 2: Mapping your data
Prepare your Piano.io subscription data by mapping the CSV fields/values with Leaky Paywall. Use WP All Import to import your active subscribers into Leaky Paywall. Piano does not include the subscriber_id (Stripe ID) in the export. But don’t worry, there’s no need to import the subscriber_id at this point. These 3 meta keys should always be set to these values:
_issuem_leaky_paywall_live_payment_gateway = stripe
_issuem_leaky_paywall_live_payment_status = active
_issuem_leaky_paywall_live_plan = recurring
Step 3: Creating native Stripe subscriptions
Now that we have everyone imported to Leaky Paywall, we will need to create a Stripe subscription for each subscriber. This can be done manually in your Stripe dashboard or automated for larger subscriber lists.
Since Piano does not use Stripe Subscriptions directly (Piano creates the payment intent in Stripe), we will need to create a new subscription for each user we just imported. The expiration date from Piano will be the new start date for the Stripe subscription. Set proration to off.
In addition, we will need to copy the customer ID in Stripe and save it to the corresponding subscriber in Leaky Paywall. Once the new subscription is created for a subscriber in Stripe, edit the Leaky Paywall subscriber and copy the customer ID from Stripe into the Subscriber ID field.
Step 4: Setting up webhooks in Stripe
Don’t forget to set up webhooks in Stripe that point to your Leaky Paywall webhook URL. This will ensure that future recurring payments get updated properly in your Leaky Paywall user table. In Stripe, add webhooks to receive data when a recurring payment is attempted by Stripe. This is needed in order to ensure Leaky Paywall knows when a new payment has been made. See this help doc for more information.
Migrating out of platform such as Piano.io is not only possible but also seamless as you can recreate the subscriptions in Stripe and attach them to your new Leaky Paywall subscribers. Stripe and Leaky Paywall work seamlessly together to give you total control over your subscriber data and access to the Stripe marketplace of additional publisher solutions.
We have automated this process for publishers coming from Piano and can assist you if you would like to get in touch.