# Subscription payments
source: https://developer.mastercard.com/ob-accept-payments/documentation/use-cases/subscription-payments/index.md

Accept recurring payments of fixed or variable amounts, such as in a subscription model. With this, Payment Service Users (PSUs) do not need to go through Strong Customer Authentication (SCA) with the bank for each payment. The user is guided to set up a mandate that allows payments on their behalf within a set of mandate parameters that the user chooses and authorizes.

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

When the PSU is in your application, ask them to link their account. When the user chooses to link their account, a mandate creation and authorization journey are requested through Mastercard Open Finance Pay.

Mastercard handles the communication with the PSU's bank, including user authentication using SCA. Once the mandate is authorized, the user is returned to your application to continue their journey.

#### User flow {#user-flow}

1. **Merchant**   
   The merchant integrates the option to link the PSU's account into their application. This option initiates the creation of the Mandate and the PSU is sent to Mastercard Open Finance Pay.
2. **Mastercard Open Finance Pay**   
   The PSU selects their bank account and proceeds with the mandate authorization journey.
3. Mastercard Open Finance Pay\*\*  
   The PSU reviews the parameters (payment limits and validity) of the mandate and permits the PISP to create the mandate with the bank.
4. **Bank**   
   The PSU authenticates themselves using the bank's existing authentication methods.
5. **Bank**   
   The PSU selects a preferred account and confirms the mandate parameters with the bank.
6. **Mastercard Open Finance Pay**   
   The PSU is automatically redirected to Mastercard Open Finance Pay, where they can see that the mandate was created successfully.
7. **Merchant**   
   The PSU is redirected to the Merchant for the next steps.

For the best viewing experience, click the **full screen** option.

##### Create mandate: {#create-mandate}

##### Pay using a mandate {#pay-using-a-mandate}

### What does the subscription payment flow look like for an End User? {#what-does-the-subscription-payment-flow-look-like-for-an-end-user}

The following Figma diagram shows the user flow from the merchant, via Mastercard Open Finance, and the bank to the successful transaction.

For the best viewing experience of app to app, click the **full screen** option or **zoom** using the controls located on the right.

#### Create mandate flow {#create-mandate-flow}

Diagram create_mandate_flow

1. The Payment Service User (PSU) initiates linking their bank account to the Merchant's application.
2. The Merchant passes the PSU to the Integrator to create and authorize the mandate.
3. The Integrator uses the `/mandates` endpoint to submit a Create Mandate request. The Integrator sends the PSU to the Mastercard Open Finance Pay user journey (flowUrl).
4. Mastercard Open Finance Pay sends the PSU to the bank to authenticate and authorize the mandate.
5. The ASPSP returns the status of the mandate.
6. Mastercard Open Finance Pay notifies the integrator about the Mandate status change and allows it to get the latest mandate status. Refer to our [Mandate Status Model](https://developer.mastercard.com/ob-accept-payments/documentation/payments/cvrp/mandate-status-model/index.md) for more information.
7. The Integrator returns the status of the mandate to the Merchant.
8. The Merchant confirms to the PSU that their account has been linked.

##### Endpoints used {#endpoints-used}

A create mandate request is initiated.

API Reference: `POST /mandates`

The updated status of the mandate is retrieved using the Get Mandate endpoint. You will need to use the identifier of the mandate as `mandate_id` in the path.

API Reference: `GET /mandates/{mandate_id}`

#### Fixed recurring payment with Mandate flow {#fixed-recurring-payment-with-mandate-flow}

This flow will happen each time the Merchant needs to initiate a new payment, for example, based on the agreed payment amount and schedule in a subscription model. The Merchant will indicate the mandate based on which the payment should be processed.

Generally, the PSU does not need to be involved in initiating the payment. However, the Merchant must notify the PSU about the status of the payment initiation.
Diagram fixed_recurring_payment_flow

1. The Merchant initiates the payment request with the Integrator (for example, based on the payment amount and schedule agreed upon with the user).
2. The Integrator uses the `/mandates/{mandate_id}/payments` endpoint to submit a payment with mandate request. The Integrator sets `endUser.present = false` to show that payment was not initiated a by the PSU.
3. Mastercard Open Finance Pay processes the payment with the ASPSP (PSU bank) based on the authorized mandate.
4. The ASPSP initiates the money transfer to the Merchant account (through the requested payment scheme).
5. The ASPSP returns the payment initiation status to Mastercard Open Finance Pay.
6. Mastercard Open Finance Pay notifies the integrator about payment status changes and allows it to retrieve the latest status. Refer to our [Payment Status Model](https://developer.mastercard.com/ob-accept-payments/documentation/payments/single-immediate-payments/payment-status-model/index.md) for more information.
7. The Merchant receives confirmation of payment initiation from their Integrator.
8. The Merchant notifies the PSU about the payment initiation status.

##### Endpoints used {#endpoints-used-1}

A create payment using mandate request is initiated (API reference - Accept Payments). You will need to use the identifier of the mandate as mandate_id in the path.

API Reference: `POST /mandates/{mandate_id}/payments`

The updated status of the payment is retrieved using the Get Payment endpoint (API reference - Accept Payments). The paymentId (you received at step 2) is required to fetch the payment status.

API Reference: `GET /payments/{payment_id}`

