Stripe
Updated
Your chatbot shows customers their subscriptions, cancels one at the end of the period they have paid for or undoes that, and sends them a link to Stripe's billing page. Setting it up takes about five minutes.
What your customers can do
- See their subscriptions: each plan, its price, and when it renews or ends.
- Cancel one. The chatbot says which plan ends and on which date, and asks them to confirm. It ends at the end of the period they have paid for; nothing is refunded and nothing more is charged.
- Undo a cancellation before it takes effect.
- Change their card or see their invoices on Stripe's own billing page, through a link the chatbot sends.
Refunds and plan changes stay with your team: the chatbot offers a hand-off, or the billing page.
How a customer proves who they are
Before the chatbot shows or changes anything, the customer gives the email address on their Stripe account, and the chatbot emails a 6-digit code to it, from your chatbot's name. They type the code into the chat, and only then does the chatbot act, for that address alone, in that conversation and for that person: in a Telegram group, each member has their own code, and what one proved does not count for the others.
- The code works for 10 minutes and allows 5 tries. Once it is right, the conversation stays verified for 60 minutes.
- The chatbot answers the same, and as quickly, whether or not an account uses the address, and a wrong code is answered the same too, so it never tells anyone who your customers are. The email is written in your chatbot's language, or the customer's when your chatbot follows them.
- A person can ask for 3 codes an hour in a conversation, an address can be sent 3 a day, and your chatbot 30 an hour, so nobody can fill a stranger's inbox. Every request naming an address counts, so three of them, from anyone, pause codes for it until the next day; your chatbot's 30 count only codes that went out, so requests for made-up addresses cannot use them up. Every chatbot on ChatFrom together sends one address at most 3 codes a day, since they all come from ChatFrom's own domain.
- After 10 wrong codes for one address in a day, in any conversations, codes for it pause for the day, so asking for new codes brings no new guesses.
- Over email, the chatbot acts only for a sender whose email domain vouches for its mail (DMARC), since anyone could pose as the others.
- Only a scrambled form of each code is stored, which no one can turn back into the code.
In Stripe
- Create a restricted key for ChatFrom. The Stripe card under Tools has a link that opens Stripe's form with the permissions already chosen, in live or test mode; otherwise go to API keys and press Create restricted key.
- It needs Customers: Read, Subscriptions: Write, Products: Read (which names the plans) and Customer portal: Write, and nothing else.
- For the billing link, save your customer portal settings once. To try it with test data, save them in test mode too.
A test key (rk_test_…) works on your test data only, so you can try everything before you use a live key. In test mode the chatbot emails a code only to the address you sign in to ChatFrom with, so try the tools with a test customer that uses your own address.
In ChatFrom
- Open your chatbot and go to Tools. Under Connections, tap + on Stripe.
- Paste the key and press Connect Stripe. ChatFrom checks each permission with Stripe, without changing anything in your account, shows your account, and switches Subscription tools on when the key may read customers and subscriptions. If a permission is missing, or the billing page's settings were never saved, the card says so; add it in Stripe and press Update key. If you later delete or roll the key in Stripe, the card asks for a new one.
- Press Try it at the top of the page and ask "I'd like to cancel my subscription", give the email of a test customer, and type the code from the email.
In a workflow, the ready-made path Subscriptions, with the Stripe mark, sends every question about a customer's own subscription or billing to a step that uses these tools, checking their email first. A Tool Call step can also name them itself, such as stripe_subscriptions.
What stays safe
- Your key is stored encrypted and is never shown again, to you or anyone else. Disconnecting deletes it, and every code and verification your customers hold.
- A cancellation always waits for the end of the period already paid for, and can be undone until then. A customer in a free trial is told it ends with the trial, and one with an overdue payment that the payment is still owed.
- A billing link, which lets whoever opens it change the card, is never posted in a group chat; the customer is asked to message the chatbot privately.
- Dates are the days in your Stripe account's time zone.
- The chatbot cannot refund, charge, or change a plan.
To stop, switch Subscription tools off, or press Disconnect to delete the stored key; then delete the key in Stripe too. What else a chatbot can connect to is on the Connections page.