Skip to main content
Nova.Pay supports three payment methods: credit card, Pix, and bank slip (boleto). Credit cards can be processed through either Pagar.me or Stripe, support saved cards, and allow the customer’s total to be split across two cards. Pix generates a QR code for instant payment. Bank slips produce a printable boleto URL and settle asynchronously. All three methods are available across the Checkout Page, Cart, and Charge paths — the payment_method field on each payment plan tells you which methods are offered for a given product configuration.

Credit Card

Nova.Pay routes credit card payments through either Pagar.me or Stripe depending on your account configuration.

Pagar.me

To protect raw card data, tokenize the card client-side using the Pagar.me.js SDK before sending the payment request. Pass the resulting token in credit_card_0_token. For a returning customer with a saved card, use credit_card_0_card_id instead.

Stripe

Tokenize the card using Stripe.js and pass the resulting confirmation token in confirmation_token_id.

Split payments (two cards)

You can split a single order across two credit cards by sending both credit_card_0_* and credit_card_1_* field sets. Include a credit_card_0_amount and credit_card_1_amount to specify how much to charge to each card. The amounts must sum to the order total.

Credit card response

order_status
string
The resulting order status after the payment attempt. Typically paid on immediate approval or pending if further action is required.
payments
array

Pix

Pix is Brazil’s instant payment network. When a customer selects Pix, Nova.Pay generates a QR code and a copy-paste string. The customer scans or pastes the code in their banking app, and payment is confirmed in seconds.

Pix response fields

pix_qr_code
string
The Pix Copia e Cola string. Display this in a text box so the customer can copy it into their banking app.
pix_qr_code_url
string
URL of the QR code image. Render this as an <img> so the customer can scan it with their phone camera.
pix_expires_at
string (ISO 8601)
The date and time at which the Pix charge expires. After this timestamp the QR code is no longer valid and the order will transition to cancelled.
The order status after a Pix payment request is waiting_payment. It transitions to paid once the customer completes the transfer in their banking app. Poll GET /orders/{id} or listen for the webhook event to detect confirmation.

Bank Slip (Boleto)

A bank slip (boleto bancário) is a Brazilian payment voucher that the customer prints or saves and pays at a bank branch, ATM, or internet banking portal. Settlement is not instant — confirmation typically arrives within one to two business days.

Bank slip response fields

bank_slip_url
string
Direct URL to the printable boleto PDF. Redirect the customer to this URL or embed it in your confirmation page so they can print or save the voucher.
The order status is waiting_payment immediately after boleto generation and remains there until the bank confirms payment. Do not fulfill the order until the status transitions to paid.

Choosing a Payment Plan

Before presenting payment options to the customer, fetch the available plans for the current checkout context:
Each plan object in the response includes a payment_method field — use it to group or filter the options you display:
Pass the chosen plan’s id as payment_plan_id when you submit the payment request.