---
title: "Get the authenticated user's one-time (app-OTP) payment by invoice number"
method: GET
path: "/apps/{appUuid}/payments/me/{invoiceNumber}"
---

# Get the authenticated user's one-time (app-OTP) payment by invoice number

`GET /apps/{appUuid}/payments/me/{invoiceNumber}`

`read:self`. Fetches one of the caller's own payments by Fanvue invoice number. 404 for unknown invoice numbers, another buyer's payment, or pre-migration rows.

## Path parameters

- `appUuid` string, uuid, required
- `invoiceNumber` string, required

## Headers

- `X-Fanvue-API-Version` string, required

## Response `200`

The user's one-time payment

- object
  - `uuid` string, required — Horizon purchase identifier.
  - `appUuid` string, required — UUID of the app the purchase belongs to.
  - `buyerUuid` string, required — UUID of the purchasing Fanvue user.
  - `planUuid` string, required — UUID of the purchased pricing plan / item.
  - `invoiceNumber` string, nullable, required — Fanvue invoice number. Use as the idempotency key for fulfilment. Null for purchases that settled before reconciliation was enabled, or not yet settled.
  - `billingReferenceId` string, required — The `appotp_…` reference minted at checkout.
  - `clientReferenceId` string, required — Merchant-supplied reference passed at checkout via `?client_reference_id=`; empty string when unset.
  - `status` 'pending' | 'completed' | 'failed' | 'refunded' | 'expired', required — Lifecycle status of the one-time purchase.
  - `amount` number, required — Amount in minor currency units, snapshotted at checkout.
  - `currency` string, required — ISO currency code.
  - `externalPaymentId` string, required — Provider payment id; empty string until completed.
  - `createdAt` string, date-time, required — When the purchase was created.
  - `updatedAt` string, date-time, required — When the purchase was last updated.

## Other responses

- `400` — Bad Request - API version not supported OR validation failed OR invalid UUID
- `401` — Unauthorized Response
- `403` — Unauthorized Response
- `404` — App not found / not owned, or payment not found
- `410` — API version no longer supported (sunset)
- `429` — Too many requests - rate limit exceeded
- `502` — Failed to load payments from upstream
- `503` — Developer API upstream is not configured

---

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