# Business Payment Controls
source: https://developer.mastercard.com/business-payment-controls/documentation/index.md

## Overview {#overview}

Business Payment Controls is an application programming interface (API) based solution that simplifies business payments by using configurable controls to limit spending on real and virtual cards, while allowing finance teams to reconcile payments using transaction-level reporting.

Using Business Payment Controls, you can:

* Register real cards and create and manage controls on your real card.
* Generate and manage virtual cards, linked to your real card with their own controls.
* Add custom data fields to be associated with your real or virtual cards to improve transaction traceability and reconciliation.
* Generate transaction-level reports on the real and virtual cards you have generated.
* Enable notifications of payment authorization and clearing events for commercial payments using virtual card accounts (VCNs). For more details about subscribing to payments notifications, see [Commercial Event Notifications](https://developer.mastercard.com/commercial-event-notifications/documentation/#how-it-works).

## How it works {#how-it-works}

Business Payments Control is comprised of four microservices:

#### Registration Service {#registration-service}

To allow for smooth onboarding to Business Payment Controls. The registration token generated links your MC Developers identity with your commercial Identity for uniform access management.

#### Card Account Service {#card-account-service}

To allow for real cards to be added, virtual cards to be generated and spend controls to be applied to both real and virtual cards.

#### Custom Data Service {#custom-data-service}

To allow for additional data fields to be associated with your real card or virtual card. This enables easier reconciliation once transactions are processed.

#### Reporting Service {#reporting-service}

To allow for all reporting requirements on cards created through Business Payment Controls and transactions processed by those cards.

## Before you start {#before-you-start}

To use the Business Payment Controls you must be one of the following:

* An Issuer of Mastercard Commercial cards
* A corporate customer of such an Issuer
* A payment agent acting on behalf of the Issuer or its corporate customers

## Business Payment Controls API registration {#business-payment-controls-api-registration}

## 1 {#span-stylecolorff7e001span}

Start a project with your Mastercard representative. Check [Support](https://developer.mastercard.com/business-payment-controls/documentation/support/index.md#get-help-1) if your organization doesn't have a representative.

## 2 {#span-stylecolorff7e002span}

If you are already an [In Control for Commercial Payments](https://developer.mastercard.com/product/in-control-for-commercial-payments) (ICCP) or In Control API customer, no additional contracts or enrolment forms are required.

## 3 {#span-stylecolorff7e003span}

If you are not an ICCP customer, you will be set up in Mastercard Commercial Product's registration service. Your Commercial Products implementation manager will provide you with a registration token.

## 4 {#span-stylecolorff7e004span}

This registration token will link your [Mastercard Developers](https://developer.mastercard.com/) identity with your Mastercard Commercial Products Identity providing full access management.

## 5 {#span-stylecolorff7e005span}

Create a Mastercard Developers Project and input your registration token when adding the Business Payment Controls API. This must be the registration token already provided to you.

## 6 {#span-stylecolorff7e006span}

Using the credentials created during your Mastercard Developers project set-up, you can now begin coding to the Business Payment Controls endpoints.

## Next Steps {#next-steps}

See the Business Payment Controls [use cases](https://developer.mastercard.com/business-payment-controls/documentation/use-cases/index.md) and [tutorials](https://developer.mastercard.com/business-payment-controls/documentation/tutorial-guides/index.md).
