# Payments
source: https://developer.mastercard.com/commercial-connect-api/documentation/use-cases/payments/index.md

The Commercial Connect API supports payments on virtual cards.

## Initiate payment {#initiate-payment}

Partners use this endpoint to initiate a new payment on an existing virtual card or a new virtual card.

When initiating payment on an existing virtual card, users can either provide an account_id for an In Control virtual card or a card number of any virtual card.

If users want to initiate payment on a new virtual card, they need to provide the required attributes first. The system will create a virtual card, return the virtual card details, and then initiate a payment, all in one call.

Depending on the supplier setup and the ID, the system can rout payments through these payment channels:

1. Supplier Payment Agent
2. Mastercard Gateway
3. Email payment

Diagram pmts-init
API Reference: `POST /payment-initiations`

## Get payment status {#get-payment-status}

Partners use this endpoint to get the payment status by providing `payment_id` and `bpa_ica` parameters. The `payment_id` must be a URL in http or https format.

The valid payment statuses are:

* Submitted
* Approved
* Declined
* Rejected
* Settled
* Received

Diagram pmts-status
API Reference: `GET /payment-initiations/{payment_id}/status`

