Launching soon
GoPaySol LogoGoPaySol
Draft Webhooks — Not Live Yet

GoPaySol Webhooks

Receive signed events when payments are validated on-chain.

Why Webhooks Matter

Webhooks allow your backend to react when a payment becomes paid. This is the safest way to unlock digital products, activate subscriptions, update orders, or send customer confirmations.

Event: payment.paid

This event is sent only after GoPaySol validates the payment server-side.

Example Payload

json
{
  "event_id": "evt_123456",
  "type": "payment.paid",
  "created_at": "2026-06-20T12:30:00Z",
  "payment_id": "pay_123456",
  "amount": "25.00",
  "token": "USDC",
  "environment": "test",
  "transaction_signature": "5rY...",
  "receipt_url": "https://gopaysol.com/receipts/rcpt_123456",
  "customer_reference": "customer_456",
  "metadata": {
    "order_id": "ORD-1001"
  }
}

Webhook Security

GoPaySol webhook payloads will be signed.

Your server should:

  • Verify the signature
  • Check the timestamp
  • Reject replayed events
  • Store the event ID
  • Process each event idempotently

Important Fulfillment Rule

Do not unlock content or mark an order as paid from frontend status alone.

Use this flow:

  1. Buyer pays on GoPaySol checkout
  2. GoPaySol verifies payment on-chain
  3. GoPaySol sends signed payment.paid webhook
  4. Your backend verifies the webhook
  5. Your backend unlocks the product or updates the order

Retry Behavior

If your endpoint fails, GoPaySol will retry delivery. Your system should be ready to receive the same event more than once. Use event_id to prevent duplicate fulfillment.