Skip to main content

cart.order.completed

Generated from COPE public event contracts. Do not edit this page by hand.
Use this event to start fulfillment, grant access, or reconcile a successful purchase.

Delivery Contract

FieldValue
EncodingCloudEvents 1.0 structured JSON
DeliveryAt least once
IdempotencyUse the CloudEvents source + id tuple, or COPE idempotency_key when available.
Sourcecope.cart
Subject patternorder:<identifier>
CategoryOrders
AvailabilityAvailable in the public webhook reference.
Schema titlecart.order.completed v1 payload
Schema IDhttps://schemas.cope.com/events/cart.order.completed/v1

Payload Fields

FieldRequiredTypeAllowed ValuesDescription
businessyesobject--
buyeryesobject--
currencyyesstring--
event_typeyesconstcart.order.completed-
first_click_refno`stringnull`-Raw, unvalidated affiliate reference captured from the inbound ?aff= parameter. It is not a resolved or validated affiliate ID; COPE resolves and validates attribution downstream.
line_itemsyesarray--
occurred_atyesstring--
orderyesobject--
order_overview_urlyesstring--
paymentyesobject--
payment_methodyes`objectnull`--
phone_offer_idno`stringnull`-Phone offer identifier associated with this sale, if any. Raw attribution signal only.
promoyes`objectnull`--
promo_codeno`stringnull`-Promo code applied to this sale, if any. Raw attribution signal only.
railyesstring--
schema_versionyesconst1.3-
seller_vat_infono`objectnull`-Seller identity used for invoicing when the creator is the VAT-liable party. Null when COPE is the VAT-liable party.
totalsyesobject--
vat_modenostringcope_vat, creator_vatWhich party is liable for VAT on this sale: COPE (cope_vat) or the creator (creator_vat).
vat_responsibilitynostringcope, creatorWhich party remits VAT to the tax authority.

Example CloudEvent

{
  "data": {
    "business": {},
    "buyer": {},
    "currency": "EUR",
    "event_type": "cart.order.completed",
    "line_items": [
      {
        "amounts": {
          "gross_cents": 1000,
          "net_cents": 1000,
          "tax_cents": 1000,
          "tax_percentage": 19
        },
        "is_trial": true,
        "product": {},
        "quantity": 1000
      }
    ],
    "occurred_at": "2026-05-05T12:00:00.000Z",
    "order": {
      "created_at": "2026-05-05T12:00:00.000Z",
      "currency": "EUR",
      "source": "example_source"
    },
    "order_overview_url": "https://example.com",
    "payment": {},
    "payment_method": {},
    "promo": {},
    "rail": "example_rail",
    "schema_version": "1.3",
    "totals": {
      "product": {
        "gross_cents": 1000,
        "net_cents": 1000,
        "tax_cents": 1000
      },
      "total": {
        "gross_cents": 1000,
        "net_cents": 1000,
        "tax_cents": 1000
      }
    }
  },
  "datacontenttype": "application/json",
  "dataschema": "https://schemas.cope.com/events/cart.order.completed/v1",
  "id": "cart.order.completed:example",
  "idempotency_key": "cart.order.completed:example",
  "source": "cope.cart",
  "specversion": "1.0",
  "subject": "order:example",
  "time": "2026-05-05T12:00:00.000Z",
  "type": "cart.order.completed"
}

Compatibility

Fields may be added within the same major version. Removing or changing the meaning of a documented field requires a new event version.