Custom Payment Plans
Custom payment plans use a template-instance system. You create an instance of one of five payment plan templates by specifying the number of installments and, if applicable, the deferral period.
- Pay in installments, interest free.
- Pay in installments after a deferral period, with interest.
- Pay in installments, with interest.
- Pay in full after a deferral period.
- Pay in installments after a deferral period, interest free.
For example, you can create these payment plans:
- End of Financial Year Offer - No interest and no payments for 6 months. This is an instance of template 5.
- Easy Repayment - Fixed payments for 3 months with no interest. This is an instance of template 1.
- Christmas offer - Buy now and pay in full in 6 months. This is an instance of template 4.
Custom payment plans are offered by:
- Banamex
- BBVA Bancomer
- First Data Brazil
- First Data Argentina
- BCI Pagos Chile
These conditions apply to the BCI Pagos Chile payment plan:
- The payment plan is available only for cards issued in Chile.
- The payment plan does not support a deferral period.
- The payment plan supports issuer and merchant custom payment plans.
Payment plan inquiry
You can request the gateway for a list of valid plans for a transaction by using the Payment Options Inquiry operation. The gateway returns these details for each supported payment plan:
paymentTypes.card.paymentPlans[n].startDate- Specifies the start date for the payment plan.paymentTypes.card.paymentPlans[n].endDate- Specifies the end date for the payment plan.paymentTypes.card.paymentPlans[n].numberOfPayments[n]- Specifies the number of monthly installments payable by the payer, if applicable to the plan type.paymentTypes.card.paymentPlans[n].numberOfDeferrals[n]- Specifies the number of months that payment can be deferred, if applicable to the plan type.paymentTypes.card.paymentPlans[n].minimumOrderAmounts[n].amount- Specifies the minimum order amount for the payment plan in the supported currency. The configured payment plans are offered only if the total order amount is greater than or equal to this minimum order amount.paymentTypes.card.paymentPlans[n].minimumOrderAmounts[n].currency- Specifies the currency for the minimum order amount.paymentTypes.card.paymentPlans[n].payerInterest- Indicates whether the payer is charged interest on the payment plan.paymentTypes.card.paymentPlans[n].planId- Specifies a system-generated unique identifier for the payment plan. The plan identifier is unique across all payment plan types that you can configure.paymentTypes.card.paymentPlans[n].planName- Specifies a merchant-supplied identifier for the payment plan. For example, End Of Financial Year Offer.paymentTypes.card.paymentPlans[n].planTemplate- Specifies the payment plan template used to generate the payment plan instance. For example, Pay in installments with no interest.
In most configurations, the maximum is 99 installments and 99 deferral months. your payment service provider can configure the maximum limit for each template as part of the merchant configuration.
In version 70 and later, the gateway returns the payment plan offers available for the system-generated payment plan ID. The gateway determines the offers by card issuer, currency, and minimum order amount.
Each payment plan offer has a unique offer ID:
paymentPlanProduct.{paymentPlanProductId}paymentPlanProduct.{paymentPlanProductId}.namepaymentPlanProduct.{paymentPlanProductId}.logoUrlpaymentTypes.card.paymentPlanOffer.{id}paymentTypes.card.paymentPlanOffer.{id}.paymentPlanProductIdpaymentTypes.card.paymentPlanOffer.{id}.currencypaymentTypes.card.paymentPlanOffer.{id}.numberOfPaymentspaymentTypes.card.paymentPlanOffer.{id}.subsequentPaymentAmountpaymentTypes.card.paymentPlanOffer.{id}.firstPaymentAmountpaymentTypes.card.paymentPlanOffer.{id}.minimumOrderAmountpaymentTypes.card.paymentPlanOffer.{id}.deferralPeriodpaymentTypes.card.paymentPlanOffer.{id}.interest.chargedpaymentTypes.card.paymentPlanOffer.{id}.startDatepaymentTypes.card.paymentPlanOffer.{id}.endDatepaymentTypes.card.paymentPlanOffer.{id}.planTemplatepaymentTypes.card.paymentPlanOffer.{id}.fundingEntityThis field is available in version 100 and later.
Payment Options Inquiry API Reference [REST][NVP]
Request a payment plan
To request a payment plan for a transaction, provide these fields in an Authorize/Pay or Update Session request:
paymentPlan.numberOfDeferralspaymentPlan.numberOfPaymentspaymentPlan.planId
The gateway processes a payment plan only if these conditions are met:
- The current date is greater than or equal to the start date.
- The current date is less than or equal to the end date.
- The order amount exceeds the minimum order amount defined on the payment plan.
- The order currency is supported on the payment plan.
- The card type is supported on the payment plan.
In version 70 and later, provide only the paymentPlan.offerId field in the Authorize/Pay or Update Session request. Use the offer ID returned in the Payment Options Inquiry response.
Payment plans API Reference [REST][NVP]
Payment plan constraints
You can limit payment plan identifiers and deferral or installment months for a transaction by using these fields:
constraints.paymentPlans.numberOfDeferrals- Specifies the allowable number of deferral months for the payment plan.constraints.paymentPlans.numberOfPayments- Specifies the allowable number of installments for the payment plan.constraints.paymentPlans.supported[n]- Specifies the identifiers for the payment plans supported for this transaction. If you do not want to offer payment plans, pass this field as empty.
In version 70 and later:
constraints.paymentPlans.deferralPeriod- Specifies the allowable number of deferral months for the payment plan.constraints.paymentPlans.numberOfPayments- Specifies the allowable number of installments for the payment plan.constraints.paymentPlans.supported[n]- Specifies the identifiers for the payment plans supported for this transaction. If you do not want to offer payment plans, pass this field as empty.