PurchaseDetail

The full buyer view of a purchase: everything on the purchase plus the shipping address, tracking, and any refund or cancellation.

  • buyerFee
    Type: object · Money
    required

    A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

    • amount
      Type: number
      required

      Decimal amount in the currency's major unit (e.g. 5.23 for €5.23). 2 decimal places for EUR/USD/GBP/CHF/CAD/AUD.

    • currency
      Type: string enum
      required
      values
      • USD

        US Dollar.

      • EUR

        Euro.

      • GBP

        British Pound.

      • CAD

        Canadian Dollar.

      • CHF

        Swiss Franc.

  • cancellation
    Type: object · OrderCancellationnullable
    required

    Cancellation details when the order was cancelled. null otherwise.

    Details of a cancelled order.

    • cancelledAt
      Type: string Format: date-time
      required

      When the order was cancelled.

    • cancelledBy
      Type: string enum
      required

      Who cancelled the order.

      values
      • buyer

        The buyer cancelled.

      • seller

        The seller cancelled.

      • system

        CardNexus cancelled it automatically.

    • reason
      Type: string
      required

      The cancellation reason code.

    • reasonText
      Type: string nullable
      required

      A free-text note about the cancellation. null when none was given.

  • completedAt
    Type: string · DateStringFormat: date-timenullable
    required

    When the order closed. null if still open.

    An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

  • currency
    Type: string enum
    required

    The currency every amount in this response is expressed in. Sales are in your selling currency; purchases are in the currency you paid.

    values
    • USD

      US Dollar.

    • EUR

      Euro.

    • GBP

      British Pound.

    • CAD

      Canadian Dollar.

    • CHF

      Swiss Franc.

  • deliveredAt
    Type: string · DateStringFormat: date-timenullable
    required

    When the parcel was delivered. null if not yet.

    An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

  • items
    Type: array object[] · OrderLineItem[]
    required

    The items in the order.

    A single line of an order: the product sold, its condition or grade, quantity, and price.

    • condition
      Type: string · CardConditionenumnullable
      required

      The card's condition: NM, LP, MP, HP, or DMG. null when the item is graded or sealed.

      Card condition: NM (Near Mint), LP (Lightly Played), MP (Moderately Played), HP (Heavily Played), DMG (Damaged).

      values
      • NM

        Near Mint.

      • LP

        Lightly Played.

      • MP

        Moderately Played.

      • HP

        Heavily Played.

      • DMG

        Damaged.

    • finish
      Type: string
      required

      The card's finish, e.g. Standard, Foil, Reverse Holo.

    • graded
      Type: object · Gradednullable
      required

      Grading details when the item is graded. null for raw cards and sealed products.

      Grading details for a slabbed card.

    • imageUrl
      Type: string nullable
      required

      The product image captured at the time of sale. null when there is none.

    • language
      Type: string
      required

      The card's language as a two-letter code, e.g. en, fr.

    • lineTotal
      Type: object · Money
      required

      A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

    • productId
      Type: integer · CatalogId
      min:  
      -9007199254740991
      max:  
      9007199254740991
      nullable
      required

      The catalogue product that was sold. Returned by GET /v1/products. null when the product is no longer in the catalogue.

      A catalogue product or expansion id — a stable integer. Games are addressed by their slug instead.

    • productName
      Type: string
      required

      The product name captured at the time of sale.

    • quantity
      Type: integer
      min:  
      -9007199254740991
      max:  
      9007199254740991
      required

      How many units of this item were sold.

    • unitPrice
      Type: object · Money
      required

      A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

  • orderNumber
    Type: string
    required

    Human-readable order reference, shared across the sale and the purchase, e.g. OR-ASNBC-1.

  • placedAt
    Type: string Format: date-time
    required

    When the order was placed.

  • refund
    Type: object · PurchaseRefundnullable
    required

    Refund details when any money was returned to you. null otherwise.

    A refund returned to you on a purchase.

    • amount
      Type: object · Money
      required

      A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

    • refundedAt
      Type: string · DateStringFormat: date-timenullable
      required

      When the refund was issued. null when it is still pending.

      An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

  • seller
    Type: object · OrderParty
    required

    The other party on an order — the buyer on a sale, the seller on a purchase — with their public profile and reputation.

    • avatarUrl
      Type: string nullable
      required

      Their avatar URL. null when they haven't uploaded one.

    • country
      Type: string nullable
      required

      Their country as a two-letter ISO 3166-1 alpha-2 code (e.g. FR, US). null when unknown.

    • id
      Type: string
      required

      Stable opaque identifier for the other party. Do not parse.

    • rating
      Type: object · OrderPartyRating
      required

      A party's average review score and the number of reviews behind it.

    • reliability
      Type: object · OrderPartyReliabilitynullable
      required

      A seller's recent order-handling stats. null for a buyer, or when there aren't enough recent orders to report.

      A seller's recent order-handling stats over a rolling window.

    • type
      Type: string enumnullable
      required

      pro if they sell as a registered company, individual if they sell as a private person. null when they aren't a seller.

      values
      • pro

        You sell as a registered company.

      • individual

        You sell as a private person.

    • username
      Type: string
      required

      Their public handle.

  • shippedAt
    Type: string · DateStringFormat: date-timenullable
    required

    When the order was marked shipped. null if not yet.

    An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

  • shipping
    Type: object · OrderShippingnullable
    required

    Tracking and delivery details once the seller ships. null before then.

    Tracking and delivery details for a shipped order.

    • carrier
      Type: string nullable
      required

      The carrier, e.g. Colissimo. null when unknown.

    • deliveredAt
      Type: string · DateStringFormat: date-timenullable
      required

      When the parcel was delivered. null until it arrives.

      An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

    • history
      Type: array object[] | null · OrderTrackingEvent[]nullable
      required

      The carrier scan history, oldest first. null when none is available.

      A single carrier scan in a parcel's tracking history.

    • shippedAt
      Type: string Format: date-time
      required

      When the order was marked shipped.

    • status
      Type: string nullable
      required

      The latest carrier status. null before the first scan.

    • trackingNumber
      Type: string
      required

      The carrier tracking number.

    • trackingUrl
      Type: string nullable
      required

      A link to track the parcel. null when unavailable.

  • shippingAddress
    Type: object · OrderShippingAddress
    required

    A postal address an order ships to.

    • city
      Type: string
      required

      City.

    • countryCode
      Type: string
      required

      Destination country as a two-letter ISO 3166-1 alpha-2 code.

    • line1
      Type: string
      required

      Street address, first line.

    • line2
      Type: string nullable
      required

      Street address, second line. null when unused.

    • phone
      Type: string nullable
      required

      Contact phone. null when not provided.

    • postalCode
      Type: string
      required

      Postal or ZIP code.

    • recipientName
      Type: string
      required

      Name the parcel is addressed to.

    • state
      Type: string nullable
      required

      State or province. null when unused.

  • shippingAmount
    Type: object · Money
    required

    A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

    • amount
      Type: number
      required

      Decimal amount in the currency's major unit (e.g. 5.23 for €5.23). 2 decimal places for EUR/USD/GBP/CHF/CAD/AUD.

    • currency
      Type: string enum
      required
      values
      • USD

        US Dollar.

      • EUR

        Euro.

      • GBP

        British Pound.

      • CAD

        Canadian Dollar.

      • CHF

        Swiss Franc.

  • status
    Type: string · OrderStatusenum
    required

    Where the order is in its lifecycle. pending_shipment is awaiting dispatch; shipped and delivered track the parcel; completed is closed and paid out; cancelled_* and resolved_* are the terminal cancellation and dispute outcomes.

    values
    • pending_shipment

      Awaiting dispatch.

    • cancellation_requested

      The buyer asked to cancel; awaiting a response.

    • cancelled_buyer

      Cancelled — the buyer's cancellation was accepted.

    • cancelled_seller

      Cancelled by the seller.

    • cancelled_auto

      Cancelled automatically by CardNexus.

  • subtotal
    Type: object · Money
    required

    A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

    • amount
      Type: number
      required

      Decimal amount in the currency's major unit (e.g. 5.23 for €5.23). 2 decimal places for EUR/USD/GBP/CHF/CAD/AUD.

    • currency
      Type: string enum
      required
      values
      • USD

        US Dollar.

      • EUR

        Euro.

      • GBP

        British Pound.

      • CAD

        Canadian Dollar.

      • CHF

        Swiss Franc.

  • tax
    Type: object · Money
    required

    A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

    • amount
      Type: number
      required

      Decimal amount in the currency's major unit (e.g. 5.23 for €5.23). 2 decimal places for EUR/USD/GBP/CHF/CAD/AUD.

    • currency
      Type: string enum
      required
      values
      • USD

        US Dollar.

      • EUR

        Euro.

      • GBP

        British Pound.

      • CAD

        Canadian Dollar.

      • CHF

        Swiss Franc.

  • total
    Type: object · Money
    required

    A monetary amount as a decimal in the currency's major unit paired with its currency code — { amount: 14.99, currency: "USD" } means $14.99.

    • amount
      Type: number
      required

      Decimal amount in the currency's major unit (e.g. 5.23 for €5.23). 2 decimal places for EUR/USD/GBP/CHF/CAD/AUD.

    • currency
      Type: string enum
      required
      values
      • USD

        US Dollar.

      • EUR

        Euro.

      • GBP

        British Pound.

      • CAD

        Canadian Dollar.

      • CHF

        Swiss Franc.

  • updatedAt
    Type: string Format: date-time
    required

    When the order last changed.

