Skip to main content
Hidden
Note
This guide is intended for bank brand contributors.
For more on the parties that integrate with Marqeta’s credit platform, see Understanding Credit Program Management Differences.
Marqeta’s credit platform provides an end-to-end credit program experience from application to account servicing, and functions as the system of record for credit loans with a revolving line of credit. Using Marqeta’s credit platform, you can configure your credit programs and originate, manage, and service credit accounts. This guide explains how you can implement your credit program using both the Marqeta Dashboard and Marqeta’s credit platform’s RESTful API features to create and manage your credit programs, accounts, and cards powered by Marqeta.

Before you begin

Credit program implementation process

The process to implement a credit program with Marqeta involves a few key phases.
  • Credit bundle activation - You select from different credit bundles to activate on the Marqeta Dashboard. Bundles are preapproved by the issuing bank and consist of various policies for credit products, APRs, fees, rewards, and documents such as the templates used to generate disclosures that can be shown to an applicant during the application process. These policies determine the attributes and parameters of associated accounts.
  • Credit account origination - You offer credit applicants a credit account associated with an active bundle. Using Marqeta’s credit platform, you collect applicant information, display disclosures such as pre-terms and conditions, and receive a decision on the application. If approved and the applicant accepts the terms, Marqeta originates a new credit account with attributes such as credit limit and APR that adhere to the parameters of its associated bundle. The applicant becomes the account holder.
  • Account card creation and activation - Using Marqeta’s credit platform, you create and activate physical and virtual account cards for the account. You can push these cards into a digital wallet for a cardholder to make purchases with Apple Pay or Google Pay.
  • Account servicing - You service your account holders using Marqeta’s credit platform’s features, such as payments, disputes, statements, and more.
  • Reward accounts - You track an account’s reward accruals and manage redemptions with Marqeta’s credit platform’s reward accounts feature.

Bundle activation (Beta)

The first step in implementing a credit program is to activate a bundle that has been preapproved by your issuing bank. A bundle consists of policies with configurations for credit products, APRs, fees, rewards, and documents. The issuing bank creates bundles with various policy configurations tailored to your user base. You can select from these preapproved bundles to activate on the Marqeta Dashboard. For more, see Your Credit Programs in the Marqeta Dashboard.

Activate a bundle

1
Log into the Marqeta Dashboard and select Credit Programs > Bundles from the sidebar.
2
Select your bundle by name from the list.
3
Review your bundle’s terms and conditions and the configurations of each of its policies.
  • The credit product policy includes configurations and parameters that determine the global and usage-specific behavior of the credit product. For more, see Credit product policy details.
  • The APR policy includes configurations and parameters for the interest rates, pricing strategies, margin, and more. For more, see APR policy details.
  • The fee policy includes configurations and parameters that determine which fees and configurations for fee amounts are enabled for a credit product or account. For more, see Fee policy details.
  • The rewards policy includes configurations and parameters for the global rewards program of a credit product. For more, see Reward policy details.
4
From the top-right corner, select Activate. The Bundles screen appears and briefly displays a message confirming that your bundle is activated.
Once your bundle is activated, Marqeta sends a webhook to your webhook endpoint containing the bundle_token and other bundle details. This token is the unique identifier of your bundle and can be used to link your bundle to accounts on Marqeta’s credit platform. When linked, the attributes and behaviors of the account are determined by the configurations and parameters set in the bundle’s policies. Now that your bundle is active, the next step is to originate a credit account by creating an application to extend to prospective account holders.

Credit account origination (Beta)

Once a bundle is active, prospective account holders can apply for a credit account associated with a bundle and receive a decision on their application. If the application is approved and the applicant accepts, Marqeta originates a new credit account on Marqeta’s credit platform. The credit account origination process involves a series of steps that you, Marqeta, and the issuing bank perform using the Applications endpoints on Marqeta’s credit platform.
  • You offer a credit account based on an associated bundle to a prospective account holder.
  • The prospective account holder starts an application on your platform.
  • You display pre-terms files on the bundle to the applicant.
  • You collect applicant information and file acknowledgements and send them to Marqeta.
  • Marqeta sends the application data to the issuing bank.
  • The issuing bank renders a decision on the application.
  • You display post-terms files to the applicant that vary depending on whether the application is approved or rejected.
  • If approved, the applicant accepts or declines the credit account offered.
  • If the applicant accepts, Marqeta creates a new credit account on Marqeta’s credit platform with the applicant as the account holder.

