Applies to: Payments API | Disputes API | OAuth API | Refunds API
Learn how to collect an application fee when processing payments using the Payments API.
You can create an application integrated with Square to process payments on behalf of sellers that sign up to use the application. You can collect a portion of each payment that your application processes as an application fee.
The CreatePayment and UpdatePayment endpoints support the app_fee_money and app_fee_allocations fields. When taking a payment, applications set these fields to collect an application fee. The fee can go to a single party using app_fee_money, or be distributed to up to 3 parties using app_fee_allocations. When the payment is complete, the payment amount is credited to the seller's Square account and the application fee is credited to the specified parties.
The Square account that receives application fees in a payment or has application fees taken in a refund is your account, as the developer of the application. It's the Square account that you sign in to when you're accessing the Developer Console. Application fees aren't deposited in a seller's Square account. The Square Dashboard for your account gives you a report of application fees received for a given period. For more information see Application fee reporting.
Note
When using app_fee_allocations, the application fee can be distributed to up to 3 Square accounts. For more information, see Distribute fees to multiple parties.
When there is a payment dispute (see Disputes API) for which the seller is liable for the entire sales amount, you keep your portion of the payment.
As application fee money accumulates in your Square account, you can transfer it to your linked bank account. You can set up an automatic daily balance transfer, which runs about 3 hours after the close of business hour that you set in your account. You can also use the Square Instant Transfer feature to get your current balance transferred immediately at a cost of 1.5% of the transfer amount. For more information, see Set Up and Manage Instant Transfers.
Square identifies the seller's Square account by reading the access token obtained in the OAuth code flow and used in the CreatePayment request. Your Square account is identified by the application ID associated with that access token.
Important
Developers collecting application fees should review Square Tax Reporting and Form 1099-K Overview.
When collecting application fees through your Square integration, be sure you meet these requirements:
Multiple Currency Support - If you plan to accept application fees in different currencies, you need to maintain separate Square accounts for each currency.
Country-Specific Accounts - You need to establish a Square account in each country where you intend to process payments.
Currency Matching Requirement - The seller's location currency needs to match the currency of your Square account in that same country. For example:
- For Canadian operations - Your Canadian sellers needs to use a Canadian Square account with the same currency as your Canadian Square account
- For US operations - Your US sellers needs to use a US Square account with the same currency as your US Square account
Application fees can only be collected for these specific payment methods:
- Card payments (see Card Payment)
- Cash App Pay payments (with source_type:
WALLET) - Afterpay payments (with source_type:
BUY_NOW_PAY_LATER) - ACH bank transfers (with source_type:
BANK_ACCOUNT)
- Not Applicable to Direct Payments: Application fees cannot be collected when using CreatePayment to record cash or external payments, as these transactions occur directly between buyer and seller without Square processing.
- Permission Requirements: To process payments on behalf of other Square sellers, your application needs to:
- Implement OAuth to obtain necessary permissions from sellers
- Use the OAuth token to authenticate CreatePayment requests
For more information about using OAuth in your application, see OAuth API.
Important
Australia only: Read the Product Disclosure Statement for the Payments API Application Fee (PAAF) service and the Financial Services Guide.
Square enforces maximum application fee limits to help each seller retain some portion of each payment's total_money. The maximum application fee depends on the payment amount and currency:
- When
total_moneyis at or above the threshold, the application fee cannot exceed 90% of total_money. - When
total_moneyis below the threshold, the application fee cannot exceed 60% of total_money.
The threshold amount for each currency is set to align with local market conditions and payment patterns:
| Currency | Threshold Amount |
|---|---|
| USD (US Dollar) | $5.00 |
| CAD (Canadian Dollar) | $5.00 |
| GBP (British Pound) | £4.00 |
| AUD (Australian Dollar) | $8.00 |
| EUR (Euro) | €5.00 |
| JPY (Japanese Yen) | ¥600 |
Note
Thresholds are determined based on typical transaction sizes and market conditions in each region, not exchange rates. These amounts are designed to provide appropriate limits for small-value transactions in each market.
USD Examples:
- A payment of $10.00 USD (at or above the $5.00 threshold) allows up to a 90% application fee ($9.00 maximum)
- A payment of $4.99 USD (below the $5.00 threshold) allows up to a 60% application fee ($2.99 maximum)
CAD Examples:
- A payment of $10.00 CAD (at or above the $5.00 threshold) allows up to a 90% application fee ($9.00 maximum)
- A payment of $4.99 CAD (below the $5.00 threshold) allows up to a 60% application fee ($2.99 maximum)
GBP Examples:
- A payment of £5.00 GBP (at or above the £4.00 threshold) allows up to a 90% application fee (£4.50 maximum)
- A payment of £3.99 GBP (below the £4.00 threshold) allows up to a 60% application fee (£2.39 maximum)
AUD Examples:
- A payment of $10.00 AUD (at or above the $8.00 threshold) allows up to a 90% application fee ($9.00 maximum)
- A payment of $7.99 AUD (below the $8.00 threshold) allows up to a 60% application fee ($4.79 maximum)
EUR Examples:
- A payment of €10.00 EUR (at or above the €5.00 threshold) allows up to a 90% application fee (€9.00 maximum)
- A payment of €4.99 EUR (below the €5.00 threshold) allows up to a 60% application fee (€2.99 maximum)
JPY Examples:
- A payment of ¥1000 JPY (at or above the ¥600 threshold) allows up to a 90% application fee (¥900 maximum)
- A payment of ¥500 JPY (below the ¥600 threshold) allows up to a 60% application fee (¥300 maximum)
This app_fee_money maximum is based on the payment's total_money amount (the sum of amount_money and tip_money). For more information, see Payment.
The app_fee_money and app_fee_allocations fields can be set in the following requests:
- In a CreatePayment request,
app_fee_moneyorapp_fee_allocationsindicates the application fee for a payment. Square takes the specified amount from the payment and deposits it in the designated accounts. - In an UpdatePayment request, You can update
app_fee_moneyorapp_fee_allocationsif a payment is in theAPPROVEDorPENDINGstate. For more information, see Update Payment and Tip Amounts. - In a RefundPayment request,
app_fee_moneyorapp_fee_allocationsdirects Square to take the specified amount from the designated accounts to pay for the refund. For more information, see Refund a Payment with an Application Fee. - In a CreatePaymentLink request, the
checkout_optionsfield provides theapp_fee_moneyoption to indicate the application fee for a payment to be paid in the payment link request. - In a CreateTerminalCheckout request, the
checkoutoptions field provides theapp_fee_moneyoption to indicate the application fee for a payment to be paid in the Terminal checkout request. For more information, see Additional Payment and Checkout Features.
After receiving a request with the app_fee_money amount and currency type, Square splits the payment (Square fees, an application fee, and the rest of the funds going to the seller). To understand payment splitting, consider a payment of $20.00 USD that includes an application fee of $2.00 USD. Square first takes its fee. Assuming 2.9% plus a $0.30 USD fee rate, Square receives $0.88 USD, which results in a net amount of $19.12 USD. You receive $2.00 USD from the net amount and the seller receives the remaining $17.12 USD.

