---
title: "Create checkout for an invoice"
method: POST
path: "/api/portal/customers/{externalId}/invoices/{invoiceId}/checkout"
tags: ["Customer Portal"]
---

# Create checkout for an invoice

`POST /api/portal/customers/{externalId}/invoices/{invoiceId}/checkout`

## Request

- Base URL: `https://api.novabilling.one`
- URL: `https://api.novabilling.one/api/portal/customers/{externalId}/invoices/{invoiceId}/checkout`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/novabilling/apis/novabilling-api/docs/api/portal/customers/:externalId/invoices/:invoiceId/checkout/post.ts> (a function with typed inputs; its response is checked against the schema)

Initiates a payment session with the configured payment provider. Returns a checkout URL to redirect the customer to.

## Path parameters

- `externalId` string, required
- `invoiceId` string, required

## Response `200`

Checkout URL and payment details

- CheckoutResponse
  - `checkoutUrl` string, required
  - `paymentId` string, required
  - `provider` string, required
  - `expiresAt` string, required

## Other responses

- `400`: Invoice already paid or no provider configured

## Changes

- **2026-02-16** `0e449a4e0dc8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/novabilling/apis/novabilling-api/changes/api/portal/customers/:externalId/invoices/:invoiceId/checkout/post.md)

---

[API](https://skmtc.dev/novabilling/apis/novabilling-api.md) - [All operations](https://skmtc.dev/novabilling/apis/novabilling-api/llms.txt) - [OpenAPI document](https://skmtc.dev/novabilling/apis/novabilling-api/revisions/0e449a4e0dc8?raw)
