Skip to main content
StoreTalk lets you collect payments inside any chatbot flow. When a customer reaches a payment step, they receive a Pay now button that opens a secure Razorpay checkout. Once they pay, the flow continues automatically.

How it works


Setting up Razorpay

Before you can use payment nodes in your flows, connect your Razorpay account.
1

Go to Settings → Payments

Open Settings in the left sidebar, then click the Payments tab.
2

Enter your Razorpay credentials

You need three values from your Razorpay Dashboard:
  • Key ID — starts with rzp_live_...
  • Key Secret — shown once when you generate a new key pair
  • Webhook Secret — created when you set up the webhook endpoint
3

Set up the webhook in Razorpay

Copy the Webhook URL shown on the settings page and add it in your Razorpay Dashboard under Settings → Webhooks → Add New Webhook.Enable these two events:
  • payment_link.paid
  • payment_link.expired
4

Test the connection

Click Test Connection to verify your credentials are valid. A green checkmark means you are ready to go.
5

Enable payments

Toggle Enable payment collection on and click Save.
If your Key ID starts with rzp_test_, you are in Razorpay test mode. Test payments will work for testing your flow, but real customers cannot pay. Switch to live keys before going live.

Adding a payment node to a flow

1

Open the Flow Builder

Go to Flows in the sidebar and open the flow you want to edit.
2

Add a Payment Link node

Drag a Payment Link node onto the canvas from the node palette.
3

Configure the node

Fill in the required fields:
4

Connect the success and failure paths

The payment node has two output handles:
  • Success — flow continues here after the customer pays
  • Failure — flow continues here if the payment link expires
Connect each handle to the next node in your flow.

Available placeholders

Use placeholders in any flow node to insert dynamic values. Wrap them in double curly braces.

Customer and store info

Payment info (available after payment)

These are automatically filled after the customer completes (or fails) a payment. Use them in nodes that come after the payment node.

Using placeholders in the payment node

The Amount and Description fields support placeholders too. This is useful when the payment amount comes from an earlier step in the flow. Example: If a previous form node captures the order total in a variable called form.total, set the amount to:
And the description to:

Example flow

Here is a simple order-and-pay flow:

Payment activity log

Track every payment event in Settings → Payments → Activity. The activity log shows:
  • When a payment webhook was received
  • Whether it matched an active flow session
  • The amount, payment link ID, and outcome
  • Any errors (e.g. signature verification failures)
If a customer pays after the flow session has already ended (e.g. they came back later), StoreTalk still sends them the success message so they know their payment went through.

Troubleshooting

Plans and usage limits

See what’s included in each StoreTalk plan.

Build a chatbot flow

Learn how to create your first WhatsApp chatbot flow.