# UniCredit
source: https://developer.mastercard.com/mastercard-gateway/documentation/payment-methods/alt-pay-methods/payment-plans/unicredit/index.md

The UniCredit payment plan in Romania allows payers to pay in monthly installments until the amount is paid in full. The UniCredit payment plan supports EUR, RON, and USD currencies.

Your service provider must enable the UniCredit payment plan and may also configure the following properties:

* Maximum number of installments allowed, and
* Minimum order amount per currency

## Payment plan inquiry {#payment-plan-inquiry}

You can request the gateway for a list of valid plans for a transaction using the **Payment Options Inquiry** operation. The following details about the supported payment plans are returned:

* `paymentTypes.card.paymentPlans[n].minimumOrderAmounts[n].amount`
* `paymentTypes.card.paymentPlans[n].minimumOrderAmounts[n].currency`
* `paymentTypes.card.paymentPlans[n].numberOfDeferrals[n]`
* `paymentTypes.card.paymentPlans[n].numberOfPayments[n]`
* `paymentTypes.card.paymentPlans[n].payerInterest`
* `paymentTypes.card.paymentPlans[n].planId`

Alert: The plan identifier (`planId`) for UniCredit is **UNICREDIT**. Alert: From Mastercard Gateway API version 70 and later, for the payment plan product UniCredit, available payment plan offers are returned. A list of payment plans offers returns based on the currency and minimum order amount.

Each payment plan offer has a unique offer ID.

* `paymentPlanProduct.{paymentPlanProductId}`
* `paymentPlanProduct.{paymentPlanProductId}.name`
* `paymentPlanProduct.{paymentPlanProductId}.logoUrl`
* `paymentTypes.card.paymentPlanOffer.{id}`
* `paymentTypes.card.paymentPlanOffer{id}.paymentPlanProductId`
* `paymentTypes.card.paymentPlanOffer.{id}.currency`
* `paymentTypes.card.paymentPlanOffer.{id}.numberofPayments`
* `paymentTypes.card.paymentPlanOffer.{id}.subsequentPaymentAmount`
* `paymentTypes.card.paymentPlanOffer.{id}.firstPaymentAmount`
* `paymentTypes.card.paymentPlanOffer{id}.minimumOrderAmount`
* `paymentTypes.card.paymentPlanOffer.{id}.deferralPeriod`
* `paymentTypes.card.paymentPlanOffer.{id}.interest.charged`

**Payment Options Inquiry API Reference** [\[REST\]](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/rest/api-ops/index.md#gateway) [\[NVP\]](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/nvp/api-ops/index.md#gateway)

## Submit a transaction with the payment plan {#submit-a-transaction-with-the-payment-plan}

To submit a transaction with the payment plan selected by the payer, provide the following fields in an Authorize/Pay or Update Session request:

* `paymentPlan.numberOfDeferrals`
* `paymentPlan.numberOfPayments`
* `paymentPlan.planId`

Alert: From Mastercard Gateway API version 70 and later, provide `paymentPlan.offerID` field with the offer ID in the Payment Options Inquiry response.

The gateway processes a payment plan only if the following conditions are met:

* The order currency is supported on the payment plan,
* The order amount exceeds the minimum order amount defined on the payment plan, and
* The card type is supported on the payment plan.

## Payment plan constraints {#payment-plan-constraints}

You can limit the payment plan identifiers and deferral or installment months for a specific transaction using the payment plan constraint fields:

* `constraints.paymentPlans.numberOfDeferrals`: The allowable number of deferral months for the payment plan.
* `constraints.paymentPlans.numberOfPayments`: The allowable number of installments for the payment plan.
* `constraints.paymentPlans.supported[n]`: Provide identifiers for the payment plans supported on this transaction. If you do not want to offer any payment plans, pass it as empty.

From Mastercard Gateway API version 70 and later,

* `constraints.paymentPlans.deferralPeriod`: The allowable number of deferral months for the payment plan.
* `constraints.paymentPlans.numberOfPayments`: The allowable number of installments for the payment plan.
* `constraints.paymentPlans.supported[n]`: Provide identifiers for the payment plans supported on this transaction. If you do not want to offer any payment plans, pass it as empty.

**Payment Plans API Reference** [\[REST\]](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/rest/api-ops/index.md#transaction) [\[NVP\]](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/nvp/api-ops/index.md#transaction)