Prerequisites

  • Obtain a user token to represent your applicant.

Step 1 – Display pre-terms to your applicant

Pre-terms are files containing terms and conditions and disclosures that must be displayed to an applicant before their application is submitted. You can retrieve files from the bundle associated with the account being offered. The following files are pre-terms:
  • e-Disclosure – Acknowledges that the applicant agrees to receive disclosures electronically.
  • Privacy Policy – Explains how the information on an application is collected, handled, and processed.
  • Rewards Disclosure Pre-terms – Discloses detailed information on the rewards program for the account before the application is submitted.
  • Summary of Credit Terms (SOCT) – Outlines the interest rates, interest charges, and fees associated with the account.
To retrieve pre-terms:
1
Send a GET request to the /credit/applications/files endpoint with the bundle_token included.
2
Several files are returned in the response. Display only the pre-terms to the applicant:
  • E_DISCLOSURE
  • PRIVACY_POLICY
  • REWARDS_DISCLOSURE_PRE_TERMS
  • SOCT
3
In the response, copy the tracking_token for each file displayed. This token tracks the acknowledgement that the applicant has seen the file.

Step 2 – Create an application

After displaying pre-terms to your applicant, collect applicant data and create an application. To create an application, send a POST request to the /credit/applications endpoint with at least the following fields included:
  • token – Set the value to the unique identifier of the application.
  • user_token – Set the value to the unique identifier of the applicant.
  • bundle_token – Set the value to the unique identifier of the bundle associated with the application.
  • soct_tracking_token – Paste the tracking token of the SOCT copied from the previous step.
  • privacy_policy_tracking_token – Paste the tracking token of the Privacy Policy copied from the previous step.
  • e_disclosure_tracking_token – Paste the tracking token of the e-Disclosure copied from the previous step.
  • rewards_disclosure_pre_terms_tracking_token – Paste the tracking token of the Rewards Disclosure Pre-terms copied from the previous step.
  • residence_type – Set to OWN, RENT, or OTHER, depending on the applicant’s residence situation.
  • ​​monthly_mortgage_or_rent – Set the value to the monthly amount of the applicant’s mortgage or rent.
  • total_annual_income – Set the value to the total amount of the applicant’s annual income.
  • primary_income_source – Set to EMPLOYED, UNEMPLOYED, SELF_EMPLOYED, or OTHER, depending on the applicant’s primary income source.
  • any_non_taxable_income – Set to true or false, depending on if the applicant has a non-taxable income source.
Initially, the response shows the application in a CREATED state. As the application transitions into other states, Marqeta sends you webhook notifications containing application data. If a decision on the application has been rendered, the decision_model contains the data that influenced the decision. For more on the event types that trigger a notification, see Credit application transition events. For more on webhooks, see About Webhooks. You can retrieve application data at any time by sending a GET request to the /credit/applications/{application_token} endpoint. For more, see Retrieve application.

Step 3 – Display post-terms to your applicant

Post-terms are files containing terms and conditions and disclosures that must be displayed to an applicant after a decision is made on their application. You can retrieve files directly from the application after it’s been created. The following files are post-terms:
  • Benefits Disclosure – Discloses detailed information about the benefits on the account. Only need to display if an application is approved.
  • Terms Schedule – Specifies the interest rate details on the account. Only need to display if an application is approved.
  • Card Member Agreement – Specifies the terms and conditions of the account, including the interest rates, interest charges, fees, minimum payment calculations, and more. Only need to display if an application is approved.
  • Rewards Disclosure Post-terms – Discloses detailed information about the rewards program on the account. Only need to display if an application is approved.
  • Notice of Adverse Action (NOAA) – Informs the applicant of the specific reasons why they were denied credit. Only need to display if an application is rejected.
