Nuvei Order API

Creates and updates orders prior to payment via openOrder and updateOrder. Supports line items, billing/shipping addresses, currency, device details, and dynamic descriptors. Used as the first step for Web SDK, Simply Connect, and Payment Page integrations.

OpenAPI Specification

nuvei-order-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Nuvei Order API
  description: Create and update orders prior to payment. openOrder authenticates merchant credentials,
    sets up an order, and returns a sessionToken. updateOrder modifies an in-flight order
    (amount/items) without reloading.
  version: "1.0"
  contact:
    name: Nuvei Developer Support
    url: https://docs.nuvei.com
servers:
- url: https://secure.safecharge.com/ppp/api/v1
  description: Production
- url: https://ppp-test.nuvei.com/ppp/api/v1
  description: Sandbox
tags:
- name: Orders
paths:
  /openOrder.do:
    post:
      tags:
      - Orders
      summary: Open Order
      operationId: openOrder
      description: Authenticates merchant credentials, sets up an order in the Nuvei system, and
        returns a sessionToken.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OrderRequest"
      responses:
        "200":
          description: Order opened
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderResponse"
  /updateOrder.do:
    post:
      tags:
      - Orders
      summary: Update Order
      operationId: updateOrder
      description: Modifies an existing order's amount or item list during checkout without
        reloading.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OrderRequest"
      responses:
        "200":
          description: Order updated
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderResponse"
components:
  schemas:
    OrderRequest:
      type: object
      required:
      - merchantId
      - merchantSiteId
      - amount
      - currency
      - timeStamp
      - checksum
      properties:
        sessionToken:
          type: string
        merchantId:
          type: string
        merchantSiteId:
          type: string
        clientRequestId:
          type: string
        clientUniqueId:
          type: string
        currency:
          type: string
        amount:
          type: string
        userTokenId:
          type: string
        items:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              price:
                type: string
              quantity:
                type: integer
        billingAddress:
          type: object
        shippingAddress:
          type: object
        deviceDetails:
          type: object
        urlDetails:
          type: object
        timeStamp:
          type: string
        checksum:
          type: string
    OrderResponse:
      type: object
      properties:
        orderId:
          type: string
        sessionToken:
          type: string
        clientRequestId:
          type: string
        internalRequestId:
          type: integer
        status:
          type: string
          enum: [SUCCESS, ERROR]
        errCode:
          type: integer
        reason:
          type: string
        merchantId:
          type: string
        merchantSiteId:
          type: string
        version:
          type: string
        userTokenId:
          type: string