On this page

The Stripe integration lets agents, flows and automation rules send Stripe payment links inside WhatsApp conversations, with the payment status written back to the chat and the amount attributed to the conversation, campaign and contact. It is native: you connect your own Stripe account with a secret key, register VGraple CRM's webhook endpoint in Stripe, and links are created through Stripe's API in your account.
What syncs
| Data | Direction | Timing |
|---|---|---|
| Payment link creation (amount, currency, description, customer reference) | VGraple CRM to Stripe | Immediate |
| Payment succeeded, expired or failed events | Stripe to VGraple CRM | Real time, by Stripe webhook |
| Status on the chat message and the conversation (Pending, Paid, Expired) | Inside VGraple CRM | On webhook |
| Revenue attribution to campaign, flow, agent and contact | Inside VGraple CRM | On payment |
| Purchase event to Meta (when Conversions API is connected) | VGraple CRM to Meta | On payment |
Setup
- Go to Settings, then Integrations, then Payment Collection. Choose Stripe from the Gateway dropdown.
- In Stripe, open Developers, then API keys, and copy the Secret key (use a test key first if you want a dry run). Paste it into VGraple CRM and click Save; the field shows as saved and masked.
- Copy the webhook endpoint URL VGraple CRM shows you. It is fixed for your workspace.
- In Stripe go to Developers, then Webhooks, click Add endpoint, paste the URL, and select the checkout and payment events VGraple CRM lists on the settings page.
- Copy the webhook Signing secret Stripe shows once and paste it into VGraple CRM, then save.
- Open any WhatsApp conversation with an open window, click the payment icon in the composer, enter an amount and description, and send a test link. Pay it (in test mode) and watch the message flip to Paid.
Who uses it
Businesses that close sales in chat and want the money to follow without a website checkout: clinics collecting consultation fees, coaching institutes taking instalments, agencies taking advances, exporters and consultants invoicing international customers in USD or EUR. Stripe is the gateway to choose when you need multiple currencies or already run Stripe elsewhere.
Test mode first
Stripe issues separate test and live keys. Paste a test secret key and a test-mode webhook signing secret first, send yourself a link, pay it with Stripe's test card numbers, and confirm the chat flips to Paid. Then replace both values with live-mode keys and register the live webhook endpoint; the endpoint URL VGraple CRM gives you is the same for both modes. Payment links created in test mode are marked as test on the conversation so they never count as revenue.
Reporting and attribution
Every paid link records the amount, currency, gateway and Stripe reference on the conversation, the contact and the lead if one exists. Analytics shows revenue by campaign, flow, agent and source, and the payment feeds the Conversions API for conversations that began from a click-to-WhatsApp ad. Refunds and disputes handled in Stripe update the record when Stripe sends the corresponding event.
Three recipes
- Quote accepted in chat -> agent sends a payment link -> order marked paid and revenue attributed. The agent creates the link from the composer; the webhook updates the conversation and the lead moves to Won.
- Booking confirmed -> advance payment link by automation rule -> reminder if unpaid in 24 hours. A stage rule creates and sends the link in a utility template; a second rule sends one reminder, then assigns a person.
- Payment received -> Purchase event to Meta Conversions API for the click-to-WhatsApp ad that started the chat. No extra setup beyond connecting CAPI.
Limits and gotchas
- Owners only: payment settings are treated as secrets, so admins and custom roles cannot view or change them.
- A missing or wrong webhook signing secret means links are created but never marked paid; the settings page shows the last webhook received.
- Links sent outside the 24-hour window must go in a utility template with a URL button.
- Stripe availability and payout rules depend on your country and Stripe account status.
- Refunds are issued in Stripe; the conversation shows the refund when Stripe sends the event.
The Stripe setup guide covers testing with test mode and troubleshooting.