Guides

Commissions

Commissions are earnings accrued by your organization on payments processed through Nexpay. You can track commissions per payment, view outstanding totals, export reports, and submit withdrawal requests with supporting invoices.


Before you start

You will need a valid API key to authenticate your requests.

JSON examples show the unwrapped `data` payload

Every success response on the wire is { "data": { ... } }. The JSON examples in this guide show the inner data value — what you get after const { data } = await response.json(). List responses also include top-level hasMore, count, and sometimes total. Error responses are not wrapped — see Errors.

Listing commissions

Retrieve a paginated list of commissions for your organization:

curl 'https://api.nexpay.com.au/v2/commissions?limit=15&skip=0' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret'

Each commission entry is tied to a payment and includes the amounts and spread:

{
  "commissions": [
    {
      "paymentId": 123,
      "studentName": "John Doe",
      "payeeName": "University of Sydney",
      "payerAmount": 5125.5,
      "payerCurrency": "USD",
      "commissionAmount": 51.25,
      "commissionCurrency": "AUD",
      "commissionSpread": 0.01,
      "paymentDate": "2026-03-10T08:30:00.000Z"
    }
  ]
}

Commission fields

FieldDescription
paymentIdThe payment this commission was earned on.
payerAmountTotal amount the payer sent.
commissionAmountCommission earned on this payment.
commissionCurrencyCurrency of the commission.
commissionSpreadCommission rate as a decimal (e.g. 0.01 = 1%).
paymentDateWhen the payment was completed.
commissionRequestDateWhen a withdrawal was requested (if applicable).
commissionPaidDateWhen the commission was paid out (if applicable).

Viewing outstanding commissions

Get a summary of commissions that haven't been requested for withdrawal yet, with per-currency totals:

curl 'https://api.nexpay.com.au/v2/commissions/outstanding' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret'
{
  "items": [
    {
      "paymentId": 123,
      "commissionAmount": 51.25,
      "commissionCurrency": "AUD",
      "paymentDate": "2026-03-10T08:30:00.000Z"
    }
  ],
  "totals": [
    { "currency": "AUD", "amount": 512.5 },
    { "currency": "USD", "amount": 125.0 }
  ],
  "thresholdMet": true
}

The thresholdMet field indicates whether your outstanding commissions meet the minimum payout threshold.


Exporting commissions

Download a CSV report of commissions for a specific month:

curl 'https://api.nexpay.com.au/v2/commissions/export?reportPeriod=2026-03' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret' \
  -o commissions-2026-03.csv

The reportPeriod query parameter must be in yyyy-MM format (e.g. 2026-03 for March 2026).


Creating a commission request

To withdraw your accrued commissions, submit a commission request with the payment IDs and total amount. You can optionally attach an invoice:

curl -X POST 'https://api.nexpay.com.au/v2/commissions/requests' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret' \
  -F 'paymentIds=[123,456,789]' \
  -F 'commissionTotalAmount=512.50' \
  -F 'invoice=@invoice.pdf'
{
  "requestId": 1,
  "status": "submitted",
  "totalAmount": 512.5,
  "paymentCount": 3,
  "createdOn": "2026-03-12T10:00:00.000Z",
  "payments": [
    {
      "paymentId": 123,
      "studentName": "John Doe",
      "commissionAmount": 51.25,
      "commissionCurrency": "AUD"
    }
  ]
}

Request fields

FieldTypeRequiredDescription
paymentIdsnumber[]YesArray of payment IDs to include in the request (minimum 1).
commissionTotalAmountstringYesTotal commission amount being requested.
invoicefileNoInvoice document (multipart file upload).

Managing commission requests

Listing requests

curl 'https://api.nexpay.com.au/v2/commissions/requests' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret'

Getting a single request

curl 'https://api.nexpay.com.au/v2/commissions/requests/1' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret'

Updating a request (re-uploading invoice)

You can re-upload an invoice for a request that hasn't been paid yet:

curl -X PUT 'https://api.nexpay.com.au/v2/commissions/requests/1' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret' \
  -F 'invoice=@invoice.pdf'

Downloading documents

Invoice

Download the invoice attached to a commission request:

curl 'https://api.nexpay.com.au/v2/commissions/requests/1/invoice' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret' \
  -o invoice.pdf

Proof of payment

After a commission request is marked as paid, download the proof of payment:

curl 'https://api.nexpay.com.au/v2/commissions/requests/1/proof' \
  -H 'X-API-Key: nxp_ck_your-client-id:nxp_sk_your-secret' \
  -o proof-of-payment.pdf

Commission request statuses

StatusDescription
submittedRequest has been submitted and is awaiting review.
paidCommission has been paid out. Proof of payment is available for download.
rejectedRequest was rejected. You can review and resubmit with updated details.

Things to know

  • Commissions are automatically calculated for each payment based on your organization's commission spread.
  • The commissionSpread is a decimal value (e.g. 0.01 = 1%). See Percentages.
  • Outstanding commissions must meet a minimum threshold before a withdrawal request can be submitted.
  • You can only re-upload invoices for requests in submitted status.
  • Proof of payment documents are only available after a request is marked as paid.
Previous
Uploading documents