Payments

Create a payment request

Needs comms_send. Select existing public catalog items or a public Whop checkout_url. Supports built-in managed Whop, connected Whop and Shopify. Price and currency come from the provider. All REST callers, including organization API keys used by self-hosted agents, use agent restrictions. Custom amounts, currency overrides, hidden/private plans and arbitrary-amount Stripe checkout are rejected. The workspace must accept the merchant terms first.

post/payments

Request

  • Base URL: https://osis.co/api/v1/comms
  • URL: https://osis.co/api/v1/comms/payments
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Required for Shopify and recommended for Whop; alternatively supply idempotency_key in the body. Both must match when present. Stripe rejects keys.

Request body

provider'whop' | 'shopify'

Connected payment provider. The same endpoint and response serve every provider.

descriptionstring
conversation_idstring
sendboolean

Set to true, along with conversation_id, contact_id, or to, and Comms texts the checkout for you using delivery_mode. Check sent and send_error in the response. A sent link doesn't mean it was received or paid.

delivery_mode'link' | 'imessage_app'

How the checkout is sent. Defaults to imessage_app if your workspace has checkout cards turned on, and link otherwise. imessage_app needs checkout cards turned on, Shopify physical products or permitted Whop purchases priced in USD, a dedicated iMessage line that supports it, and the Comms Messages extension. It never falls back to a link or SMS.

idempotency_keystring

Required for Shopify, supported by Whop, rejected by Stripe. May instead be sent as Idempotency-Key header. Both values must match when supplied together.

checkout_urlstring uri

Existing canonical public Whop checkout URL instead of items. A fresh session tracks the existing public product plan.

discount_codesstring[]

Existing Shopify discount codes. Every code must apply to the cart. Other providers do not support this field.

creator_namestring
contact_idstring
tostring
agent_idstring

The agent this payment is for.

metadataobject
rail'whop' | 'shopify'

Legacy alias for provider. If both are supplied, they must match.

Response

Payment request created, or an existing Shopify/Whop request returned for the same idempotency key.

urlstring uri required
sentboolean required

The text was sent. This doesn't mean it was delivered or paid.

send_errorstring

Example response

{
  "payment_request": {
    "id": "payreq_123",
    "currency": "usd"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.