Bill pay · Mexico
Pay federal taxes in Mexico by reference, through one API.
BillPay pays government references through the Payout API you already use. Available today in Mexico, in MXN, for federal tax payments to the SAT.
- Mexico · MXN
- SAT federal taxes
- Optional double signature
- Mexico, in Mexican pesos
- MXN
- Federal taxes, billType 0098
- SAT
- Approval step before a payment is sent
- Optional
- On every state change
- Webhook
Why BillPay
Tax payments that live inside your product
Your customers shouldn’t have to leave your platform to pay the SAT. BillPay turns a tax reference into one more payout.
One integration
BillPay is a payout method (type BillPay, code 0119). If you already send payouts, most of the integration is done.
Pay by reference
Send the bill type, the payment reference and the amount. Localpayment pays the reference on your customer’s behalf.
Optional approvals
Add requireAuth so a second authorized user signs off before anything is paid.
Clear states
Seven documented states, from PENDING to COMPLETED, FAILED, EXPIRED or REVERSED.
Paid from a dedicated account
Bill payments are debited from a Localpayment account funded for tax and bill payments.
Reconciled with the rest
Bill payments appear in the same reports, activity and webhooks as the rest of your operations.
How it works
From tax reference to paid, in four steps
- 01
Submit reference
Call POST /api/payout/ with type BillPay (code 0119), billType 0098, the SAT billReference and the amount.
- 02
Validation
Localpayment checks the request and accepts it with your externalId. The amount is the one your integration declares.
- 03
Approval (optional)
With requireAuth, a second user approves in the Business Portal or via API before anything is sent.
- 04
Paid + webhook
The reference is paid and a signed webhook reports COMPLETED, ready to reconcile with the rest of your payouts.
Status
Every transaction status, clearly defined
Each bill payment reports one of seven states, by webhook and through the transaction status API.
Pending (PENDING)
- What it means
- Accepted and waiting to be processed.
Pending auth (PENDING_AUTH)
- What it means
- Waiting for a second approver (requireAuth).
In progress (IN_PROGRESS)
- What it means
- The reference is being paid.
Completed (COMPLETED)
- What it means
- The reference was paid.
Failed (FAILED)
- What it means
- The payment could not be completed; the response explains why.
Expired (EXPIRED)
- What it means
- The payment exceeded the processing time limit.
Reversed (REVERSED)
- What it means
- A processed payment was reversed.
Your integration declares the amount; Localpayment does not validate it against the reference. Summary descriptions. See the BillPay guide in the docs for exact definitions and error codes.
Who it’s for
Built for platforms that serve Mexican businesses
Embed federal tax payments where your customers already manage their money, and remove the step where they leave your product to pay.
- Accounting, payroll and ERP software: pay federal taxes from inside your product
- Fintechs and business wallets: let users pay the SAT from their balance
- Business service providers: automate tax payments for the companies you manage
Overview
USD
1,284,560.00
+4.2%
BRL
3,420,118.40
+12.8%
MXN
8,905,332.10
+6.1%
- Pay-in · Pixorder_8F2K-1043+ R$ 1,250.00
- Payout · SPEIseller_0921− MX$ 18,400.00
- FX · BRL → USDfx_3b7q250,000.00 USD
- Pay-in · Bre-Border_9A1C-2210+ COP 890,000
For developers
A bill payment is a payout with a reference
Use the Create Payout endpoint with the BillPay method and the beneficiary’s bill details. Authenticate with a Bearer token and receive the result by signed webhook.
- paymentMethod.type BillPay, code 0119
- beneficiary.billType 0098 (Federal taxes, SAT) and billReference
- Optional requireAuth for a second approval
# Illustrative request — see docs.localpayment.com for the exact contract
curl -X POST https://api.stage.localpayment.com/api/payout/ \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"externalId": "9a7e5c3b-0000-4000-8000-000000000119",
"paymentMethod": { "type": "BillPay", "code": "0119", "flow": "DIRECT" },
"country": "MEX",
"currency": "MXN",
"amount": 12500.00,
"accountNumber": "<your-account-number>",
"requireAuth": true,
"beneficiary": { "billType": "0098", "billReference": "0426ABCD12345678901X" },
"sender": { "type": "COMPANY", "name": "Nortia Commerce S.A. de C.V." },
"merchant": { "type": "COMPANY", "name": "<your-company-name>" }
}'Use cases
Who pays bills through the API
Fintechs & wallets
Let business users pay SAT references from their wallet balance.
Fintechs & wallets —SaaS
Accounting and ERP platforms that file and pay taxes for their clients.
SaaS —Payment platforms
Add tax payments to the payout services you already offer in Mexico.
Payment platforms —B2B & high-value
Pay large tax obligations with double-signature approval.
B2B & high-value —
Frequently asked questions
In which countries is BillPay available?
BillPay is available in Mexico, in MXN. If you need bill or tax payments in another market, talk to our team about your use case.
Which bills can I pay?
Today the billType catalog covers federal taxes paid to the SAT (billType 0098).
What do I need to send?
The bill type, the payment reference and the amount, together with the standard payout fields such as your externalId and account number.
Is it a separate integration?
No. BillPay is a payment method of the Payout API, so it uses the same authentication, statuses, webhooks and reports as your other payouts.
Can I add an approval step?
Yes. Send the payment with requireAuth and it waits in PENDING_AUTH until a second authorized user approves it.
How do I know the payment went through?
You receive a signed webhook when the status changes, and you can query the transaction status API at any time with your externalId.
In which currency are bills paid?
In Mexican pesos (MXN), debited from a Localpayment account in Mexico funded for tax and bill payments. Fund it with local collections or a Wire In, and use FX to convert from a hard currency when needed.
Are there amount limits?
The minimum is MXN 0.01 and there is no maximum limit. The amount you send must match the one encoded in the reference.
Also on the same API
Payouts
Bank payouts over local rails in 14 countries and wallet payouts in 9.
Payouts —Business Portal
Review, approve and track every payment in one place.
Business Portal —Reporting & reconciliation
Reports, APIs and webhooks for finance teams.
Reporting & reconciliation —Coverage
Licensed, registered or supervised presence in 18 countries and local rails in 14, country by country.
Coverage —Payment methods directory
Every documented method, with codes, limits and speed by country.
Payment methods directory —Developer quickstart
Get a token, send your first request and receive a webhook on Stage.
Developer quickstart —
Automate tax payments in Mexico
Add BillPay to your payout integration and let your customers pay the SAT without leaving your product.

Mexico · MXN