Examples
{
  "orderNumber": "OR-ASNBC-1",
  "status": "delivered",
  "placedAt": "2026-06-13T15:02:00.000Z",
  "updatedAt": "2026-06-17T11:40:00.000Z",
  "shippedAt": "2026-06-14T09:12:00.000Z",
  "deliveredAt": "2026-06-17T11:40:00.000Z",
  "completedAt": null,
  "currency": "EUR",
  "items": [
    {
      "productId": 50212,
      "productName": "Dark Magician (SDMY-EN001)",
      "imageUrl": "https://images.cardnexus.com/yugioh/SDMY-EN001.png",
      "condition": "NM",
      "language": "en",
      "finish": "Standard",
      "graded": null,
      "quantity": 2,
      "unitPrice": {
        "amount": 4.5,
        "currency": "EUR"
      },
      "lineTotal": {
        "amount": 9,
        "currency": "EUR"
      }
    }
  ],
  "subtotal": {
    "amount": 9,
    "currency": "EUR"
  },
  "shippingAmount": {
    "amount": 3.5,
    "currency": "EUR"
  },
  "buyerFee": {
    "amount": 0.6,
    "currency": "EUR"
  },
  "tax": {
    "amount": 0,
    "currency": "EUR"
  },
  "total": {
    "amount": 13.1,
    "currency": "EUR"
  },
  "seller": {
    "id": "665f3a2b1c8d4e9f7a6b5c4d",
    "username": "north_arena_tcg",
    "avatarUrl": "https://images.cardnexus.com/avatars/north_arena_tcg.png",
    "country": "GB",
    "type": "pro",
    "rating": {
      "average": 4.9,
      "count": 214
    },
    "reliability": {
      "orderCount": 96,
      "completedCount": 94,
      "completionRate": 0.98,
      "avgShipTimeHours": 21.4
    }
  },
  "shippingAddress": {
    "recipientName": "Marie Dubois",
    "line1": "14 Rue des Lilas",
    "line2": null,
    "city": "Lyon",
    "state": null,
    "postalCode": "69003",
    "countryCode": "FR",
    "phone": null
  },
  "shipping": {
    "trackingNumber": "6A18432197431",
    "carrier": "Colissimo",
    "trackingUrl": "https://www.laposte.fr/outils/suivre-vos-envois?code=6A18432197431",
    "status": "delivered",
    "shippedAt": "2026-06-14T09:12:00.000Z",
    "deliveredAt": "2026-06-17T11:40:00.000Z",
    "history": null
  },
  "refund": null,
  "cancellation": null
}