Home/Help Center/Stripe setup

Integrations

Set Up Stripe Payment Links

Connect your own Stripe account, add a webhook endpoint for checkout.session.completed, and start sending Stripe payment links inside WhatsApp chats.

By Chirag Darji · Updated 27 Aug 2026 · 6 min read

On this page
  1. Before you start
  2. Steps
  3. What you will see
  4. Settings and options
  5. Troubleshooting
  6. Testing with Stripe's test mode first
Integrations settings in VGraple CRM: Facebook Lead Ads, Calendly, Meta Conversion Tracking and payment collection

Setting up Stripe means pasting your own Stripe Secret Key into Settings > Integrations > Payment Collection, then adding a webhook endpoint in the Stripe dashboard pointed back at VGraple CRM so payment confirmations flow back automatically. This walkthrough covers both steps and testing with Stripe's test mode.

Stripe setup: first 5 of 7 steps

  1. 1In VGraple CRM, go to Settings >
  2. 2Get your Secret Key from Stripe
  3. 3Paste the Secret Key into VGraple CRM
  4. 4Copy the webhook endpoint URL VGraple CRM
  5. 5In your Stripe dashboard, go to Developers
The steps on this page, in order.

Before you start

  • You need your own Stripe account already set up under your business's own KYC and settlement terms; VGraple CRM connects to it, it does not create one for you.
  • Connecting Stripe requires the organisation owner's access (or a platform super admin), since gateway credentials are treated as a restricted secret.
  • Have your Stripe dashboard open in another tab; you will need to copy your Secret Key from there and paste a webhook URL back into it.

Steps

  1. In VGraple CRM, go to Settings > Integrations > Payment Collection. Choose Stripe from the Gateway dropdown.

A conversation open in the VGraple CRM inbox with stage, priority, assign, summary, snooze and resolve controls in the header

  1. Get your Secret Key from Stripe. In your Stripe dashboard, go to Developers > API keys, and copy your Secret Key (it starts sk_live_ for a live account, or sk_test_ for test mode).

  2. Paste the Secret Key into VGraple CRM and click Save. The field shows "(saved, enter a value to replace)" once stored; the full key is never shown again after saving.

  3. Copy the webhook endpoint URL VGraple CRM shows you. It is a fixed, per-organisation URL under https://crm.vgraple.co.in/api/public/payment-webhook/stripe/<your org id>.

  4. In your Stripe dashboard, go to Developers > Webhooks and click Add endpoint. Paste the URL from step 4, and under "Select events to listen to," choose checkout.session.completed specifically; no other event is needed for this feature.

  5. Copy the webhook's signing secret from Stripe (shown once when you create the endpoint, starting whsec_), and paste it into the "Webhook endpoint secret" field in VGraple CRM's Payment Collection settings, then click Save.

  6. Send a test payment link. Open any WhatsApp conversation with an open 24-hour service window, use the payment request option, choose Stripe's Checkout currency, and confirm the link opens Stripe's hosted checkout page correctly.

What you will see

Once both the Secret Key and webhook secret are saved, the Payment Collection card shows "(saved)" next to each field, and the payment request option in any open conversation becomes available with Stripe as the active gateway. After a customer pays through a Stripe link, the webhook confirms it within moments: a revenue event is created, and a confirmation message posts automatically into the same WhatsApp thread.

Settings and options

Setting or fieldWhat it doesDefault
GatewayChooses Stripe as the active payment providerDisabled until you select one
Stripe Secret KeyAuthenticates payment link creation with your accountRequired, encrypted at rest
Webhook endpoint URLThe fixed VGraple CRM URL you add in Stripe's dashboard.../payment-webhook/stripe/<org id>, shown for you to copy
Webhook endpoint secretVerifies that Stripe's payment confirmation is genuineRequired, encrypted at rest
Supported currenciesWhich currencies a payment link can be sent inINR, USD, EUR, GBP, AED
Session expiryHow long a Stripe Checkout link stays valid24 hours

