---
title: "Create Payment Intent"
method: POST
path: "/api/billing/payment-intent"
tags: ["Billing"]
---

# Create Payment Intent

`POST /api/billing/payment-intent`

Create a Stripe PaymentIntent for depositing compute credits.

``amount_cad`` is pretax wallet credit. Stripe Tax uses the **account**
country/province (settings/profile) — no deposit province picker. IP is a
fallback when the account has no location. Wallet is credited pretax only.

## Request body

- PaymentIntentRequest
  - `customer_id` string, required
  - `amount_cad` number, required
  - `description` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-06-08** `cbe3ad94235c` — 1 breaking, 4 warning
  - the `customer_id` request property's minLength was increased from `0` to `1`
  - the `amount_cad` request property's exclusiveMinimum was set to `0.00`
  - the `customer_id` request property's maxLength was set to `128`
  - the `description` request property's maxLength was set to `500`
  - …1 more

[Change history](https://skmtc.dev/aabiro/apis/xcelsior/changes/api/billing/payment-intent/post.md)

---

[API](https://skmtc.dev/aabiro/apis/xcelsior.md) · [All operations](https://skmtc.dev/aabiro/apis/xcelsior/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/aabiro/xcelsior/revisions/32211b6f9d65/schema)
