# Payment instructions
source: https://developer.mastercard.com/mastercard-buyer-payment-agent/documentation/use_cases/business-payment-service/payment-instruction/index.md

Note: With the June 2021 release, Customer Service Providers can manage payment instructions on behalf of the Buyer Payment Agent and Supplier Payment Agent. A Customer Service Provider is defined as a person (entity) that performs a Program Service that is an agent of the customer that receives or otherwise benefits from the program Service, whether directly or indirectly, performed by such Service Provider.

## A2A payment instructions {#a2a-payment-instructions}

Mastercard is delivering on its promise to provide a multi-rail, business to business payment service. Mastercard is offering account to account (A2A) functionality to allow Buyer Payment Agents flexibility when sending payment data on behalf of their buyers. Buyer Payment Agents will receive proof of payment after the Supplier Payment Agent updates the status to indicate that funds were received. To integrate with the A2A payment instruction APIs, see the [Account to account payment instructions tutorial](https://developer.mastercard.com/mastercard-buyer-payment-agent/tutorial/a2a/index.md) section.

### How account to account (A2A) payment instructions work {#how-account-to-account-a2a-payment-instructions-work}

Business Payment Service allows Buyer Payment Agents to send payment instructions using the credit transfer (TRF) payment rail and any local instrument. Buyer Payment Agents and their buyers can now specify the payment method, payment rail, and country for their payment data, which enables them to know exactly how and on what rail they switch the data funds. Business Payment Service generates end-to-end IDs to link the payment instructions coming through Business Payment Service with the payment coming through TRF. This allows Supplier Payment Agents and their suppliers to reconcile payments more easily and efficiently.

Steps 1, 3, 6, 7, and 10 are applicable to the Buyer Payment Agent for submitting A2A payment instructions and receiving the payment status.
Diagram a2a

**Step 1:** The Buyer Payment Agent submits a payment instruction by calling the payment-instruction API on behalf of a Buyer.

API Reference: `POST /buyer-payment-agents/{ica}/payment-instructions`

**Step 2:** Business Payment Service validates the payment instruction against the Supplier's payment preferences.

**Step 3:** Business Payment Service sends the payment preferences authorization status to the Buyer Payment Agent.

**Step 4:** Business Payment Service sends the payment notification to the Supplier Payment Agent and requests bank account details.

**Step 5:** The Supplier Payment Agent sends the bank account details to Business Payment Service.

**Step 6:** Business Payment Service sends the bank account details with the Business Payment Service-generated end-to-end ID to the Buyer Payment Agent.

**Step 7:** The Buyer Payment Agent updates the payment status with the Business Payment Service-generated end-to-end ID.

API Reference: `PUT /buyer-payment-agents/{ica}/payment-instructions/{transaction_id}`

**Step 8:** Business Payment Service sends the payment status update to the Supplier Payment Agent.

**Step 9:** Business Payment Service delivers the payment to the supplier's account. The Supplier Payment Agent reconciles the payment and updates the payment status.

**Step 10:** Business Payment Service sends the payment instruction reconciliation status update to the Buyer Payment Agent.

*** ** * ** ***

## Card payment instructions {#card-payment-instructions}

Business Payment Service allows Buyer Payment Agents to send payment instructions with card details. To integrate with the card payment instruction APIs see the [Card payment instructions tutorial](https://developer.mastercard.com/mastercard-buyer-payment-agent/tutorial/card/index.md) section.

Steps 1, 3, 5, 7, and 9 are applicable to the Buyer Payment Agent for submitting card payment instructions and receiving the payment status.
Diagram card12

### How card payment instructions work {#how-card-payment-instructions-work}

**Step 1:** The Buyer Payment Agent submits a payment instruction by calling the payment instruction API on behalf of a Buyer.

API Reference: `POST /buyer-payment-agents/{ica}/payment-instructions`

**Step 2:** Business Payment Service validates the payment instruction against the Supplier's payment preferences.

**Step 3:** The Buyer Payment Agent updates the payment instruction with the `encryptedCard` details.

API Reference: `PUT /buyer-payment-agents/{ica}/payment-instructions/{transaction_id}/card-details`

**Step 4:** Business Payment Service sends the payment instruction with card details to the Supplier Payment Agent to process the payment.

**Step 5:** Business Payment Service sends a payment notification to the Buyer Payment Agent once the Supplier Payment Agent acknowledges the payment notification.

**Step 6:** The Supplier Payment Agent processes and sends the payment instruction authorization status to the Business Payment Service.

**Step 7:** Business Payment Service sends the payment status to the Buyer Payment Agent.

**Step 8:** The Supplier Payment Agent processes the reconciliation and sends the reconciliation status to the Business Payment Service.

**Step 9:** Business Payment Service sends the payment instruction reconciliation status update to the Buyer Payment Agent.

*** ** * ** ***

## Retrieve A2A and card payment instructions details {#retrieve-a2a-and-card-payment-instructions-details}

Business Payment Service offers an optional endpoint that returns details associated with the payment instructions you previously created using Business Payment Service. To integrate with the Retrieve payment instruction details API, see the [Retrieve card and A2A payment instructions tutorial](https://developer.mastercard.com/mastercard-buyer-payment-agent/tutorial/retrieve-payment/index.md).
Diagram retrieveenhancedpayment
API Reference: `GET /buyer-payment-agents/{ica}/payment-instructions/{transaction_id}`

