Skip to content
Splashify Pro
Docs

PayPal

PayPal does not have a ready-made card in Integrations yet. You can still send a WhatsApp thank-you when a PayPal payment completes: connect PayPal to a generic webhook and add one workflow. This page walks you through it.

Before you start

  • A PayPal Business account, and access to the PayPal Developer Dashboard (developer.paypal.com) with the same login.
  • An approved WhatsApp template for the message. See Create a WhatsApp template. Most templates are approved within 24 hours.
  • The buyer's WhatsApp number on each payment. PayPal does not send the buyer's phone number with its events. Ask your developer to put the customer's WhatsApp number (with the country code, for example 919876501234) into the order's custom_id when your website creates the PayPal order. That is the field this guide uses.

Connect PayPal

  1. Add a webhook in the app

    In the left sidebar, click Integrations. Under Automation, click the Generic webhook card (Add a webhook). Name it PayPal payments and click Create webhook.

    The Add a webhook box with the name PayPal payments and the Create webhook button
    A generic webhook named after PayPal
  2. Copy the URL and start listening

    On the webhook's page, click the copy button under Paste this URL in your system. Then, under Send a test event, click Start listening.

  3. Add the webhook in PayPal

    In the PayPal Developer Dashboard, open Apps & Credentials, pick your app (switch to Live for real payments), scroll to Webhooks and click Add Webhook. Paste the URL, tick the event Payment capture completed, and save.

  4. Send a test event

    Make a small real payment, or use PayPal's Webhooks simulator with the event PAYMENT.CAPTURE.COMPLETED and your URL. Back in our app, the fields PayPal sent appear under Send a test event, for example {{body.event_type}}, {{body.resource.amount.value}} and {{body.resource.custom_id}}.

    The PayPal payments webhook with the sample fields body.id, body.event_type PAYMENT.CAPTURE.COMPLETED, body.summary, body.resource.id, body.resource.status, the amount, currency and invoice ID, and a Payment received workflow below
    The fields from PayPal's event, and the workflow below
  5. Create the workflow

    Under Add workflows, click Create a workflow:

    • Name it: Payment received.
    • When should it run?: click Add condition and set body.event_type is PAYMENT.CAPTURE.COMPLETED.
    • Who gets the message?: {{body.resource.custom_id}}, the buyer's number your website put in.
    The Edit workflow screen with the name Payment received, the condition body.event_type is PAYMENT.CAPTURE.COMPLETED, and Who gets the message set to body.resource.custom_id, which is 919876501234 in the sample
    Run only for completed payments, and send to the number in custom_id
  6. Pick the message

    Under What should happen?, pick your Template and fill the blanks, for example {{body.resource.invoice_id}} for your order number and {{body.resource.id}} for PayPal's payment ID. Check the Preview, then click Create workflow.

    Send a WhatsApp message with the payment_received template, blanks filled with body.resource.invoice_id and body.resource.id, and a preview reading Thank you! We received your payment for order ACME-1024. Payment ID: CAPTURE-DEMO-1024
    The preview uses the values from your test event
  7. Check that it works

    Make a small real payment. Open the Activity tab on the webhook's page. You should see Ran, A workflow ran, with Payment received below it.

Good to know

  • Amounts are in normal units: PayPal sends 45.00 for $45, so {{body.resource.amount.value}} can go straight into your message.
  • No phone, no message: if a payment has no custom_id, the workflow runs but has nobody to send to, and Activity shows Failed.
  • Keep the URL private: PayPal's events to this URL are not signed, so anyone with the URL could send fake events. If it leaks, delete the webhook and create a new one.
  • No code at all? If your checkout cannot add the phone number, an automation tool like Zapier or Make can look up the buyer's details from PayPal and send them to us instead.