Merchant integration

Create pending charges against the Pokasino wallet, track their lifecycle, and receive signed webhooks when they settle. Everything here runs against a simulated API for evaluation.

Create a pending charge

Issue a charge to the wallet. It appears on the user's page as pending and is only settled once they confirm. No balance is deducted at creation.

Metadata (optional)

Charges you created

Pending charges you can still cancel before the user responds.

  • Golden Ace Casino

    Pending

    High-limit blackjack buy-in

    chg_4b7726f732eb813c0d4ae3f4 · GA-88231

    $120.00
  • Riverside Poker Room

    Pending

    Cash game seat buy-in

    chg_71618cc889e0d516fa58ae6f · RPR-1047

    $45.00
  • Neon Slots Arcade

    Pending

    Slot credit top-up

    chg_fbc3eb98c91c2b4b620c5348 · NSA-3301

    $25.00

API reference

This is a simulated contract for evaluation. In this demo, calls resolve against the local wallet store rather than a live server.

  • POST/v1/chargesCreate a pending charge. Balance is not deducted until the user confirms.
  • GET/v1/charges/:idRetrieve the current status of a charge.
  • POST/v1/charges/:id/confirmConfirm a pending charge (settles the amount once).
  • POST/v1/charges/:id/rejectReject a pending charge (no balance is deducted).
Create a charge
POST /v1/charges
Authorization: Bearer pk_live_••••••••••••••••9f2a
Idempotency-Key: inv-1001

{
  "merchant": "Golden Ace Casino",
  "description": "High-limit blackjack buy-in",
  "order_reference": "GA-88231",
  "amount": 120.00,
  "currency": "USD",
  "metadata": { "table": "High Rollers" }
}
Create response
201 Created

{
  "id": "chg_9f3c2a1b8e",
  "status": "pending",
  "merchant": "Golden Ace Casino",
  "order_reference": "GA-88231",
  "amount": 120.00,
  "currency": "USD",
  "created": 1710000000
}
Retrieve status
GET /v1/charges/chg_9f3c2a1b8e
Authorization: Bearer pk_live_••••••••••••••••9f2a

200 OK

{
  "id": "chg_9f3c2a1b8e",
  "status": "confirmed",
  "amount": 120.00,
  "currency": "USD",
  "confirmed_at": 1710000060
}

Status lifecycle

pending → confirmed, rejected, expired, or cancelled. A charge settles exactly once on confirmation; rejection never touches the balance. Pending charges auto-expire after 24 hours.

Webhook notifications

Pokasino posts signed events to your endpoint when a charge is confirmed or rejected. In this demo, delivery is simulated and the exact payload is shown below.

Signed webhooks

Each payload is signed with an HMAC-SHA256 of the body using your secret. Verify the sha256=… signature before trusting an event, and deduplicate by the event id. Failed deliveries are retried automatically.

Delivery log

Every webhook event recorded, with its delivery attempts and signed payload.

No webhook events yet. Confirm or reject a charge, or send a test webhook.

Transaction status

Poll the status of any charge by its transaction ID - the same result the status endpoint returns.

This is a demo wallet and payment flow for evaluation only. It is not a real-money payment processor, and no funds move. Balances, keys, and webhooks are simulated locally in your browser and reset when you clear site data.