Skip to main content
Platform Settlements is in private beta. Requires an approved Platform Partner account.

Overview

When a Platform Intent is completed, the funds enter a structured settlement pipeline. Pandabase handles the full lifecycle: collecting from the customer, holding funds during the compliance window, distributing the merchant’s share to their bank account, and accumulating your platform fees for weekly payout.

Settlement timeline

DayEventDescription
T+0Payment collectedCustomer pays via Platform Intent
T+0Fraud screeningAutomated fraud and risk analysis runs against the transaction
T+1Compliance hold24-hour hold window for early fraud alerts and dispute signals
T+2Merchant settlementFunds released to the merchant’s bank account
WeeklyPlatform fee payoutYour accumulated platform fees are paid out every Monday
Settlement timing may be extended for merchants in RESTRICTED status or during active compliance investigations. High-risk transactions may be held for up to 7 days before release.

Settlement schedule exceptions

ConditionEffect
Merchant in RESTRICTED statusSettlements held until restriction is lifted
Transaction flagged by fraud screeningHeld for manual review (up to 7 days)
Active compliance investigationAll settlements held until investigation concludes
Bank holidaysSettlement pushed to next business day
Failed bank transferRetried automatically up to 3 times over 5 business days

Fee distribution

For every Platform Intent, funds are split between three parties: Pandabase, your platform, and the merchant.

Example: 50.00transactionwith50.00 transaction with 5.00 platform fee

ComponentAmountRecipient
Customer pays$50.00
Pandabase MoR fee (5.9% + $0.20)$3.15Pandabase
Platform fee$5.00Your platform
Merchant receives$41.85Merchant

Example: 10.00transactionwith10.00 transaction with 1.00 platform fee

ComponentAmountRecipient
Customer pays$10.00
Pandabase MoR fee (5.9% + $0.20)$0.79Pandabase
Platform fee$1.00Your platform
Merchant receives$8.21Merchant
The fee breakdown is included in the intent response at creation time, so both you and the merchant know the exact split before the customer pays.

Querying settlements

List merchant settlements

GET /v2/platforms/settlements?merchantId=shp_xxx&status=COMPLETED&from=2026-03-01&to=2026-03-31
Authorization: Platform plt_xxx
X-Platform-Signature: {signature}

Query parameters

ParameterTypeDefaultDescription
merchantIdstringFilter by merchant. If omitted, returns settlements across all merchants.
statusstringAllFilter by settlement status
fromstringStart date (ISO 8601)
tostringEnd date (ISO 8601)
pageinteger1Page number
limitinteger25Items per page (max 100)

Response

