Flint vs Square
Flint Pay vs Square for selling online: the commerce API, without a monthly plan.
For a business selling online or in an app, the difference is what comes with the API and what you pay each month. Square’s Orders API adds a 1% fee per transaction when another processor takes the payment, its Refunds API doesn’t support itemized refunds, and since October 2025 its Plus and Premium plans cost $49 and $149 per location per month. Flint Pay includes orders, catalog and variants, inventory, line-item refunds, promotions, automatic US sales tax, hosted checkout, payment links, invoices, and subscriptions behind one API, with no monthly fee.
3.79% + 35¢ on cards · no monthly fee · free sandbox · no credit card
last reviewed 2026-10-15 · sources
01Side by side
Flint vs Square, need by need.
The Square column is what Square's own developer docs, pricing pages, and staff say today, each linked under Sources. The Flint column is what a Flint account does, with the API name behind it.
| What you need | Square APIs and plans | Flint |
|---|---|---|
| Monthly plan | Square APIs and plans: Square Free $0, Square Plus $49, or Square Premium $149, per location per month, since the October 2025 plan change. | Flint: One plan with no monthly fee. Checkout, payment links, orders, catalog and inventory, discounts, fulfillment, returns, refunds, and the buyer account are included. |
| Orders with your processor | Square APIs and plans: No transaction fee for orders paid with Square payments; 1% per transaction when the Orders API is used with a non-Square processor. Square Orders API fee | Flint: Orders are the core record, included in the card rate. Every checkout, payment link, invoice, and renewal creates one.POST /v1/orders |
| Refund one item | Square APIs and plans: “The Refunds API doesn’t support itemized refunds.” RefundPayment takes a payment and an amount. Square API item refunds | Flint: Refund by line item and quantity. Flint computes the item's share of the discount and the tax and caps each line at what is left on it.line_item_allocations |
| Tax on a refunded item | Square APIs and plans: A Square staff reply in September 2026: the return an API refund generates is one custom amount line with zero tax. | Flint: Flint computes the line's share of the tax and refunds it with the item.line_item_allocations |
| Exchanges | Square APIs and plans: The Orders API doesn't support programmatically exchanging order items; exchanges run in Square products such as Point of Sale. | Flint: Return resolutions include exchanges and replacements, with any price difference settled either way.resolution_type |
| Restock a return | Square APIs and plans: The returned-by-customer inventory state is read-only to the Inventory API. An app adds units from an unlinked return, which Square counts as new stock. | Flint: A Return with a sellable disposition puts the item back in stock at the location you name, tied to the order it came from.POST /v1/returns/{return_id}/process |
02One item back
What does it take to refund one item through Square's API?
Square's docs say the Refunds API doesn't support itemized refunds. The same page says an app can use the Orders API for itemized refunds, but a Square staff reply on its developer forum in September 2026 said that sentence describes how an existing itemized refund reads, and that itemized returns aren't possible via the API today. The left pane is the path Square's docs and staff describe for one chipped mug out of three. The right pane is the same refund on Flint.
# 1. Your code works out one mug's share of the order:
# line total_money / quantity, cents assigned by your own rule
# 2. Refund that amount. RefundPayment has no order or line item field.
curl https://connect.squareup.com/v2/refunds \
-X POST \
-H "Square-Version: 2026-09-16" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"idempotency_key": "refund-order-1042-mug-unit-1",
"payment_id": "PAYMENT_ID",
"amount_money": { "amount": 1273, "currency": "USD" },
"reason": "Mug arrived chipped (line 8uSwfzvUImn3IRrvciqlXC, 1 of 3)"
}'
# 3. Square records a CUSTOM_AMOUNT return with zero tax, so
# write the item, its tax, and the refunded units to your ledger.
# 4. Put the mug back with an Inventory API adjustment from
# UNLINKED_RETURN to IN_STOCK, which Square counts as new stock.The item, its share of discount and tax, and the units already refunded live in your database: per the September 2026 Square staff reply, an API refund records one custom amount return line with zero tax.
curl -X POST https://api.withflintpay.com/v1/refunds \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: refund-ord-1042-mug" \
-H "Content-Type: application/json" \
-d '{
"order_id": "ord_1kmn0aExample",
"reason": "defective_product",
"line_items": [
{ "order_line_item_id": "li_1kmn0aExample", "quantity": 1 }
]
}'
# part of the response
{
"line_item_allocations": [
{
"order_line_item_id": "li_1kmn0aExample",
"quantity": 1,
"automatic_refund": {
"subtotal_money": { "amount": 1299, "currency": "USD" },
"discount_money": { "amount": 130, "currency": "USD" },
"tax_money": { "amount": 104, "currency": "USD" },
"total_money": { "amount": 1273, "currency": "USD" }
}
}
]
}Flint caps the line at what is left on it, so the same mug can't be refunded twice. A Return on the same order also puts it back in stock.
03Monthly cost
How much does Square cost per month for selling online?
Square’s plans are priced per location: Square Free at $0, Square Plus at $49, and Square Premium at $149 a month, which replaced 18 separate subscriptions in October 2025. A business with three locations on Square Plus pays $147 a month before any payment. Teams that build on Square’s Orders API and take payments with another processor pay 1% of each payment on top, which is $250 a month on $25,000 of payments.
Flint has one plan with no monthly fee. Cards are 3.79% + 35¢, which covers Stripe’s processing fees and the commerce system. Invoices and subscriptions are 0.40% each, and automatic tax is 0.50% on payments that carry tax, only when you use them.
04Included
What does a Flint account include for selling online?
One API, one dashboard, and a hosted checkout and buyer account, from the day you create your account.
Every checkout, payment link, invoice, and subscription renewal creates an order with line items and server-computed totals.
POST /v1/ordersProducts carry options and variants, plus categories, modifier sets, and bundles.
POST /v1/productsStock is held per location when payment starts, committed on success, and released on failure.
held_quantityCodes and automatic promotions stack by rules you set, with a preview call that shows the result first.
POST /v1/discount-previewsAutomatic US sales tax is computed after discounts and recorded on each line item and in the order total.
tax_moneyReturns run from a policy, with inspections, restocking fees, exchanges, and replacements.
POST /v1/returnsHosted checkout and payment links collect what the order owes, with tip presets when you want them.
POST /v1/checkout-sessionsInvoices carry payment terms with a fixed or percentage late fee and reminders on your schedule.
late_fee_policySubscription renewals are orders, so a box ships and gets taxed every cycle.
POST /v1/subscriptionsThe commerce API →Selling physical goods on Flint →Payment links →Invoices →
05Who Flint is for
Flint is built for US businesses selling online and in apps.
If that describes you, everything above is running the day you create your account.
US businesses
Flint onboards businesses in the US and pays out in USD to your own bank account. Buyers can pay from anywhere with a card.
Online and in-app
Hosted checkout, payment links, invoices, or Stripe Elements on your own web pages, with cards, Apple Pay, Google Pay, ACH debit, and Affirm. In-store sales stay on your point of sale.
Goods and services
Orders that ship, get picked up, deliver locally, or fulfill as a download or a service, with stock held at payment.
Developers and agents
A public OpenAPI spec, Node and PHP SDKs, a CLI, llms.txt, and MCP servers a coding agent can read.
06Switching
How do you move online sales from Square to Flint?
One flow at a time. Card entry moves from Square's Web Payments SDK to Stripe Elements, so your frontend tokenization code changes along with the backend calls.
Recreate the catalog
POST /v1/productsCreate each product with its options and variants, and keep the Square catalog object id in metadata so your reports resolve during the cutover.
Replace Square payment links
POST /v1/payment-linksCreate a Flint payment link for each reusable sales page, or a checkout session when your app opens one hosted checkout for one buyer and one order.
Move subscribers
POST /v1/subscriptionsRecreate each plan variation as a subscription plan. Flint has no card import, so each subscriber saves a card on Flint once, in the hosted buyer account or on your own page. Then create their subscription with an imported billing start set to the start of the period Square already billed. Flint charges nothing for that period and takes over at the next renewal.
Fulfill from order.paid
order.paidPoint your webhook handling at Flint's order events and verify Flint's webhook signatures in place of Square's.
Go live
Run each flow in a sandbox with Stripe's test cards, then switch to live keys. The host and the paths stay the same.
07Start
From a sandbox key to a paid test order in ten minutes.
Node
CLI
Test keys are prefixed flint_test_ and bound to a sandbox with its own data, so nothing you try there touches live money. Pay with 4242 4242 4242 4242, any future expiry, any CVC.
Then read these
- 01Migrating from SquareThe object map, one flow at a time
- 02
- 03
- 04
Sources
Where each claim comes from.
No transaction fee for orders paid with Square payments; a 1% fee per transaction when the Orders API is used with a non-Square payments provider. Square: Payments pricing
developer.squareup.com · checked 2026-10-15The Refunds API doesn't support itemized refunds; it also says an application can use the Orders API for itemized refunds; the Orders API doesn't support programmatically exchanging order items. Square: Refunds and exchanges
developer.squareup.com · checked 2026-10-15RefundPayment takes a payment ID and an amount, with no order or line item field. Square API reference: RefundPayment
developer.squareup.com · checked 2026-10-15Square staff, 2026-09-08: itemized returns aren't possible via the API today; the Orders API doc sentence describes the read shape of an existing itemized refund, not a write endpoint; the generated return is one custom amount line with zero tax. Square Developer Forums: API refund, item category, and tax
developer.squareup.com · checked 2026-10-15The returned-by-customer state is read-only to the Inventory API; moving units from an unlinked return to in stock introduces new stock. Square API reference: InventoryState
developer.squareup.com · checked 2026-10-15Square Free $0, Square Plus $49, and Square Premium $149 per location per month, replacing 18 subscriptions, announced 2025-10-06. Square press release: unified plans and pricing
squareup.com · checked 2026-10-15Square Plus from $49 and Square Premium $149 per month per location. Square vs Clover
squareup.com · checked 2026-10-15
last reviewed 2026-10-15 · corrections: Flint Help
FAQ
Questions people ask.
What is the difference between Flint Pay and Square?
Square sells a point of sale, card readers, and payments APIs, with monthly plans priced per location. Flint Pay is an online and in-app commerce API for US businesses: orders, catalog and variants, inventory held at payment, promotions, automatic US sales tax, returns, line-item refunds, hosted checkout, payment links, invoices, and subscriptions, with no monthly fee and cards processed on Stripe.
Is Flint a good alternative to Square for selling online?
Yes, for a US business selling goods or services on its own website or in an app. Orders, inventory, promotions, returns, line-item refunds, and the hosted checkout come with the API, with no monthly fee and one published card rate, 3.79% + 35¢, which covers Stripe’s processing fees. Flint doesn’t sell card readers, so in-store sales stay on your current point of sale. Sign up on the web or from the terminal with flint signup.
Does the Square Orders API cost extra?
Square’s pricing page says there is no transaction fee for orders paid with Square payments, and a 1% fee per transaction when the Orders API is used with a non-Square payments provider. On Flint, orders are the core record and are included in the card rate. Square Orders API fee, worked out
Can the Square API refund a single item?
Square’s docs say the Refunds API doesn’t support itemized refunds, and a Square staff member wrote in September 2026 that itemized returns aren’t possible via the API today. Square’s returns page also says an app can use the Orders API for itemized refunds; the staff reply says that sentence describes how an existing itemized refund reads, not a way to create one. Sellers can refund specific items in Square Point of Sale and the Dashboard. On Flint, POST /v1/refunds takes the order’s line item and a quantity and returns the item’s share of discount and tax. Square API item refunds
How much does Flint cost compared with Square's plans?
Square’s plans are $0, $49, or $149 per location per month. Flint has no monthly fee and charges 3.79% + 35¢ per card payment, which covers Stripe’s processing fees and includes checkout, payment links, orders, catalog and inventory, discounts, fulfillment, returns, refunds, the buyer account, and reporting. Invoices and subscriptions are 0.40% each, and automatic tax is 0.50% on payments that carry tax. Flint pricing
Does Flint take in-person payments like Square?
No. Flint takes online and in-app payments: hosted checkout, payment links, invoices, and Stripe Elements on your own web pages, plus a virtual terminal in the dashboard. Card readers and tap to pay aren't available, so in-store sales stay on your current point of sale.
Sell online without a monthly plan or a refund ledger.
Free sandbox, no credit card, no sales call. Create an order by variant, take a test payment, and refund one line with its share of the tax.
Or run npm install -g @flintpay/cli && flint signup to create your account and a sandbox key from the terminal. CLI guide
More comparisons · last reviewed 2026-10-15