Skip to content
PGSwift Docs
Documentation/Transaction Settlement Webhook

Transaction Settlement Webhook

POST transaction_settlement.settled

Request Headers

All webhook requests include the following headers for authentication and verification:

Header Description
X-PARTNER-ID Your client identifier
X-TIMESTAMP Request timestamp in ISO8601 format (e.g., 2024-12-18T16:21:07+07:00)
X-SIGNATURE RSA signature for request verification (see Signature Generation)

Payload Structure

All v2 webhooks use the unified envelope: { event, timestamp, data }.

Name Type Description
event string Event name: "transaction_settlement.settled"
timestamp string Webhook dispatch timestamp (ISO 8601)
data.id string TransactionSettlement ID (ULID with "txs" prefix)
data.total_amount string Gross settlement amount
data.fee_amount string Total fee amount
data.nett_amount string Net amount after fees
data.transaction_count integer Number of transactions included in this settlement
data.started_at string/null When settlement was initiated (ISO 8601)
data.settled_at string When settlement completed (ISO 8601)
data.description string/null Settlement description (if provided)

Example Payload

{
  "event": "transaction_settlement.settled",
  "timestamp": "2026-03-22T10:05:00+07:00",
  "data": {
    "id": "txs-01jq7m3k9xzv2b8n4hd5tcfw6e",
    "total_amount": "1500000.00",
    "fee_amount": "15000.00",
    "nett_amount": "1485000.00",
    "transaction_count": 12,
    "started_at": "2026-03-22T09:00:00+07:00",
    "settled_at": "2026-03-22T10:05:00+07:00",
    "description": "Daily settlement batch"
  }
}