Troubleshooting

SymptomLikely causeFix
Payment Collection page is missing or fields are greyed outYour role is not organisation owner and you are not a platform super adminAsk the org owner to connect Stripe, or to grant you owner access if that is genuinely your role
A payment link is created but the customer's payment never confirms in VGraple CRMThe Stripe webhook endpoint was never added, or is subscribed to the wrong eventRecheck Developers > Webhooks in Stripe; confirm the endpoint URL matches exactly and checkout.session.completed is selected
"Invalid signature" appears in your Stripe webhook logsThe webhook endpoint secret pasted into VGraple CRM does not match the one Stripe generated for that specific endpointRecopy the signing secret from that exact webhook endpoint in Stripe's dashboard, not a different endpoint or an old one
"The 24-hour service window is closed" when trying to send a linkThe customer has not messaged in the last 24 hoursAsk the customer to send any message first, which reopens the window, then send the link
Payment link created but says the gateway is not connectedThe Secret Key was cleared, replaced with an invalid value, or never actually savedRecheck Settings > Integrations > Payment Collection shows "(saved)" next to the Secret Key field
Test mode payments confirm, but live payments do notThe webhook endpoint in Stripe was created against test mode only, or the live Secret Key differs from what triggered the testAdd a separate webhook endpoint for live mode in Stripe if you have not already, and confirm you saved the live Secret Key, not the test one

Testing with Stripe's test mode first

Stripe's dashboard has an independent Test mode toggle. Using a test-mode Secret Key (sk_test_...) and a test-mode webhook endpoint lets you send a payment link, pay it with one of Stripe's published test card numbers, and confirm the entire flow, link creation, checkout, webhook confirmation, revenue logging, before ever touching a live key. Switch both the Secret Key and the webhook endpoint to their live-mode equivalents only once you have confirmed the full loop works.

Example

A travel agency quotes an international customer a package price in USD over WhatsApp. With Stripe connected, sending a payment link lets that customer pay by card in their own currency, with the deposit settling straight into the agency's own Stripe account and a confirmation appearing in the same WhatsApp thread.

Once Stripe is set up, see collecting payments in chat for how to actually send a link day to day, or setting up Cashfree if you also want a UPI option for domestic customers.

Frequently asked questions

Whose Stripe account do I connect?
Your own. You paste in your own Stripe Secret Key from your own Stripe account, the one you already have or create directly with Stripe under your own business's KYC. Every payment settles to that account; VGraple CRM never touches the funds.
Why does Stripe need a webhook, when Cashfree does not?
Cashfree links carry a per-link notify URL VGraple CRM sets automatically, so there is nothing to configure. Stripe Checkout Sessions rely on a webhook subscribed to checkout.session.completed at the account level, which is a one-time manual step you complete once in the Stripe dashboard.
What currencies can I send with Stripe?
INR, USD, EUR, GBP and AED, chosen per payment link from a dropdown when you send it in a conversation. Cashfree, by comparison, only supports INR.
How long does a Stripe payment link stay valid?
A Stripe Checkout session expires 24 hours after it is created, matching the WhatsApp service window it was sent inside. If a customer needs a fresh link after that, send a new one.
Who can connect or change the Stripe credentials?
Only the organisation owner, or the platform super admin. This is stricter than most settings pages; even an Admin role cannot view or change gateway secrets. Anyone with inbox send permission can send a payment link once it is connected.
What does VGraple CRM actually store from my Stripe account?
Your Secret Key and your webhook signing secret, both encrypted at rest. Neither is ever shown back to you in full after you save it; the settings page only shows whether a value is currently saved.
Can I test this with Stripe's test mode keys first?
Yes. Paste a test-mode Secret Key (starting sk_test_) and set up a webhook endpoint against Stripe's test mode; payment links created will use Stripe's test Checkout, letting you confirm the full flow with a test card before switching to a live key.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.