Transfers in Pinch Payments

How settled funds are batched and transferred to your bank account, including how to reconcile line items.

Overview

A Transfer in Pinch Payments represents the settlement of funds from collected payments to a merchant's bank account. When payments are successfully processed through Pinch, the funds are batched and then transferred to merchants. Each transfer provides a complete record of the settlements, fees, refunds, and any dishonoured payments that make up the final amount deposited into the merchant's account.

What is a Transfer?

A Transfer is created whenever there are payments ready to be settled to a merchant's bank account. Each transfer contains the following key information:

  • Successful payments (Settlements) - Payments that have been successfully collected
  • Failed payments (Dishonours) - Payments that were initially processed but later failed
  • Refunds - Any refunds issued against successful payments
  • Application fees - Any additional fees charged on the platform
  • Processing fees - Pinch's fees for processing the payments

The transfer amount represents the net value after deducting all fees from the gross collection.

Why Transfers Happen

Transfers occur as part of Pinch's settlement process. Here's the typical flow:

  • Payment Collection - Payments are collected from payers via bank account (direct debit) or credit card
  • Processing - Payments are processed and sent to the bank/payment provider
  • Bank Results - Results come back indicating success or failure
  • Settlement Creation - Successful payments create settlement records
  • Transfer Creation - Outstanding settlements are grouped into transfers
  • Transfer Export - Transfers are exported and sent to banking partners
  • Funds Deposited - Money arrives in the merchant's bank account

Transfer line items

Each transfer contains a list of line items that represent the individual debits and credits making up the net amount. Use GET /transfers/items/{transferId} to retrieve them.

Line item types

TypeMeaning
SettlementA successfully collected payment contributing funds to this transfer
DishonourA payment that failed after it was initially included in an earlier transfer; the amount is clawed back
RefundA refund issued against a settled payment; reduces the transfer amount
ApplicationFeeA fee charged by the platform (e.g. your application's per-transaction fee)
ProcessingFeePinch's processing fee deducted for a specific payment

Key line item fields

FieldMeaning
paymentIdThe pmt_ prefixed ID of the associated payment
typeOne of the line item types above
amountAmount in cents (positive = funds in, negative = funds out)
feeAmountThe fee portion in cents for this line item
taxAmountGST/tax on the fee, in cents
descriptionThe payment description set when the payment was created

Reconciling a transfer

The typical reconciliation workflow is:

  1. Receive the transfer event via webhook (or poll GET /transfers). This tells you a transfer has been created and its transferId.
  2. Fetch transfer details: GET /transfers/{id} to confirm the net amount, date, and destination account.
  3. Fetch line items: GET /transfers/items/{id} to match each Settlement line item back to payments in your own system using paymentId.
  4. Reconcile dishonours: Dishonour line items indicate previously settled payments that later failed. Cross-reference these against the payments in your system and update their status.
  5. Reconcile refunds: Refund line items correspond to refunds you issued. Match by paymentId to confirm they have been settled.
💡

Each Settlement and Dishonour line item carries the paymentId you stored when the original payment was created. Keep paymentId values in your database to make reconciliation straightforward.

Detecting a transfer via webhook

Subscribe to the transfer event type. The event payload includes the transfer ID, amount, and a summary of settlement counts:

{
  "Id": "evt_tra001",
  "Type": "transfer",
  "EventDate": "2026-07-15T08:00:00.000Z",
  "Metadata": {
    "TransferId": "tra_abc123",
    "Amount": 95000,
    "SettlementCount": 10,
    "DishonourCount": 1
  },
  "Data": {
    "Transfer": {
      "Id": "tra_abc123",
      "Amount": 95000,
      "TransferDate": "2026-07-15T00:00:00.000Z",
      "Status": "exported"
    }
  }
}

After receiving this event, call GET /transfers/items/tra_abc123 to retrieve the full line items.

Related guides

  • Refunds: issuing refunds and how they appear in transfers
  • Statements: downloading daily statement PDFs
  • Events Guide: the transfer event payload

Did this page help you?