ePrivacy and GPDR Cookie Consent by Cookie Consent Skip to main content

Stripe Webhook

Stripe is renowned for its secure and flexible infrastructure, empowering businesses worldwide with seamless transaction processing, diverse payment methods, and advanced financial tools. Its user-friendly interface and developer-friendly APIs make it a go-to choice for companies seeking reliable and customizable payment solutions. 

In this article, we'll guide you through Stripe's webhook functionality, enabling real-time notifications of crucial Stripe account activities and keeping you updated on customer payments, disputes, subscription changes, and more.


Stripe events alert you when significant actions occur within your account. These events, encapsulated as Event objects, are generated to highlight specific occurrences. For instance, a successful charge triggers a charge.succeeded event, while a failed invoice payment prompts an invoice.payment_failed event. In Stripe, retrieving an individual event or a list of events from the API is possible. 

Learn more: refer to the official documentation to gain a deeper understanding of handling Stripe webhooks.

Known behavior:

  • Retry Attempts: Stripe attempts delivery of an event to your webhook endpoint for up to 3 days.
  • Order of Events: Stripe doesn’t guarantee delivery of events in the order they’re generated. 

Meiro Events accepts the following types of events from Stripe:

  • Payment Success:
    • payment_intent.succeeded
    • charge.succeeded
  • Payment Failure:
    • payment_intent.payment_failed
    • charge.failed
  • Dispute Management:
    • payment_intent.dispute.created
    • payment_intent.dispute.updated
    • payment_intent.dispute.closed

Full list of events, check here.

Example data

Here's an example of the JSON structure for a expiring customer source:

  "id": "evt_1OIUgH2eZvKYlo2CwneSENDo",
  "object": "event",
  "api_version": "2019-02-19",
  "created": 1701429289,
  "data": {
    "object": {
      "id": "card_1NdbF12eZvKYlo2CywtbI5ZK",
      "object": "card",
      "address_city": "pittsburgh",
      "address_country": "US",
      "address_line1": "127001 ipv4 st",
      "address_line1_check": "unchecked",
      "address_line2": "port 80",
      "address_state": "pa",
      "address_zip": "15232",
      "address_zip_check": "unchecked",
      "brand": "Visa",
      "country": "US",
      "customer": "cus_OQS9dzamvH6tOX",
      "cvc_check": "unchecked",
      "dynamic_last4": null,
      "exp_month": 12,
      "exp_year": 2023,
      "fingerprint": "iDDUP7rwR8Uczhwh",
      "funding": "credit",
      "last4": "0119",
      "metadata": {},
      "name": "Billy Tester",
      "tokenization_method": null,
      "wallet": null
  "livemode": false,
  "pending_webhooks": 0,
  "request": {
    "id": null,
    "idempotency_key": null
  "type": "customer.source.expiring"

Use cases

Here are some practical use cases for setting up a Stripe webhook with Meiro Events:

  • Real-time data: Receive instant notifications about successful payments for immediate actions like order fulfillment or updating customer profiles.
  • Dynamic Pricing and Promotions: Leverage Stripe webhook data in your CDP to implement dynamic pricing strategies and targeted promotions. Analyze successful payment events and user behaviors to adjust pricing dynamically based on demand, inventory levels, or specific customer segments. Tailor promotional offers, such as limited-time discounts or bundled deals, for customers exhibiting particular purchasing patterns.