WebhooksEvent reference

Event reference

A non-exhaustive list of the event types Soxara delivers today, with the shape of data.object. Full per-event detail is part of the Phase 2 docs build.

Payments

EventWhen it fires
payment.createdA PaymentIntent has been created (typically by you) but no payment method has been confirmed yet
payment.requires_actionCustomer needs to complete a step (3DS, MoMo PIN prompt, etc.)
payment.succeededFunds have been captured and the merchant’s balance is credited
payment.failedCustomer’s card was declined, MoMo timed out, or wallet had insufficient funds
payment.canceledThe PaymentIntent was canceled before completion

Refunds

EventWhen it fires
refund.createdA refund was initiated
refund.succeededFunds returned to the customer’s source (card, MoMo, wallet)
refund.failedThe provider couldn’t reverse the original transaction (rare but possible)

Transfers (wallet-to-wallet)

EventWhen it fires
transfer.createdA send was initiated (recipient may not be a user yet)
transfer.succeededRecipient is a user and funds are in their wallet, OR recipient claimed via the viral flow
transfer.expiredThe recipient never claimed; funds are auto-returned to the sender after the claim window
transfer.claimedA non-user recipient claimed via the WhatsApp link and onboarded

Gift cards

EventWhen it fires
gift_card.createdA merchant gift card was issued by a buyer
gift_card.redeemedA card was redeemed at the merchant POS (full or partial balance use)
gift_card.expiredA card hit its expiry without being fully redeemed
gift_card.sharedA bulk-share batch was created (one card → many recipients via claim links)
gift_card.claimedA recipient claimed a shared gift card

Bill payments

EventWhen it fires
bill_payment.initiatedCustomer started a bill payment (LEC, LWSC, etc.)
bill_payment.succeededBiller confirmed receipt; token (if applicable) is in data.object.token
bill_payment.failedBiller rejected the payment or timed out

Subscriptions / memberships

EventWhen it fires
membership.subscribedA customer subscribed to one of your membership tiers
membership.renewedA recurring payment succeeded for an active membership
membership.payment_failedA recurring payment failed; the member enters grace period
membership.canceledSubscriber canceled OR billing failed past the grace period

Disputes

EventWhen it fires
charge.dispute.createdA cardholder opened a dispute against a payment
charge.dispute.updatedDispute status changed (evidence submitted, deadline approaching, etc.)
charge.dispute.closedDispute resolved (won, lost, or withdrawn)

Sample payload — payment.succeeded

{
  "id": "evt_3TZAbCdEfGhIjKl",
  "type": "payment.succeeded",
  "livemode": true,
  "created_at": "2026-05-23T14:05:33Z",
  "data": {
    "object": {
      "id": "pi_3TZ1MnOpQrStUvWx",
      "amount": 1250,
      "currency": "USD",
      "status": "succeeded",
      "payment_method": "card",
      "description": "Order #5021",
      "customer": {
        "id": "usr_8K2nP3...",
        "phone_number": "+231881158457",
        "country_code": "LR"
      },
      "metadata": {
        "order_id": "5021"
      },
      "created_at": "2026-05-23T14:05:14Z",
      "succeeded_at": "2026-05-23T14:05:32Z"
    }
  }
}