To retrieve post-terms:
1
Send a GET request to the /credit/applications/files endpoint with the application_token included.
2
Several files are returned in the response. If the application is rejected, display only the NOAA file.
If the application is approved, display the following post-terms to the applicant:
  • BENEFITS_DISCLOSURE
  • TERMS_SCHEDULE
  • CARD_MEMBER_AGREEMENT
  • REWARDS_DISCLOSURE_POST_TERMS
3
In the response, copy the tracking_token for each file displayed. This token tracks the acknowledgement that the applicant has seen the file.

Step 4 – Transition application state

If the applicant accepts the post-terms, you can transition the application state, which causes Marqeta to originate a new credit account. To transition the application state, send a POST request to the /credit/applications/{app_token}/transitions endpoint with the following fields included:
  • terms_schedule_tracking_token – Paste the tracking token of the TERMS_SCHEDULE copied from the previous step.
  • card_member_agreement_tracking_token – Paste the tracking token of the PRIVACY_POLICY copied from the previous step.
  • benefits_disclosure_tracking_token – Paste the tracking token of the BENEFITS_DISCLOSURE copied from the previous step.
  • rewards_disclosure_post_terms_tracking_token – Paste the tracking token of the REWARDS_DISCLOSURE_PRE_TERMS copied from the previous step.
  • application_state – Set to ACCEPTED.
When a credit application transitions to ACCEPTED, Marqeta creates a new account on Marqeta’s credit platform.

The new credit account

Once a credit application is approved and the applicant accepts the post-terms, Marqeta creates an account in an ACTIVE state and sends you a webhook notification that contains the account_token, which you can use to retrieve account details. An activated account allows account activity to transpire, such as making purchases and payments. To retrieve details of the account, send a GET request to the credit/accounts/{account_token} endpoint. For the complete accounts endpoint reference, see Credit Accounts. Marqeta creates the new account based on the information provided in the application. The applicant becomes the account holder and is represented by the same user_token as during the application process. The account is associated with a bundle that is represented by the same bundle_token as during the application process. The bundle’s policies determine the account’s attributes, such as the credit limit, APR, and fees. Now that Marqeta has originated an account, the next step is to create and activate an account card.

Account card creation and activation

Once a credit account is activated, you must create and activate an account card to allow cardholders to make purchases. Marqeta’s credit platform supports both physical and virtual cards, represented by the card resource. For more on cards, see About Cards. Each card has an associated card product that defines attributes and behaviors of all cards that are generated from it. During onboarding, you worked with Marqeta to create card products in your production environment. Send a GET request to the /cardproducts endpoint to retrieve your card products. For the complete card products endpoint reference, see Card Products.

Step 1 – Create an account card

Send a POST request to the /credit/accounts/{account_token}/cards endpoint with at least the following fields included:
  • token – Enter a new unique identifier of the account card.
  • card_product_token – Set the value to the unique identifier of the card product that you want to associate with the account card.
  • user_token – Set the value to the unique identifier of the account holder.
You can pass other fields in the request to specify an expiration offset other than the one specified on the associated card product, and more. For the complete account cards endpoint reference, see Account Cards. Physical cards are shipped to the user address. To ship cards to a different address, send a PUT request to the /cards endpoint with the new address in the fulfillment.shipping object. For the endpoint reference, see Update card.

Step 2 – Activate the card

Physical cards are shipped in an UNACTIVATED state. The best practice is for the cardholder to activate the card immediately upon reception.
Tip
Virtual cards are created in an ACTIVE state. If during onboarding, you worked with Marqeta to create a virtual card product, you can issue virtual cards for immediate use.
To activate a card: Send a POST request to the /cardtransitions endpoint with at least the following fields included:
  • card_token – Set the value to the unique identifier of the card you created in the previous step.
  • channel – Set to API.
  • state – Set to ACTIVE.
You can pass other fields in the request to specify a transition reason or user validation information. For the complete card transitions endpoint reference, see Card Transitions.

Step 3 (optional) – Push the card to a digital wallet

