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.

Nuvei Order API is one of 9 APIs that Nuvei publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Orders, Cart, and Checkout. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

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