POST /payments to initiate a payment for a hosted checkout page — supporting credit card (single or two-card split), Pix, and bank slip — and use POST /payments/{id}/refund to issue full or partial refunds against any completed payment.
POST /payments
If any product in the order has
subscription: true, the payment is processed as a recurring subscription rather than a one-time charge.payment_plan_id.
Base URL: https://yourcompany.pay.nova.money/api/v1
Request Body
The payment plan identifier retrieved from
GET /payment_plans. Must follow the format "{plan_id}-{installments}" — for example, "42-3" means plan 42 paid in 3 installments.Card Fields (Pagar.me)
For a two-card split, include both
credit_card_0_* and credit_card_1_* fields and provide an amount for each card. The two amounts must sum to the order total.Card token obtained from client-side Pagar.me tokenization. Use this or
credit_card_0_card_id, not both.Payment plan for this card, in
"{plan_id}-{installments}" format. Required when using a two-card split.Amount charged to this card, in the order’s currency. Required when performing a two-card split.
Card Fields (Stripe)
A Stripe
ConfirmationToken ID generated client-side using the Stripe.js SDK. Use this field when gateway is set to "stripe".Customer
Checkout Context
Optional Fields
Payment gateway to use. Accepted values:
pagarme, stripe. Defaults to the checkout page’s configured gateway.Arbitrary key/value metadata stored alongside the order. Useful for tracking campaign sources, funnel steps, or custom attributes.
Response — PaymentResult
List of gateway-side payment IDs (e.g., Pagar.me charge IDs or Stripe PaymentIntent IDs) associated with this order.
URL to the printable bank slip (boleto). Present only when the payment method is
bank_slip.ISO 8601 datetime after which the Pix QR code is no longer valid. Present only for Pix payments.
Signed GlobalID (SGID) for a one-click upsell offer. Present only when the checkout page has an upsell configured and the payment succeeded. Pass this value to
POST /upsell to confirm the offer.true when the order was processed as a subscription (i.e., at least one product has subscription: true).Request Examples
- Credit Card
- Pix
- Boleto
Two-Card Split
When splitting a payment across two cards, include bothcredit_card_0_* and credit_card_1_* fields. The amount values must sum to the full order total.
POST /payments/{id}/refund
Issue a full or partial refund for a completed payment. To refund the full amount, omit theamount field.
Path Parameters
Request Body
ISO 8601 datetime for the refund. Defaults to the current date and time if omitted.
Gateway-side transaction ID to target for the refund (useful when an order has multiple charges).
Response
Returns200 OK with an empty body on success.