# National Bank of Greece (NBG)
source: https://developer.mastercard.com/mastercard-gateway/documentation/payment-methods/alt-pay-methods/payment-plans/nbg/index.md

The National Bank of Greece (NBG) payment plan allows payers to defer payment for their purchases and make monthly installments until the amount is paid in full. The NBG payment plan supports EUR and USD currencies.

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

* Maximum number of installments allowed
* Number of months payment is deferred
* 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 NBG is **NBG**. Alert: From Mastercard Gateway API version 70 and later, for the payment plan product NBG, 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 the 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 Gateway 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)
