MemberPress · AsyncAPI Specification
Memberpress Webhooks
Version
View Spec
View on GitHub
CompanyMembershipSubscriptionsWordPressPaymentsE-CommerceCoursesContent ManagementWebhooksMCPAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-12'
method: searched
source: https://github.com/caseproof/memberpress-rest-api-documentation#webhook-integration
docs:
- https://github.com/caseproof/memberpress-rest-api-documentation#webhook-integration
- https://memberpress.com/docs/overview-of-using-the-developer-tools/
asyncapi_published: false
asyncapi_note: >-
MemberPress publishes NO AsyncAPI document, and none was generated here — the event surface is
captured as a webhook catalog instead. Every event name below is quoted verbatim from
MemberPress's own documentation.
delivery:
style: http-callback
subscription_model: api-managed
subscribe:
method: POST
path: /wp-json/mp/v1/webhooks/subscribe
parameters:
url: Callback URL that receives notifications (required)
event: Event type, or the literal value `all` for every event (required)
unsubscribe:
method: DELETE
path: /wp-json/mp/v1/webhooks/unsubscribe/{id}
ui_alternative: >-
Webhooks can also be configured, and test-fired, from the MemberPress > Developer screen in
WP Admin. MemberPress describes that screen as the authoritative, dynamic list of events for
a given installation and plugin version.
authentication:
header: memberpress-webhook-key
since: MemberPress 1.2.5
kind: shared-secret
signature: none
note: >-
A static shared secret, not an HMAC signature over the payload — a receiver can verify that
the caller holds the key but cannot verify body integrity or replay-protect a delivery.
Basic Authentication with the WordPress Application Passwords plugin is also documented,
and MemberPress itself labels it the less secure option.
retries: undocumented
ordering: undocumented
payload_schema: undocumented
events:
- name: transaction-completed
domain: transactions
description: A transaction completed.
- name: transaction-refunded
domain: transactions
description: A transaction was refunded.
- name: transaction-failed
domain: transactions
description: A transaction failed.
- name: transaction-expired
domain: transactions
description: A transaction expired.
- name: recurring-transaction-completed
domain: transactions
description: A recurring transaction completed.
- name: recurring-transaction-failed
domain: transactions
description: A recurring transaction failed.
- name: subscription-created
domain: subscriptions
description: A subscription was created.
- name: subscription-paused
domain: subscriptions
description: A subscription was paused.
- name: subscription-resumed
domain: subscriptions
description: A subscription was resumed.
- name: subscription-stopped
domain: subscriptions
description: A subscription was stopped.
- name: subscription-upgraded
domain: subscriptions
description: A subscription was upgraded.
- name: subscription-downgraded
domain: subscriptions
description: A subscription was downgraded.
- name: member-signup
domain: members
description: A member signed up.
- name: member-account-updated
domain: members
description: A member account was updated.
event_count: 14
gaps:
- No AsyncAPI or JSON Schema for any event payload — a subscriber cannot know the shape of a
delivery before receiving one.
- No documented retry, backoff or dead-letter behaviour.
- No per-payload signature; origin verification only, via a static header key.
- No documented delivery ordering or idempotency key on the callback.