How can we help?

In-Chat Payments (Stripe)

In-Chat Payments (Stripe)

What is In-Chat Payments?

In-Chat Payments lets you send payment requests directly inside a chat conversation. Customers click a secure Stripe Checkout link and pay — without leaving the chat window. On Apple Messages for Business and iPhone Safari, Apple Pay appears automatically so customers can pay with Face ID in one tap.

How It Works

1. A Request Payment node in your workflow sends a message with a payment link.

2. The workflow pauses and waits for the customer to complete or decline payment.

3. When Stripe reports the result via webhook, the workflow automatically resumes.

4. The paymentStatus variable is set to paid or expired so you can branch the conversation.

Connect Stripe

Go to Integrations → Stripe Payments and follow the 4-step wizard:

1. Secret Key — paste your Stripe secret key (sk_live_... or sk_test_...). Click Test & Continue to verify it.

2. Settings — set a display name, optional publishable key, default success/cancel URLs, and toggle Apple Pay / Google Pay.

3. Webhook — add the webhook URL to your Stripe dashboard and paste the signing secret back here.

4. Done — Stripe is connected. Build a workflow with a Request Payment node.

Add a Request Payment Node

In the workflow editor, add a Request Payment action node:

  • Amount mode — Fixed amount (e.g., 49.99) or pulled from a workflow variable.
  • Currency — USD, EUR, GBP, CAD, AUD, JPY, and more.
  • Description — shown on the Stripe Checkout page (e.g., "Support contract deposit").
  • Chat message — the message sent to the customer. Use <<paymentUrl>> as the placeholder for the payment link.
  • Result variable — stores paid or expired after the customer acts.

Apple Pay on Apple Messages for Business

When Velaro is connected via Apple Messages for Business, Stripe Checkout automatically shows a native Apple Pay card inside iMessage. No separate Apple Pay merchant registration is required. Customers pay with Face ID without leaving iMessage.

Branching on Payment Outcome

After the Request Payment node, add a Condition node checking paymentStatus:

  • paymentStatus == paid → send confirmation message, close conversation
  • paymentStatus == expired → follow up with agent or retry link

Webhook Setup (Required for Auto-Resume)

Without the webhook, the workflow will not automatically resume when a customer pays. To set it up:

1. Go to Stripe Dashboard → Developers → Webhooks → Add endpoint.

2. Paste your webhook URL (shown in the Stripe integration wizard).

3. Select events: checkout.session.completed and checkout.session.expired.

4. Copy the Signing secret and paste it into the Velaro Stripe settings.

Troubleshooting

  • Payment link not sending — verify your Stripe secret key is valid and the site's Stripe config is saved.
  • Workflow not resuming — check that the webhook signing secret is configured. Without it, Velaro cannot verify payment events.
  • Apple Pay not showing — Apple Pay appears automatically on iPhone/Mac Safari when paying via Stripe Checkout. Ensure Apple Pay is enabled in the Stripe integration settings.

Was this article helpful?