Skip to main content
WEBHOOK
balance.charge.completed
{
  "id": "paywall_balance_charge_completed_evt_123",
  "paywallId": "pw_live_123",
  "ownerUserId": "usr_owner_789",
  "type": "balance.charge.completed",
  "version": "2024-05-01",
  "createdAt": "2024-05-01T12:34:56Z",
  "status": "pending",
  "attempts": 1,
  "data": {
    "paywallId": "pw_live_123",
    "ownerUserId": "usr_owner_789",
    "walletUserId": "wallet_123",
    "activityId": "act_charge_001",
    "settlementReference": "settlement_2024_05_01"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Paywall event payload that triggered the webhook delivery.

id
string
required
paywallId
string
required
type
enum<string>
required

Event key (see the webhooks section for the full catalog).

Available options:
updated,
archived,
secret.rotated,
integration.connected,
integration.disconnected,
integration.stripe.webhook.rotated,
authorization.requested,
authorization.completed,
authorization.revoked,
authorization.declined,
balance.deposit.created,
balance.topup.link.created,
balance.trial.granted,
balance.charge.created,
balance.charge.completed,
balance.charge.failed,
usage.charge.created,
usage.charge.deferred,
usage.rate.limited,
balance.depleted,
request.blocked,
stripe.checkout.session.completed,
proxy.request.started,
proxy.request.completed,
proxy.request.failed,
proxy.request.canceled,
proxy.request.blocked
Allowed value: "balance.charge.completed"
version
string
required
createdAt
string<date-time>
required
status
string
required
attempts
integer
required
data
object
required

Payload fields: paywallId, ownerUserId, walletUserId, activityId, settlementReference.

ownerUserId
string
metadata
object
trigger
object
subject
object

Response

200

Return a 2xx to acknowledge receipt.