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

Stripe Webhook

Stripe webhooks facilitate real-time notifications of Stripe account activities. These events trigger actions in ME, keeping you updated on customer payments, disputes, subscription changes, and more.

Feature

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 createdexpiring Setupcustomer Intentsource:

{
  "id": "evt_1OIUMh2eZvKYlo2CmYF6M2Sy"evt_1OIUgH2eZvKYlo2CwneSENDo",
  "object": "event",
  "api_version": "2019-02-19",
  "created": 1701428075,1701429289,
  "data": {
    "object": {
      "id": "seti_1OIUMg2eZvKYlo2CMOSvpqIq"card_1NdbF12eZvKYlo2CywtbI5ZK",
      "object": "setup_intent"card",
      "application"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,
      "automatic_payment_methods"exp_month": null,12,
      "cancellation_reason"exp_year": null,2023,
      "client_secret"fingerprint": "seti_1OIUMg2eZvKYlo2CMOSvpqIq_secret_P6hmgSsb7SIilhqOBOmeoPKrO0buoi7"iDDUP7rwR8Uczhwh",
      "created"funding": 1701428074,"credit",
      "customer"last4": null,
      "description": null,
      "flow_directions": null,
      "last_setup_error": null,
      "latest_attempt": null,
      "livemode": false,
      "mandate": null,0119",
      "metadata": {},
      "next_action"name": "Billy Tester",
      "tokenization_method": null,
      "on_behalf_of"wallet": null,
      "payment_method": "pm_1OIUMg2eZvKYlo2CCOGPHnvY",
      "payment_method_configuration_details": null,
      "payment_method_options": {
        "acss_debit": {
          "currency": "cad",
          "mandate_options": {
            "interval_description": "First day of every month",
            "payment_schedule": "interval",
            "transaction_type": "personal"
          },
          "verification_method": "automatic"
        }
      },
      "payment_method_types": [
        "acss_debit"
      ],
      "single_use_mandate": null,
      "status": "requires_confirmation",
      "usage": "off_session"null
    }
  },
  "livemode": false,
  "pending_webhooks": 0,
  "request": {
    "id": null,
    "idempotency_key": null
  },
  "type": "setup_intent.created"customer.source.expiring"
}

Use cases

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

  • Receive instant notifications about successful payments for immediate actions like order fulfillment or updating customer profiles.
  • Monitor subscription-related events to track changes in subscription statuses, facilitating timely customer support or upgrades.
  • Act swiftly upon receiving dispute-related events, triggering automated processes for dispute resolution or customer engagement.