Home » Disable payments on a specific day (e.g. at the end of Black Friday)

Disable payments on a specific day (e.g. at the end of Black Friday)

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.

Stripe

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.

Zapier

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.

Schedule by Zapier trigger search

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.

Every Month option

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.

Day of the month and time of day settings

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.

Webhooks by Zapier: POST

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>

Webhooks by Zapier URL

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”.

API key

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”.

Leave a Comment