---
title: "Create payment intent (publishable)"
method: POST
path: "/publishable/payment_links/intents/"
tags: ["Payments"]
---

# Create payment intent (publishable)

`POST /publishable/payment_links/intents/`

Creates a payment intent against a payment link. Returns the intent's
`publishable_key` to drive the rest of the checkout flow.

## Request body

- PaymentIntent — Customer's intent to pay against a `PaymentLink`. Drives the checkout flow (authorize → capture → finalize).
  - `publishable_key` string
  - `amount` number, required
  - `gateway` string, required — Gateway ID.
  - `link` integer, required — Payment-link ID.
  - `customer` object — Free-form customer data captured during checkout.
  - `metadata` object
  - `return_url` string, uri, nullable
  - `authorization_url` string, uri, nullable
  - `status` 'failed' | 'pending' | 'succeeded'
  - `status_description` string, nullable
  - `status_reason` string, nullable
  - `created` string, date-time
  - `updated` string, date-time

## Response `201`

Intent created.

- PaymentIntent — Customer's intent to pay against a `PaymentLink`. Drives the checkout flow (authorize → capture → finalize).
  - `publishable_key` string
  - `amount` number, required
  - `gateway` string, required — Gateway ID.
  - `link` integer, required — Payment-link ID.
  - `customer` object — Free-form customer data captured during checkout.
  - `metadata` object
  - `return_url` string, uri, nullable
  - `authorization_url` string, uri, nullable
  - `status` 'failed' | 'pending' | 'succeeded'
  - `status_description` string, nullable
  - `status_reason` string, nullable
  - `created` string, date-time
  - `updated` string, date-time

## Other responses

- `400` — Request body or query parameters failed validation.

---

[API](https://skmtc.net/piriod/apis/piriod-api.md) · [All operations](https://skmtc.net/piriod/apis/piriod-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/piriod/piriod-api/revisions/70cbc827dc7b/schema)