The following is an example (CreatePayment endpoint) request. In the request:
The
Authorizationheader specifies the OAuth access token providing encoded information about the seller Square account and your Square account.amount_moneyspecifies the amount ($20.00 USD) to charge.app_fee_moneyspecifies $2.00 USD as the application fee.source_ididentifies the payment source. The example specifies a card on file as the payment source, which also requires thecustomer_idin the request.Create payment
After receiving the request, Square takes the $0.88 USD processing fee, deposits the $2.00 USD application fee in your Square account, and deposits the remaining $17.12 USD in the seller account. The following is an example response:
{ "payment": { "id": "AfUqQQo9b932Nbifl1v7example", "created_at": "2019-07-23T20:39:19.831Z", "updated_at": "2019-07-23T20:39:20.317Z", "amount_money": { "amount": 2000, "currency": "USD" }, "app_fee_money": { "amount": 200, "currency": "USD" }, "status": "COMPLETED", "source_type": "CARD", "card_details": { "status": "CAPTURED", "card": { "card_brand": "MASTERCARD", "last_4": "5809", "exp_month": 9, "exp_year": 2022, "fingerprint": "sq-1-..." }, "entry_method": "ON_FILE", "cvv_status": "CVV_ACCEPTED", "avs_status": "AVS_ACCEPTED", "auth_result_code": "revUcH" }, "location_id": "7WQ0KXC8ZSD90", "order_id": "j0gN8yDiDIrtDteHbEbxIS61Xa4F", "customer_id": "REK96J96AS5AN2Y8Z4H01QWYE8", "total_money": { "amount": 2000, "currency": "USD" } } }You might not see the processing fee immediately in the response. You can use a follow-up
GetPaymentrequest to review the payment and processing fee.Get payment
Platform businesses often involve multiple parties in a single transaction. For example, a veterinary supply platform might need to distribute fees to both itself and a pharmaceutical supplier when processing a payment for a veterinary clinic.
Use the app_fee_allocations field to distribute the application fee to up to 3 parties in a single transaction. Each allocation specifies a location_id and an amount_money.
When app_fee_allocations is present on a request, it takes precedence over app_fee_money. The developer must include their own location in the app_fee_allocations list to receive a share of the fee.
The following CreatePayment request distributes a $4.00 USD application fee between two parties:
{ "idempotency_key": "{UNIQUE_KEY}", "autocomplete": true, "amount_money": { "amount": 2000, "currency": "USD" }, "source_id": "ccof:customer-card-id", "customer_id": "CUSTOMER_ID", "location_id": "SELLER_LOCATION_ID", "app_fee_allocations": [ { "location_id": "DEVELOPER_LOCATION_ID", "amount_money": { "amount": 200, "currency": "USD" } }, { "location_id": "PARTNER_LOCATION_ID", "amount_money": { "amount": 200, "currency": "USD" } } ] }
The response includes both app_fee_money (the total application fee) and app_fee_allocations (the breakdown by party):
{ "payment": { "id": "ZSZHUj6My6yEQWHSvsPliv8jBLZZY", "created_at": "2026-02-23T18:20:22.465Z", "updated_at": "2026-02-23T18:20:23.568Z", "amount_money": { "amount": 2000, "currency": "USD" }, "app_fee_money": { "amount": 400, "currency": "USD" }, "app_fee_allocations": [ { "location_id": "DEVELOPER_LOCATION_ID", "amount_money": { "amount": 200, "currency": "USD" } }, { "location_id": "PARTNER_LOCATION_ID", "amount_money": { "amount": 200, "currency": "USD" } } ], "status": "COMPLETED", "location_id": "SELLER_LOCATION_ID", "total_money": { "amount": 2000, "currency": "USD" } } }
You can provide both app_fee_money and app_fee_allocations on the same request. When both are provided, the sum of the amounts in app_fee_allocations must equal the app_fee_money amount.
You can also provide app_fee_allocations without app_fee_money. In this case, Square calculates app_fee_money as the sum of the allocation amounts and includes it in the response.
The following rules apply to app_fee_allocations:
- The maximum number of allocations is 3.
- No duplicate
location_idvalues are allowed. - All allocation currencies must match.
- All locations must be in the same country as the seller.
- If both
app_fee_moneyandapp_fee_allocationsare provided, the allocation amounts must sum to theapp_fee_moneyamount. - If
app_fee_allocationsis present, the developer must include their own location in the list to receive a share of the fee.
Square sellers that sign up to use third-party applications must grant the necessary permissions so the application can perform tasks on their behalf. Use the OAuth flow to obtain the necessary permissions from sellers.
Among other permissions, you must obtain permission for the PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS action. The recommended minimum permissions are as follows:
PAYMENTS_WRITEPAYMENTS_READPAYMENTS_WRITE_ADDITIONAL_RECIPIENTSORDERS_READORDERS_WRITE
By granting these permissions, Square sellers indicate that you're allowed to take a portion of a payment as an application fee. That is, when taking a payment on behalf of these Square sellers (using the Payments API), the application can specify app_fee_money or app_fee_allocations.
Note
When using app_fee_allocations, your application must have the PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS permission authorized for every location in the allocations list.
When processing payments on behalf of sellers, it's important to understand the various fees that may be assessed. In addition to standard processing fees and any application fees you collect, Square may charge additional fees based on the payment characteristics.
Square charges an International Transaction Fee when a payment is made with a credit or debit card issued outside the seller's home country. This fee is separate from standard processing fees and is automatically assessed based on the card's country of issuance.
For current international transaction fee rates by market, see International Transaction Fees.
The Payment object includes detailed fee information in the processing_fee field, which is an array of ProcessingFee objects. When international transaction fees apply, they are automatically included in the total processing fee amount.
Note
International transaction fees are aggregated into the total processing fee amount, not shown as separate line items. This means existing accounting integrations and reporting tools will continue to work without modification.
When you retrieve a payment using the GetPayment endpoint, the response includes the combined processing fees:
{ "payment": { "id": "AfUqQQo9b932Nbifl1v7example", "amount_money": { "amount": 10000, "currency": "USD" }, "processing_fee": [ { "effective_at": "2026-01-15T19:27:00.000Z", "type": "INITIAL", "amount_money": { "amount": -425, "currency": "USD" } } ], "total_money": { "amount": 10000, "currency": "USD" }, "status": "COMPLETED" } }
In this example for a payment with an internationally-issued card:
- The combined processing fee is $4.25 (shown as -425 cents)
- This includes the standard processing fee of $2.75
- Plus the international transaction fee of $1.50
- The total payment amount is $100.00
Note
Fee amounts in the processing_fee array are always negative or zero, representing money deducted from the payment. The amounts are specified in the smallest currency unit (for example, cents for USD).
Important
The processing_fee amount includes all applicable fees (standard processing fees, international transaction fees, and any other fee adjustments). You cannot determine the individual fee components from the Payment API response alone. For detailed fee breakdowns, sellers can view their transaction reports in the Square Dashboard.
When collecting application fees, be aware that processing fees (including international transaction fees) are deducted before your application fee is calculated. The payment flow is:
- Total payment amount
- Minus: Square processing fees (including international transaction fees if applicable)
- Minus: Your application fee
- Equals: Amount deposited to seller's account
For example, with a $100 payment that includes a $2.75 standard processing fee, a $1.50 international transaction fee, and a $5.00 application fee:
- Payment amount: $100.00
- Square processing fees: -$4.25 ($2.75 + $1.50)
- Application fee: -$5.00
- Seller receives: $90.75