To push the card to Apple Pay, send POST request to the /digitalwalletprovisionrequests/applepay endpoint. For the endpoint reference, see Create digital wallet token provision request for Apple Pay. To push the card to Google Pay, send POST request to the /digitalwalletprovisionrequests/androidpay endpoint. For the endpoint reference, see Create digital wallet token provision request for Google Pay. For more on digital wallets, see Digital Wallets and Tokenization. Now that you’ve created and activated a card on the account, the next step is to maintain and manage the account throughout its lifecycle.

Account servicing

Marqeta’s credit platform offers many features to help you service your account holders throughout the lifecycle of their credit accounts.

Cards

You can suspend, terminate, or replace lost, stolen, or damaged cards using the /cardtransitions endpoint. For the complete card transitions endpoint reference, see Card transitions. Marqeta sends a webhook notification whenever a card changes states. For more on the card transition event types that trigger a notification, see Card transition events. For more on the scenarios that might lead you to transition a card’s state, see Managing Lost, Stolen, or Damaged Cards.

Journal entries

A journal entry is a record of a transaction made on a credit account, such as a purchase transaction, purchase refund, dispute, fee, interest charge, payment, adjustment, and more. Marqeta’s credit platform functions as a system of record for all journal entries made on an account. For more on journal entries, see About Credit Account Journal Entries. To retrieve the journal entries made on an account, send a GET request to the /credit/accounts/{account_token}/journalentries endpoint. For the endpoint reference, see List account journal entries. Marqeta sends a webhook notification whenever a journal entry is made on an account. For more on the journal entry event types that trigger a notification, see Credit journal entry events.

Payments

Payments are made toward the account balance to reduce the total amount owed on the account. To make ACH payments, you must link a payment source to the account. Payments can also be made through cash, check, or debit. For more on payments, including the payment lifecycle, see About Credit Account Payments. To allow a payment source to make payments on an account, send a POST request to the /credit/paymentsources endpoint. For the complete payment sources endpoint reference, see Payment Sources. To retrieve the payments made on an account, send a GET request to the /credit/accounts/{account_token}/payments endpoint. For the endpoint reference, see List account payments. Marqeta sends a webhook notification whenever a payment transitions to a new status. For more on the payment transition event types that trigger a notification, see Credit account payment transition events.

Adjustments

An adjustment can be made to a journal entry amount or the account balance. Reasons for adjusting a journal entry include a dispute initiation or resolution, a returned or canceled payment, or a waived fee. Reasons for adjusting an account balance include an account write-off or the issuance of account credit. To retrieve the adjustments on an account, send a GET request to the /credit/accounts/{account_token}/adjustments endpoint. For the endpoint reference, see List account adjustments. Adjustments also create an adjustment journal entry on Marqeta’s credit platform. Marqeta sends a webhook notification whenever a journal entry is made. For more on the journal entry event types that trigger a notification, see Credit journal entry events.

Disputes

A dispute occurs when an account holder disagrees with a charge on their account. Marqeta helps you manage every step of the dispute process by creating a dispute, retrieving information on the dispute, issuing provisional credits, making account adjustments, and more. For more on how Marqeta helps you manage disputes, see About Credit Account Disputes. To retrieve the disputes on an account, send a GET request to the /credit/accounts/{account_token}/disputes endpoint. For the endpoint reference, see List account disputes. Disputes also create a dispute journal entry on Marqeta’s credit platform. Marqeta sends a webhook notification whenever a journal entry is made. For more on the journal entry event types that trigger a notification, see Credit journal entry events.

Statements

An account statement contains a summary of account activity that occurred during a billing cycle. For more on statements, see About Credit Account Statements. To retrieve the statement summaries on an account, send a GET request to the /credit/accounts/{account_token}/statements endpoint. For the endpoint reference, see List account statement summaries. Marqeta sends a webhook notification whenever a statement is created on an account. For more on the statement event type that triggers a notification, see Credit account statement event.

Balance refunds

