Webhook & Postback Integration

Server-to-server postbacks for reliable reward delivery.

Why Use Postbacks?

Client-side callbacks can be lost. Postbacks ensure every reward is delivered reliably.

Setup

In your dashboard, enter your postback URL:

https://your-server.com/postback?user_id={user_id}&amount={amount}&currency={currency}&offer_id={offer_id}&sig={signature}&txn_id={transaction_id}

Parameters

ParamDescription
{user_id}Your user ID
{amount}Virtual currency amount
{offer_id}Completed offer ID
{signature}HMAC-SHA256 for verification
{transaction_id}Unique txn ID (deduplication)

Signature Verification

# Python
import hmac, hashlib
expected = hmac.new(secret.encode(), qs.encode(), hashlib.sha256).hexdigest()

// Node.js
const expected = crypto.createHmac('sha256', secret).update(qs).digest('hex');

// PHP
$expected = hash_hmac('sha256', $qs, $secret);

Response Codes

  • 200 — Success. No retry.
  • 4xx — Invalid. No retry.
  • 5xx — Server error. Retries 5x with exponential backoff.

Frequently Asked Questions

How quickly are postbacks sent?
Within seconds. Max 5 min delay for advertiser validation.
What if my server is down?
5 retries over 24 hours. Failed postbacks shown in dashboard.
Can I test postbacks?
Yes. Dashboard has a Test Postback feature.

Ready to Get Started?

Join 500+ publishers using RewardingHub to grow their games.