Hidden A bill payment is a transaction that sends funds to a biller, such as a service provider or creditor, on behalf of your users. The Marqeta platform enables you to manage one-time or recurring bill payments, and to consolidate debt. Use the Bill Configurations API to list billers, create an association between a biller account and user, and configure a recurring bill payment by creating a biller account subscription. Once configured, use the Bill Payments API to initiate, track, and reverse a bill payment. Note that this version of Bill Payments supports only ACH payments. By the end of this guide, you should understand:Documentation Index
Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
- What one-off and recurring bill payments are.
- How the debt consolidation process works.
- How to initiate, track, and reverse a bill payment.
Bill Payments
Use bill payments to send funds to vendors or creditors to pay off bills and loans, such as utility bills, internet bills, auto loans, or student loans. Bill payments can be one-off or recurring. A recurring bill payment is a funds transfer scheduled to recur on a set time interval and predetermined day of the month. For more on setting up a recurring bill payment, see the Create biller account subscription section of the Bill Configurations API reference.Debt Consolidation
The debt consolidation process enables you to pay off your user’s previous debts and transfer the balance to you, combining all their debts into one loan. Transferring the balance to you means they will no longer owe their previous creditors, offering immediate relief. Debt consolidation can also lower a user’s monthly payments and reduce their risk profile.Tutorial
This tutorial walks you through how to configure, initiate, and reverse a bill payment.Prerequisites
- Read the Core API Quick Start.
- Obtain a user token.
Step 1 — Obtain a biller token
Send aGET request to the /billconfigurations/billers endpoint to return an array of billers. If desired, include the following URL query parameters:
name– Set to the biller’s name.bin– Set to the biller’s BIN.category– Set to the biller’s category.
HTTP
token value.
JSON
Step 2 — Associate the biller and the user
In order to pay a biller, the user on the Marqeta platform must be associated with an account at the biller. This association is called a biller account association. To create one, send aPOST request to the /billconfigurations/accounts endpoint with at least the following fields included:
token– Set the value to a unique identifier of the biller account association. If you do not include a token, the system generates one automatically.user_token– Set to the value of the user token.biller_token– Set to the value of the biller token obtained in Step 1.account_number– You must include either the user’s account number or their username/password at the biller, but rarely both. Includeusernameandpasswordonly if the biller provides balance updates; otherwise, includeaccount number. Include both if paying a credit card biller.- The
payer_dataobject – Contains personally identifiable information (PII) for the user’s account at the biller. Define at least the following required fields:birth_date,phone_number,city,state.
POST request:
JSON
Step 3 (Optional) — Configure a recurring bill payment
To create biller account subscription that initiates recurring bill payments on a set schedule (in this case, quarterly), send aPOST request to the /billconfigurations/subscriptions endpoint with the following fields included:
token(Optional) – Set the value to a unique identifier of the biller account subscription. If you do not include a token, the system generates one automatically.account_token– Set to thetokenvalue of the biller account association defined in Step 2, to which recurring payments are made.- The
configobject – Contains information on the details of the subscription. Define at least the following fields:- Set the
amountfield to the value of the recurring payment. - (Optional) Set the
frequencyfield toQUARTERLYto initiate payments quarterly. Default is monthly. - (Optional) Set the
days_of_monthfield to1to initiate payments on the 1st day of each month.
- Set the
POST request:
JSON
Step 4 — Initiate a bill payment
To initiate a bill payment, send aPOST request to the /billpayments endpoint with at least the following fields included:
token(Optional) – Set the value to a unique identifier of the bill payment. If you do not include a token, the system generates one automatically.account_token– Set to thetokenvalue of the biller account association defined in Step 2, to which bill payments are made.amount– Set the value to the amount of the bill.memo(Optional) – Set the value to a description of the bill payment.
POST request:
JSON
Step 5 (Optional) — Reverse the bill payment
A manual reversal can only be performed if the bill payment’s status is INITIATED. To retrieve a bill payment’s status, send a
GET request to the /billpayments/{token} endpoint with the bill payment token as the path parameter. The bill payment’s status is represented in the response body as status.POST request to the /billpayments/transitions endpoint with at least the following fields defined:
token(Optional) – Set the value to a unique identifier of the bill payment transition; in this case, a reversal. If you do not include a token, the system generates one automatically.bill_payment_token– Set to thetokenvalue of the bill payment defined in Step 4.status– Set toREVERSED.reason– Set to the reason for the reversal.
POST request:
JSON
Webhooks notifications
The Marqeta platform pushes webhook-style notifications in response to bill configuration and payment transition events.- For more on webhook-enabled events for bill payments, see the configuration and payment transition events section of the Event Types guide.
- To learn about how the Marqeta platform uses webhooks, see the About Webhooks guide.
- To learn how to configure a webhook, see the Webhooks API reference.