Overview

Platform Billing lets your registration platform collect its own fees on top of (or alongside) merchant transactions. The amount you collect from Platform Billing is deposited to your bank account and is not shared with SportsPay.

There are two ways to charge a Platform fee:

  • Platform Fee (PLATFEE) — added on top of the transaction amount. The cardholder pays.
  • Platform Charge (PLATCHRG) — subtracted from the approved transaction amount. The merchant pays.

A single transaction can have either a Platform Fee or a Platform Charge, but not both. Either can be combined with CustomerPay (USERFEE).

Choosing Between Fee and Charge

Platform FeePlatform Charge
FieldPLATFEEPLATCHRG
Who paysCardholderMerchant
Effect on the cardholder's totalIncreases (AMT + PLATFEE)None — they pay AMT
Effect on the merchant's depositNone — they receive AMTDecreases (AMT − PLATCHRG)
Best forVisible service fees passed to the registrantRevenue share or platform commissions transparent to the cardholder

How to Charge a Platform Fee or Charge

The mechanics differ slightly between integration methods.

Direct with Embedded Tokenization

Include PLATFEE or PLATCHRG directly on the Sale (or Force Post, Pre-Auth, Completion) request. Use dollars-and-cents format.

curl --request POST --url {gateway_endpoint}/ \
  --header 'Content-Type: application/json' \
  --data '{
    "TERMID":   "your_termid",
    "PASS":     "your_pass",
    "TYPE":     "S",
    "AMT":      "125.00",
    "PLATFEE":  "5.00",
    "REF":      "reg-20260412-001",
    "TOKEN":    "4xxxxxxxxxxx1111",
    "JSON":     "Y"
  }'

The cardholder is charged AMT + PLATFEE = $130.00. The merchant receives AMT = $125.00. The platform receives PLATFEE = $5.00.

Customized Checkout and Embedded Components

You can pass PLATFEE or PLATCHRG directly on StartSession like Direct, or use the universal PLATFORM field and let the gateway decide.

When you send PLATFORM, the gateway looks at the merchant's pricing model:

  • If the merchant is CustomerPay-enabled, PLATFORM is applied as a PLATFEE (cardholder pays).
  • Otherwise, PLATFORM is applied as a PLATCHRG (merchant pays).

This is useful when you want the fee to behave consistently across your merchant base regardless of whether each merchant is enrolled in CustomerPay.

curl --request POST --url {gateway_endpoint}/ \
  --header 'Content-Type: application/json' \
  --data '{
    "TERMID":   "your_termid",
    "PASS":     "your_pass",
    "TYPE":     "W",
    "ACTION":   "StartSession",
    "AMT":      "125.00",
    "PLATFORM": "5.00",
    "CUSTEMAIL":"[email protected]",
    "REQUESTID":"reg-20260412-001",
    "JSON":     "Y"
  }'

Note: You can mix PLATFORM with explicit PLATFEE or PLATCHRG as long as you only send one of them. Sending all three on the same request is rejected.

Refunds

Platform fees and charges do not refund automatically. When you issue a Refund (TYPE=R) for a transaction that had a Platform Fee or Charge, you must explicitly include the field on the refund:

  • Include PLATFEE to refund the cardholder for the Platform Fee they were charged.
  • Include PLATCHRG to credit the merchant for the Platform Charge that was withheld.

You can refund a partial amount of either field, which lets you allocate refunds between your platform and the merchant. For example:

  • Sale: AMT=125.00, PLATFEE=5.00 → cardholder paid $130.00, merchant got $125.00, you got $5.00.
  • Refund: AMT=125.00, PLATFEE=0.00 → cardholder refunded $125.00, you keep the $5.00.

Or:

  • Sale: AMT=125.00, PLATCHRG=5.00 → cardholder paid $125.00, merchant got $120.00, you got $5.00.
  • Refund: AMT=125.00, PLATCHRG=5.00 → cardholder refunded $125.00, merchant credited $5.00, you give back $5.00.

Enabling Platform Billing on a Terminal

Platform Billing is enabled per merchant terminal:

  • ENABLE PLAT FEE must be set on the terminal to allow PLATFEE requests.
  • ENABLE PLAT CHRG must be set on the terminal to allow PLATCHRG requests.

These settings are configured by SportsPay during onboarding. Partners with questions about enabling Platform Billing on a merchant's terminal can email [email protected].

Combining with CustomerPay

Platform Billing and CustomerPay can be charged on the same transaction:

{
  "AMT":     "125.00",
  "USERFEE": "0.80",
  "PLATFEE": "5.00"
}

The cardholder is charged AMT + USERFEE + PLATFEE = $130.80. The merchant receives AMT = $125.00. SportsPay collects USERFEE. Your platform collects PLATFEE.

See CustomerPay for the full CustomerPay contract.

API Reference

For the full field reference, see the API Reference for the transaction type you're using: