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
| Type | Meaning |
|---|---|
Settlement | A successfully collected payment contributing funds to this transfer |
Dishonour | A payment that failed after it was initially included in an earlier transfer; the amount is clawed back |
Refund | A refund issued against a settled payment; reduces the transfer amount |
ApplicationFee | A fee charged by the platform (e.g. your application's per-transaction fee) |
ProcessingFee | Pinch's processing fee deducted for a specific payment |
Key line item fields
| Field | Meaning |
|---|---|
paymentId | The pmt_ prefixed ID of the associated payment |
type | One of the line item types above |
amount | Amount in cents (positive = funds in, negative = funds out) |
feeAmount | The fee portion in cents for this line item |
taxAmount | GST/tax on the fee, in cents |
description | The payment description set when the payment was created |
Reconciling a transfer
The typical reconciliation workflow is:
- Receive the
transferevent via webhook (or pollGET /transfers). This tells you a transfer has been created and itstransferId. - Fetch transfer details:
GET /transfers/{id}to confirm the net amount, date, and destination account. - Fetch line items:
GET /transfers/items/{id}to match eachSettlementline item back to payments in your own system usingpaymentId. - Reconcile dishonours:
Dishonourline items indicate previously settled payments that later failed. Cross-reference these against the payments in your system and update their status. - Reconcile refunds:
Refundline items correspond to refunds you issued. Match bypaymentIdto confirm they have been settled.
EachSettlementandDishonourline item carries thepaymentIdyou stored when the original payment was created. KeeppaymentIdvalues 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
transferevent payload
Updated 4 days ago