When an account balance is negative, you can issue a credit balance refund to bring the balance closer to 0. To create a balance refund on an account, send a POST request to the /credit/accounts/{account_token}/creditbalancerefunds endpoint. For the endpoint reference, see Create credit balance refund. Balance refunds also create a balance refund journal entry on Marqeta’s credit platform. Marqeta sends a webhook notification whenever a journal entry is made. For more on the journal entry event types that trigger a notification, see Credit journal entry events.

Reward accounts

Use the /credit/rewards/accounts/{reward_account_token} endpoint to manage reward accounts and track rewards balances, accruals, and entries on a credit account. The configurations for a reward account are defined in the reward policy on the account’s associated bundle. To receive webhook notifications when reward accounts and reward entry events occur, see Credit reward entry events in Event Types. For the complete reward accounts endpoint reference, see Reward Accounts.
Note
If you are using an external reward account and not Marqeta’s, you can post rewards using the Account Rewards endpoint. This ensures that your rewards appear in account statements.

Reward Global Configurations

Use the /credit/rewards/configurations endpoint to manage the global configurations for a reward program. The global configurations for a reward account are defined in the reward policy on the reward account’s associated bundle. For the endpoint reference, see List rules configurations.

Reward Rules Management

Use the /credit/rewards/rules endpoint to manage and monitor the rules configurations for a reward program. The configurations for global rules for a reward account are defined in the reward policy on the reward account’s associated bundle. For the endpoint reference, see List rules configurations.

Reward accruals

Reward balances accrue on an account when cardholders make purchases that qualify for rewards. Qualifying purchases are defined in the reward program’s rule configurations. Each time a qualifying purchase is made, a reward entry linked to that purchase is created. Marqeta sends a webhook notification whenever a reward entry is created. For more on the reward entry event types that trigger a notification, see Credit reward entry events. To retrieve reward entries on a reward account, send a GET request to the /credit/rewards/accounts/{reward_account_token}/entries endpoint. Each object returned in the array contains the same data that was in the webhook notification sent when the reward entry was created. For the endpoint reference, see List reward entries. The reward entries balance is the amount of reward entries that have accrued in a billing cycle. To retrieve the reward entries balance within a specified date range, send a GET request to the /credit/rewards/accounts/{reward_account_token}/entries/balance endpoint and pass the start_date and end_date in the query parameters. For the endpoint reference, see Retrieve reward entries balance. Reward account balances are the net, pending, and total reward balances on a reward account. Rewards accrued in pending and cannot be redeemed until they are posted. At the end of the billing cycle, the amount that is pending moves to the total balance bucket and can be redeemed. To retrieve the reward account balances on an account, send a GET request to the /credit/rewards/accounts/{reward_account_token}/balances endpoint. For the endpoint reference, see Retrieve reward account balance.

Reward redemptions

Use the /credit/rewards/accounts/{reward_account_token}/redemptions endpoint to the manage reward redemptions on a credit account. To receive webhook notifications when reward accounts and reward entry events occur, see Credit reward entry events in Event Types. Once posted, you can allow the account holder to redeem the reward balance in one of the following ways:
  • External – You issue the redemption on your own external platform and Marqeta adjusts the reward account balance on the Marqeta platform.
  • Statement credit – Marqeta issues the redemption as a statement credit on the account.
To redeem a reward, send a POST request to /credit/rewards/accounts/{reward_account_token}/redemptions endpoint with the type field defined as EXTERNAL or STATEMENT_CREDIT. For the complete reward redemptions endpoint reference, see Reward Redemptions. Each time a reward redemption is made, a reward entry linked to that purchase is created. Marqeta sends a webhook notification whenever a reward entry is created. For more on the reward entry event types that trigger a notification, see Credit reward entry events.

Reward Conversions Management

Use the /credit/rewards/conversions endpoint to manage the reward conversion rates for reward redemptions. Marqeta only manages rewards conversion rates for redemptions managed by the Marqeta Rewards Platform: for example, STATEMENT_CREDIT. The Marqeta Rewards Platform does not manage redemptions in which the rewards balance is redeemed for conversion through a third-party system. Conversions for EXTERNAL-type redemptions are not managed by the Marqeta Rewards Platform either.