---
title: "Get a payment request"
method: GET
path: "/payments/{id}"
tags: ["Payments"]
---

# Get a payment request

`GET /payments/{id}`

## Request

- Base URL: `https://osis.co/api/v1/comms`
- URL: `https://osis.co/api/v1/comms/payments/{id}`
- Auth: HTTP bearer

Needs comms_read. Gets one payment request and its status. The Payments API is off until an owner or admin accepts the merchant terms. Until then, this returns 403 payments_api_disabled. This still works while payments are suspended.

## Response `200`

The payment request and its status.

- PaymentRequestResponse
  - `payment_request` PaymentRequest, required
    - `id` string, required
    - `agent_id` string, nullable
    - `conversation_id` string, nullable
    - `contact_id` string, nullable
    - `to` string, nullable
    - `amount_cents` integer, required: Amount in cents (or the currency's smallest unit). For Shopify, this is an estimate until the paid order is confirmed.
    - `currency` string, required
    - `amount_formatted` string
    - `description` string
    - `creator_name` string
    - `status` 'pending' | 'paid' | 'canceled' | 'partially_refunded' | 'refunded', required: pending: waiting for payment. paid: the provider confirmed it. canceled: you canceled a Whop or Stripe request, or the order was canceled in Shopify. partially_refunded and refunded: part or all of a Shopify payment was refunded.
    - `refunded_cents` integer, required: Total refunded so far, in the payment's currency. 0 if nothing was refunded. Only Shopify reports refunds for now.
    - `refunded_at` string, date-time, nullable: When the latest refund came in.
    - `canceled_at` string, date-time, nullable: When the order was canceled in Shopify. Null for requests canceled in Comms.
    - `settlement` 'org' | 'platform'
    - `url` string, uri, required
    - `checkout_url` string, uri, nullable
    - `rail` 'whop' | 'stripe' | 'shopify', required
    - `whop_plan_id` string, nullable
    - `whop_checkout_config_id` string, nullable
    - `whop_payment_id` string, nullable
    - `stripe_checkout_session_id` string, nullable
    - `metadata` object
    - `paid_at` string, date-time, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `provider` 'whop' | 'shopify' | 'stripe', required

## Other responses

- `401`: API key is missing or wrong.
- `403`: payments_api_disabled: accept the merchant terms to turn on the Payments API. merchant_terms_update_required: accept the new terms version. You also get 403 if your key is missing a scope.
- `404`: payment_request_not_found: there's no request with that ID in your workspace.

---

[API](https://skmtc.dev/osis/apis/comms-api.md) · [All operations](https://skmtc.dev/osis/apis/comms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/osis/apis/comms-api/revisions/59a4c0ba8936?raw)