{
  "ok": true,
  "data": {
    "items": [
      {
        "id": "stl_xxx",
        "intentId": "pti_xxx",
        "merchantId": "shp_xxx",
        "grossAmount": 4999,
        "pandabaseFee": 315,
        "platformFee": 500,
        "netAmount": 4184,
        "status": "COMPLETED",
        "initiatedAt": "2026-03-22T06:00:00.000Z",
        "settledAt": "2026-03-22T08:00:00.000Z",
        "reference": "po_xxx"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 25,
      "total": 142,
      "totalPages": 6
    },
    "summary": {
      "totalGross": 665000,
      "totalSettled": 595000,
      "totalPlatformFees": 71000,
      "totalPandabaseFees": 39200,
      "transactionCount": 142
    }
  }
}
The summary object provides aggregate totals for the filtered result set. Use it for reporting and reconciliation without needing to sum individual records.

Settlement statuses

StatusDescription
PENDINGPayment collected, currently in the compliance hold period
PROCESSINGSettlement initiated, funds are being transferred to the merchant’s bank
COMPLETEDFunds successfully delivered to the merchant
HELDSettlement held for investigation or due to merchant restriction
FAILEDSettlement failed (bank rejection, invalid account details, etc.)

Retrieving a single settlement

GET /v2/platforms/settlements/{settlementId}
Authorization: Platform plt_xxx
X-Platform-Signature: {signature}
Response:
{
  "ok": true,
  "data": {
    "id": "stl_xxx",
    "intentId": "pti_xxx",
    "merchantId": "shp_xxx",
    "grossAmount": 4999,
    "pandabaseFee": 315,
    "platformFee": 500,
    "netAmount": 4184,
    "status": "COMPLETED",
    "bankAccount": {
      "last4": "7890",
      "bankName": "Chase",
      "type": "ACH"
    },
    "timeline": [
      {
        "status": "PENDING",
        "timestamp": "2026-03-20T12:05:00.000Z"
      },
      {
        "status": "PROCESSING",
        "timestamp": "2026-03-22T06:00:00.000Z"
      },
      {
        "status": "COMPLETED",
        "timestamp": "2026-03-22T08:00:00.000Z"
      }
    ],
    "initiatedAt": "2026-03-22T06:00:00.000Z",
    "settledAt": "2026-03-22T08:00:00.000Z",
    "reference": "po_xxx"
  }
}

Platform fee payouts

Your platform fees accumulate across all merchant transactions and are paid out every Monday to your registered bank account.

Querying platform payouts

GET /v2/platforms/payouts?from=2026-03-01&to=2026-03-31
Authorization: Platform plt_xxx
X-Platform-Signature: {signature}

Query parameters

ParameterTypeDefaultDescription
statusstringAllFilter by payout status: PENDING, PROCESSING, COMPLETED, FAILED
fromstringStart date (ISO 8601)
tostringEnd date (ISO 8601)
pageinteger1Page number
limitinteger25Items per page (max 100)

Response

{
  "ok": true,
  "data": {
    "items": [
      {
        "id": "ppay_xxx",
        "amount": 15400,
        "transactionCount": 87,
        "periodStart": "2026-03-11T00:00:00.000Z",
        "periodEnd": "2026-03-17T23:59:59.000Z",
        "status": "COMPLETED",
        "paidAt": "2026-03-18T08:00:00.000Z",
        "bankAccount": {
          "last4": "1234",
          "bankName": "Silicon Valley Bank",
          "type": "ACH"
        }
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 25,
      "total": 12,
      "totalPages": 1
    }
  }
}

Minimum payout threshold

Platform fee payouts require a minimum accumulated balance of $25.00. If your fees are below this threshold at the Monday payout cutoff, they roll over to the next cycle.

Payout schedule

DayAction
Monday 00:00 UTCPayout cutoff. All fees accumulated since the last cutoff are included.
Monday 06:00 UTCPayout initiated to your bank account.
Monday to WednesdayFunds arrive depending on your bank and transfer method (ACH, SEPA, SWIFT).

Refunds and disputes

When a refund or dispute occurs on a Platform Intent, the financial impact flows through the settlement pipeline.

Refunds

  • The refund amount is deducted from the merchant’s available balance
  • The Pandabase MoR fee is not returned on refund
  • Platform fee refund behavior is configurable per platform. By default, your platform fee is not refunded. Contact platforms@pandabase.io to change this.
  • If the merchant’s balance is insufficient, the refund is queued until balance is available

Disputes

  • The disputed amount plus the $20 dispute fee is deducted from the merchant’s balance immediately
  • If the merchant’s balance is insufficient, the deficit is deducted from your next platform fee payout
  • If the dispute is won, both the disputed amount and the $20 fee are restored to the merchant’s balance
  • If the dispute is lost, the deductions are permanent

Dispute liability waterfall

When a merchant’s balance cannot cover a dispute, the liability cascades:
PrioritySourceDescription
1Merchant balanceDeducted first from the merchant’s available balance
2Pending settlementsHeld settlements for the merchant are applied
3Platform fee offsetDeficit deducted from your next platform fee payout
4Platform reserveIf enabled, drawn from your platform reserve balance
Platforms with an aggregate dispute rate exceeding 1% across all merchants may be placed under review. Monitor your merchants’ dispute rates through the settlements API or the platform dashboard.

Settlement webhooks

EventDescription
SETTLEMENT_PENDINGPayment completed, settlement entered the compliance hold
SETTLEMENT_PROCESSINGSettlement initiated to merchant’s bank account
SETTLEMENT_COMPLETEDFunds delivered to merchant
SETTLEMENT_FAILEDSettlement failed (bank rejection, invalid details)
SETTLEMENT_HELDSettlement held for investigation
SETTLEMENT_RELEASEDPreviously held settlement released for processing
PLATFORM_PAYOUT_PROCESSINGWeekly platform fee payout initiated
PLATFORM_PAYOUT_COMPLETEDPlatform fee payout delivered to your bank
PLATFORM_PAYOUT_FAILEDPlatform fee payout failed

Example webhook payload

{
  "event": "SETTLEMENT_COMPLETED",
  "platformId": "plt_xxx",
  "merchantId": "shp_xxx",
  "timestamp": "2026-03-22T08:00:00.000Z",
  "data": {
    "settlementId": "stl_xxx",
    "intentId": "pti_xxx",
    "grossAmount": 4999,
    "pandabaseFee": 315,
    "platformFee": 500,
    "netAmount": 4184,
    "bankAccount": {
      "last4": "7890"
    }
  }
}

Reconciliation

For end-of-period reconciliation, use the settlement list endpoint with date range filters. The summary object in the response provides pre-calculated totals. To reconcile your platform fee payouts against individual settlements:
  1. Query settlements for the payout period using from and to parameters
  2. Sum the platformFee field across all COMPLETED settlements
  3. This total should match the amount field on the corresponding platform payout
If there is a discrepancy, check for:
  • Disputes that offset your platform fee during the period
  • Refunds with platform fee clawback enabled
  • Settlements in HELD or FAILED status that were excluded from the payout

Error codes

CodeStatusDescription
SETTLEMENT_NOT_FOUND404No settlement found with the given ID
PAYOUT_NOT_FOUND404No platform payout found with the given ID
INVALID_DATE_RANGE400The from date is after the to date