Early bird discounts live! Claim your offer

payment.* events

Payment lifecycle — succeeded, failed, pending, refunded.

Emitted by the seven payment-provider listeners. Every provider integration (Stripe, PayPal, Razorpay, Paystack, CeyPay, Skrill, CoinPayments) funnels through the same abstract listener so these event shapes are consistent.

Events

EventFires when
payment.succeededA payment provider confirms a successful charge.
payment.failedA provider rejects a charge (invalid card, insufficient funds, risk rules).
payment.pendingA payment is awaiting asynchronous provider confirmation (bank transfer, crypto).
payment.refundedA charge is refunded, fully or partially.

See the dedicated pages above for full payload, field reference, and caveats per event.

Example payload

{
  "id": "evt_01HX...",
  "type": "payment.succeeded",
  "created_at": "2026-05-18T10:05:00Z",
  "api_version": "2026-05-01",
  "project_id": "prj_01HX...",
  "data": {
    "subscription_id": "sub_01HX...",
    "plan_id": "pln_01HX...",
    "subscriber_id": "usr_01HX...",
    "provider": "stripe",
    "external_payment_id": "pi_3Nxy..",
    "amount": "29.00",
    "currency": "USD"
  }
}

What you don't get

  • Card numbers / PAN / CVV. Any provider-specific credentials are stripped.
  • Stripe raw webhook payloads. Use Stripe's own webhooks if you need provider internals.
  • Merchant fee breakdowns. Those are an internal accounting concern surfaced only in the MemberPass dashboard.

Required abilities

Tokens subscribing to payment.* events must carry project-subscription:view-any.

How is this guide?

On this page

MemberPass is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request