PedibeeDocs

Stripe and Paddle

Start automations from payments and subscriptions.

Connect your billing provider and its events arrive as Pedibee events, verified with its signature and recorded once each:

Pedibee eventStripePaddle
payment_failedinvoice.payment_failedtransaction.payment_failed
payment_succeededinvoice.paidtransaction.completed
payment_action_requiredinvoice.payment_action_required—
subscription_createdcustomer.subscription.createdsubscription.created
subscription_activated—subscription.activated
subscription_past_due—subscription.past_due
trial_will_endcustomer.subscription.trial_will_end (3 days before)—
subscription_canceledcustomer.subscription.deletedsubscription.canceled
checkout_completedcheckout.session.completed—

Properties include the invoice or transaction id, subscription id, amount and currency, plan, and dates such as trial_end — use them in emails ({{event.amount}} {{event.currency}}) and to tell runs apart (invoice_id).

Connect in three steps

Open Automations → Connect tools and click Connect Stripe (or Connect Paddle). A short wizard does the rest:

  1. Connect. Paste one key. For Stripe, make a restricted key (Developers → API keys → Create restricted key) with Customers: Read and Webhook Endpoints: Write, everything else None. For Paddle, an API key (Developer tools → Authentication) with read access to customers and write access to notification settings. Pedibee checks the key straight away; it's stored encrypted and never shown again.
  2. Choose events. Tick what you care about — payment failed, trial ending, subscription cancelled… Pedibee creates the webhook in your Stripe or Paddle account for exactly those events and keeps its signing secret, so there's nothing to copy back and forth.
  3. Write the emails. Each event comes with a first draft: change the subject and wording, add details like {{event.amount}} or {{event.plan}}, pick the Gmail it goes out from, and click Create automations. Each becomes a live, transactional automation.

Come back any time to Manage it: change the events (the same webhook is updated) or add emails for more of them. Disconnect removes the webhook Pedibee made and deletes the key.

If the key isn't allowed to create webhooks, the wizard shows the one manual step instead: add the webhook URL it gives you in Stripe (Developers → Webhooks) or Paddle (Developer tools → Notifications) with the listed events, and paste its signing secret.

Check it works

  1. In Stripe test mode, create a customer with your own email and a subscription paid with the test card 4000 0000 0000 0341 (it attaches, then every charge fails).
  2. Within about a minute, Automations → Events shows a payment_failed event about that customer, the automation's People tab shows the run, and the email arrives.

Each Stripe or Paddle event is recorded once, so their retries never send anyone a second email, and every request must carry a valid signature.

A failed-payment flow

The wizard's Payment failed email is already set up this way: it ends when payment_succeeded arrives for the same invoice (invoice_id for Stripe, subscription_id for Paddle). To send reminders too, open the automation and add steps after the first email — for example wait 3 days, a reminder, wait 4 days, a last notice — then publish.

Paying one invoice stops only that invoice's reminders.

On this page