Skip to main content
Before accepting payment you need to present your customer with the available instalment options and payment methods. The /payment_plans endpoint returns these options grouped by method (credit card, Pix, bank slip), each carrying the per-instalment value and all applicable fine and interest parameters. The id returned by each plan option is the value you pass directly as payment_plan_id when calling the pay endpoints. Base URL: https://pay.nova.money/api/v1

List payment plans

Returns available payment plans for a given context. Provide exactly one context parameter — checkout_page_id, charge_id, or cart_id — or pass amount to calculate plans for a custom value.
Only pass one context parameter per request. If you pass more than one (e.g. both checkout_page_id and cart_id), the API will use the first matching context and ignore the rest.

Query parameters

checkout_page_id
string
Return plans for a specific checkout page. Pass the checkout page UUID.
charge_id
string
Return plans for a specific charge. Pass the Order UID of the charge.
cart_id
string
Return plans for a specific cart. Pass the Cart UID.
amount
number
Calculate plans for a custom monetary amount instead of a specific page, charge, or cart. Useful for dynamic pricing scenarios.
coupon
string
Apply a coupon code before calculating plan amounts. The returned value fields will reflect the discounted totals.
products
object
A hash of product ID to quantity pairs used to compute the amount when checkout_page_id is provided without a fixed cart. Example: products[7]=2&products[12]=1.

Response

Returns a PaymentPlanOptions object with keys for each available payment method. Each key maps to an array of plan option objects.
The id field of each plan option (e.g. "42-3") is the exact string you must pass as payment_plan_id in the Carts pay endpoint, Charges pay endpoint, or any other payment endpoint.
Example response

PaymentPlanOption fields

id
string
Unique identifier for this plan option in the format "{plan_id}-{installments}" (e.g. "42-3"). Pass this value verbatim as payment_plan_id when submitting a payment.
name
string
Human-readable label for this plan option as shown to the customer (e.g. "3x no Cartão de Crédito").
number
integer
Number of instalments. A value of 1 means a single lump-sum payment.
value
number
Amount per instalment. Multiply by number to get the total amount the customer will pay under this plan.
fine
number
Fixed fine amount applied to late payments.
fine_tax
number
Fine expressed as a percentage rate applied to late payments.
fine_type
string
Whether the fine is a fixed value ("fixed") or a percentage ("percentage").
late_interest
number
Fixed late-interest amount added per period after the due date.
late_interest_tax
number
Late interest expressed as a percentage rate per period.
payment_method
string
The payment method for this plan. One of: credit_card, bank_slip, pix.

Using payment plan IDs

1

Fetch available plans

Call GET /payment_plans with the appropriate context parameter to retrieve the options you want to present to your customer.
cURL
2

Present options to the customer

Render each plan’s name and value in your UI so the customer can choose their preferred instalment option and payment method.
3

Pass the plan ID to the pay endpoint

When the customer confirms, send the selected plan’s id as the payment_plan_id field in the pay request body.
If you apply a coupon query parameter to the /payment_plans request, the discounted value fields are returned. Make sure you use the plan id from that coupon-aware response when calling the pay endpoint — you will also need to pass the same coupon code in the pay request body to apply the discount.