I’m writing this post because Black Friday is just around the corner. I don’t have any promotions planned for that day. Why? This is a topic for another post. But since I sell my online courses only twice a year, this will be my Black Friday offer: another (third) opportunity to buy. And for that, I have created an automation that disables payment links on a specific day and time when my Black Friday offer is over.
I use Stripe to receive payments. To be more precise, I use Stripe Payment Links which allow me to generate payment pages for each product I sell. This way, I don’t have to worry about responsiveness and if my page is fast enough. You can find more about Stripe Payment Links and how to create them in this post.
Again, I used Zapier to schedule and set up an automation that does all the work for me. Zapier has direct integration with Stripe, including changes to payment links. Unfortunately, this won’t work with payment links created directly in Stripe or by API. That’s why I will show you how to do it another way.
Disable payments on a specific day
Let’s start with scheduling the scenario. We want to run it only once on a specific day and time. We can use the “Schedule by Zapier” trigger.
Technically, we can’t schedule it to run only once. But we can set it up to schedule every month and then remember to turn it off before it runs again next month. It’s not ideal, but I haven’t found a better and more precise way to schedule an action.
Now we have to choose the day and time we want the workflow to be triggered. You can select the time from the dropdown or type your own.
Now click “Continue” and test the trigger. Now we are ready to add an Action. Choose “Webhooks by Zapier” as an app and “POST” as an event.
Click “Continue.” Now we have to do some things that might not be clear to you. We will use Stripe API to deactivate the specific payment link. Just do what I do, and everything will be fine.
First, go to Stripe for details on the payment link we want to disable. What we are interested in is what you can see in the URL. We need to copy “plink_” with everything that follows. It’s your payment link id.
Now go back to Zapier and use it as a part of the URL field. It has to look like this: https://api.stripe.com/v1/payment_links/<your_payment_link_id>
Now in “Payload Type,” choose “form,” and in “Data,” the key is “active,” and the value is “false.”
One last thing we have to do is to generate an API key in Stripe to authenticate.
Stripe API key
To get generate Stripe API key go here: https://dashboard.stripe.com/apikeys and click “Create secret key”. Choose a name, for example, “Zapier” and then copy the generated key you can see in the window. Warning: after you close the window, you won’t be able to see the key again. Click “Done”.
Go back to Zapier, and in the “Headers” section, add the key “Authorization.” In the value field, type “Bearer,” followed by the API key we generated.
Now click “Continue” and test the action. Warning: testing the step will deactivate the payment link. And as you can see below, my link was deactivated.
You can activate a payment link the same way. You must change “active: false” to “active: true”.