PAY.JP · AsyncAPI Specification
Payjp Webhooks
Version
View Spec
View on GitHub
PaymentsFinTechJapanCredit CardsSubscriptionsTokenizationAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-07-17'
method: searched
type: Webhooks
source: >-
https://docs.pay.jp/v1/webhook and the event type map in
https://github.com/payjp/payjp-go/blob/master/v1/event.go
notes: >-
PAY.JP does not publish an AsyncAPI document. It delivers system Event objects
to merchant-configured webhook endpoints as HTTP POST with a JSON Event body.
This is the honest webhook catalog (no fabricated AsyncAPI spec). Events are
also readable via the REST Events API (listEvents / retrieveEvent).
delivery:
transport: HTTP POST
content_type: application/json
success_status: HTTP 200 required (empty body acceptable)
retry: Non-2xx responses are retried at 3-minute intervals, up to 3 times.
configuration: Endpoint URLs are registered in the PAY.JP dashboard (console.pay.jp).
signature:
header: X-Payjp-Webhook-Token
scheme: >-
Account-specific token ID. The receiver verifies the header value matches the
webhook token configured for its account to confirm the request is genuine.
event_object:
fields:
id: Event identifier
object: Always "event"
type: Event type string (see event_types)
created: Unix timestamp
livemode: Boolean (true = live, false = test)
pending_webhooks: Count of endpoints still awaiting delivery
data: Container for the related resource (charge, customer, subscription, ...)
event_types:
charges:
- charge.succeeded
- charge.failed
- charge.updated
- charge.refunded
- charge.captured
tokens:
- token.create
customers:
- customer.created
- customer.updated
- customer.deleted
- customer.card.created
- customer.card.updated
- customer.card.deleted
plans:
- plan.created
- plan.updated
- plan.deleted
subscriptions:
- subscription.created
- subscription.updated
- subscription.deleted
- subscription.paused
- subscription.resumed
- subscription.canceled
- subscription.renewed
transfers:
- transfer.succeeded