CyberSource orders API

An order is a service that is used for initiating a transaction with itemized details, shipping, billing and buyer information.

Operations 2

POST /pts/v2/intents Create an Order #
PATCH /pts/v2/intents/{id} Update an Order #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cybersource-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cybersource-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
  version: 0.0.1
  title: CyberSource Merged Spec bankAccountValidation Orders API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: orders
  description: "An order is a service that is used for initiating a transaction with itemized details, shipping, billing and buyer information. \n"
paths:
  /pts/v2/intents:
    post:
      summary: Create an Order
      description: "A create order request enables you to send the itemized details along with the order. This API can be used by merchants initiating their transactions with the create order API. \n"
      tags:
      - orders
      operationId: createOrder
      x-devcenter-metaData:
        categoryTag: Payments
      responses:
        '201':
          description: Successful response.
          content:
            application/hal+json;charset=utf-8:
              schema:
                title: ptsV2CreateOrderPost201Response
                type: object
                properties:
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  updateTimeUtc:
                    type: string
                    description: 'The date and time when the request was last updated.

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      '
                  status:
                    type: string
                    description: "The status of the submitted transaction.\nPossible values:\n  - CREATED\n  - SAVED\n  - APPROVED\n  - VOIDED\n  - COMPLETED\n  - PAYER_ACTION_REQUIRED\n"
                  reconciliationId:
                    type: string
                    maxLength: 60
                    description: 'Reference number for the transaction.

                      Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.

                      The actual value used in the request to the processor is provided back to you by Cybersource in the response.

                      '
                  clientReferenceInformation:
                    type: object
                    properties:
                      code:
                        type: string
                        maxLength: 59
                        description: 'Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each

                          transaction so that you can perform meaningful searches for the transaction.


                          #### Used by

                          **Authorization**

                          Required field.


                          #### PIN Debit

                          Requests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being

                          reversed.


                          Required field for all PIN Debit requests (purchase, credit, and reversal).


                          #### FDC Nashville Global

                          Certain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.

                          '
                  processorInformation:
                    type: object
                    properties:
                      transactionId:
                        type: string
                        maxLength: 255
                        description: 'Network transaction identifier (TID). You can use this value to identify a specific transaction when you are

                          discussing the transaction with your processor. Not all processors provide this value.


                          Returned by the authorization service.


                          #### PIN debit

                          Transaction identifier generated by the processor.


                          Returned by PIN debit credit.


                          #### GPX

                          Processor transaction ID.


                          #### Cielo

                          For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.


                          #### Comercio Latino

                          For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.


                          #### CyberSource through VisaNet and GPN

                          For details about this value for CyberSource through VisaNet and GPN, see "processorInformation.networkTransactionId" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)


                          #### Moneris

                          This value identifies the transaction on a host system. It contains the following information:

                          - Terminal used to process the transaction

                          - Shift during which the transaction took place

                          - Batch number

                          - Transaction number within the batch

                          You must store this value. If you give the customer a receipt, display this value on the receipt.


                          **Example** For the value

                          66012345001069003:

                          - Terminal ID = 66012345

                          - Shift number = 001

                          - Batch number = 069

                          - Transaction number = 003

                          '
                      networkTransactionId:
                        type: string
                        description: Same value as `processorInformation.transactionId`
                      paymentUrl:
                        type: string
                        maxLength: 2048
                        description: Direct the customer to this URL to complete the payment.
                  paymentInformation:
                    type: object
                    properties:
                      eWallet:
                        type: object
                        properties:
                          accountId:
                            type: string
                            maxLength: 26
                            description: The ID of the customer, passed in the return_url field by PayPal after customer approval.
                          fundingSource:
                            type: string
                            maxLength: 30
                            description: Payment mode for the authorization or order transaction.  INSTANT_TRANSFER  MANUAL_BANK_TRANSFER  DELAYED_TRANSFER  ECHECK  UNRESTRICTED (default)—this value is available only when configured by PayPal for the merchant. INSTANT
                          fundingSourceSale:
                            type: string
                            maxLength: 30
                            description: 'Payment method for the unit purchase.

                              Possible values:

                              - `UNRESTRICTED (default)—this value

                              is only available if configured by PayPal

                              for the merchant.`

                              - `INSTANT`

                              '
                          userName:
                            type: string
                            description: 'The Venmo user name chosen by the user, also known as a Venmo handle.

                              '
                  buyerInformation:
                    type: object
                    properties:
                      merchantCustomerId:
                        type: string
                        maxLength: 100
                        description: 'Your identifier for the customer.


                          When a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.


                          #### Comercio Latino

                          For recurring payments in Mexico, the value is the customer''s contract number.

                          Note Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.


                          #### Worldpay VAP

                          For a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order

                          given, for a customer account ID value and uses the first value it finds:

                          1. `customer_account_id` value in the follow-on credit request

                          2. Customer account ID value that was used for the capture that is being credited

                          3. Customer account ID value that was used for the original authorization

                          If a customer account ID value cannot be found in any of these locations, then no value is used.

                          '
                example:
                  submitTimeUtc: 2024-06-01T071957Z
                  updateTimeUtc: 2024-06-01T071957Z
                  status: CREATED
                  reconciliationId: 39570726X3E1LBQR
                  clientReferenceInformation:
                    code: DEFAULT
                  processorInformation:
                    transactionId: 1234qwerty1234
        '400':
          description: Invalid request.
          content:
            application/hal+json;charset=utf-8:
              schema:
                type: object
                title: ptsV2CreateOrderPost400Response
                properties:
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  status:
                    type: string
                    description: "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n"
                  message:
                    type: string
                    description: The detail message related to the status and reason listed above.
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: This is the flattened JSON object field name/path that is either missing or invalid.
                        reason:
                          type: string
                          description: "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
        '502':
          description: Unexpected system error or system timeout.
          content:
            application/hal+json;charset=utf-8:
              schema:
                title: ptsV2CreateOrderPost502Response
                type: object
                properties:
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  status:
                    type: string
                    description: "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n"
                  reason:
                    type: string
                    description: "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n"
                  message:
                    type: string
                    description: The detail message related to the status and reason listed above.
      x-example:
        example0:
          summary: Create Order
          sample-name: Create Order
          value:
            orderInformation:
              amountDetails:
                totalAmount: '102.21'
                currency: USD
              shipTo:
                country: US
                lastName: VDP
                address1: 201 S. Division St.
                postalCode: 48104-2201
                locality: Ann Arbor
                administrativeArea: MI
                firstName: RTS
            merchantInformation:
              merchantDescriptor:
                name: Merchant1
                email: merchant1@gmail.com
            processingInformation:
              processingInstruction: NO_INSTRUCTION
              authorizationOptions:
                authType: AUTHORIZE
              actionList: AP_ORDER
            paymentInformation:
              paymentType:
                method:
                  name: payPal
                name: ewallet
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              type: object
              properties:
                clientReferenceInformation:
                  type: object
                  properties:
                    reconciliationId:
                      type: string
                      maxLength: 60
                      description: 'Reference number for the transaction.

                        Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.

                        The actual value used in the request to the processor is provided back to you by Cybersource in the response.

                        '
                processingInformation:
                  type: object
                  properties:
                    processingInstruction:
                      type: string
                      maxLength: 36
                      description: 'The instruction to process an order.

                        - default value: ''NO_INSTRUCTION''

                        - ''ORDER_SAVED_EXPLICITLY''

                        '
                    authorizationOptions:
                      type: object
                      properties:
                        authType:
                          type: string
                          maxLength: 15
                          description: "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n"
                    actionList:
                      type: array
                      description: 'Array of actions (one or more) to be included in the order to invoke bundled services along with order.

                        Possible values:

                        - `AP_ORDER`: Use this when Alternative Payment Order service is requested.

                        '
                      items:
                        type: string
                    highRiskTransactionFlag:
                      type: string
                      description: 'Indicates if the transaction is flagged as high risk.

                        '
                    transactionRetry:
                      type: string
                      description: 'Indicates if the transaction is a retry.

                        '
                    lastOneHrTransactionCount:
                      type: string
                      description: 'The number of transactions in the last one hour.

                        '
                    lastOneDayTransactionCount:
                      type: string
                      description: 'The number of transactions in the last one day.

                        '
                    lastThreeMonthsTxnCount:
                      type: string
                      description: 'The number of transactions in the last three months.

                        '
                    totalTransactionCount:
                      type: string
                      description: 'The total number of transactions.

                        '
                    pinVerification:
                      type: string
                      description: 'Indicates if PIN verification is required.

                        '
                    faceIdVerification:
                      type: string
                      description: 'Indicates if face ID verification is required.

                        '
                    userPassedVerification:
                      type: string
                      description: 'Indicates if the user passed verification.

                        '
                    ipAddress:
                      type: string
                      description: 'The IP address of the user.

                        '
                    transactionDate:
                      type: string
                      description: 'The date of the transaction.

                        '
                    tangible:
                      type: string
                      description: 'Indicates if the transaction involves tangible goods.

                        '
                merchantInformation:
                  type: object
                  properties:
                    merchantDescriptor:
                      type: object
                      properties:
                        name:
                          type: string
                          description: 'Your merchant name.


                            **Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.


                            #### PIN debit

                            Your business name. This name is displayed on the cardholder''s statement. When you

                            include more than one consecutive space, extra spaces are removed.


                            When you do not include this value in your PIN debit request, the merchant name from your account is used.

                            **Important** This value must consist of English characters.


                            Optional field for PIN debit credit or PIN debit purchase requests.


                            #### Airline processing

                            Your merchant name. This name is displayed on the cardholder''s statement. When you include more than one consecutive space, extra spaces are removed.


                            **Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.


                            **Important** This value must consist of English characters.


                            Required for captures and credits.

                            '
                        email:
                          type: string
                          maxLength: 254
                          description: Email address of the merchant.
                    cancelUrl:
                      type: string
                      maxLength: 255
                      description: customer would be redirected to this url based on the decision of the transaction
                    successUrl:
                      type: string
                      maxLength: 2048
                      description: customer would be redirected to this url based on the decision of the transaction
                paymentInformation:
                  type: object
                  properties:
                    paymentType:
                      type: object
                      properties:
                        name:
                          type: string
                          description: 'A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.

                            Possible values:

                            - `CARD` (use this for a PIN debit transaction)

                            - `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)

                            - `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)

                            - `localCard` (KCP Local card via Altpay)

                            - `carrierBilling` (KCP Carrier Billing via Altpay)

                            '
                        method:
                          type: object
                          properties:
                            name:
                              type: string
                              description: "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n#### Via PayPal ptsV2CreateOrderPost201Response\n  - 'payPal'\n  - 'venmo'\n"
                    tokenizedPaymentMethod:
                      type: object
                      properties:
                        description:
                          type: string
                          maxLength: 128
                          description: 'Description of the vaulted payment method shown to the buyer during checkout and in their PayPal account.

                            '
                        usagePattern:
                          type: string
                          maxLength: 30
                          description: 'Indicates how the merchant will primarily use the vaulted payment method. Valid values:

                            - "IMMEDIATE": For on-demand, instant payments. These payments are variable in both amount and frequency and will be used to pay for goods or services before they are rendered to the buyer

                            - "DEFERRED": For post-pay payments; that is, payments for goods or services that have already been rendered to the buyer

                            - "RECURRING_PREPAID": For recurring payments before services are rendered.

                            - "RECURRING_POSTPAID": For recurring payments after services are rendered.

                            - "THRESHOLD_PREPAID": For payments when a pre-defined threshold is reached before services are rendered.

                            - "THRESHOLD_POSTPAID": For payments when a pre-defined threshold is reached after services are rendered.

                            '
                        usageType:
                          type: string
                          maxLength: 255
                          description: 'Indicates the type of vaulting relationship. Valid values:

                            - "MERCHANT": Single merchant relationship.

                            - "PLATFORM": Platform hosting multiple merchants.

                            '
                        allowMultipleTokens:
                          type: string
                          description: 'Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account.

                            '
                    industryType:
                      type: string
                      description: 'Indicates the industry type. Possible Values:

                        - "Events"

                        - "Ticketing"

                        - "Fuel"

                        - "GAMING"

                        - "DIGITAL GOODS"

                        - "TELCO"

                        - "Token Service Providers"

                        - "Gambling"

                        - "CFDs"

                        - "car rental"

                        - "hotel"

                        - "transportation"

                        - "travel package"

                        - "Cruise Line"

                        - "P2P"

                        - "Retail"

                        - "Food"

                        - "Groceries"

                        - "Ride Sharing"

                        - "Taxi"

                        - "Remittance"

                        - "Crypto"

                        - "Marketplaces"

                        '
                    eWallet:
                      type: object
                      properties:
                        accountId:
                          type: string
                          maxLength: 26
                          description: 'The unique ID for a customer generated by PayPal.

                            '
                orderInformation:
                  type: object
                  properties:
                    amountDetails:
                      type: object
                      properties:
                        totalAmount:
                          type: string
                          maxLength: 32
                          description: 'Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places

                            '
                        currency:
                          type: string
                          maxLength: 3
                          description: 'Currency used for the order

                            '
                        discountAmount:
                          type: string
                          maxLength: 32
                          description: "Discount amount for the transaction. \n"
                        shippingAmount:
                          type: string
                          maxLength: 32
                          description: 'Aggregate shipping charges for the transactions.

                            '
                        shippingDiscountAmount:
                          type: string
                          maxLength: 32
                          description: "Shipping discount amount for the transaction. \n"
                        taxAmount:
                          type: string
                          maxLength: 32
                          description: "Total tax amount. \n"
                        insuranceAmount:
                          type: string
                          maxLength: 32
                          description: "Amount being charged for the insurance fee. \n"
                        dutyAmount:
                          type: string
                          maxLength: 32
                          description: "Amount being charged as duty amount.            \n"
                    billTo:
                      type: object
                      properties:
                        email:
                          type: string
                          minLength: 3
                          maxLength: 254
                          description: 'Email address of the PayPal account holder.

                            '
                    shipTo:
                      type: object
                      properties:
                        firstName:
                          type: string
                          maxLength: 60
                          description: 'First name of the recipient.


                            #### Litle

                            Maximum length: 25


                            #### All other processors

                            Maximum length: 60


                            Optional field.

                            '
                        lastName:
                          type: string
                          maxLength: 60
                          description: 'Last name of the recipient.


                            #### Litle

                            Maximum length: 25


                            #### All other processors

                            Maximum length: 60


                            Optional field.

                            '
                        address1:
                          type: string
                          maxLength: 60
                          description: 'First line of the shipping address.


                            Required field for authorization if any shipping address information is included in the request; otherwise, optional.


                            #### Tax Calculation

                            Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.

                            Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.

                            '
                        address2:
                          type: string
                          maxLength: 60
                          description: 'Second line of the shipping address.


                            Optional field.


                            #### Tax Calculation

                            Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.

                            Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.

                            '
                        locality:
                          type: string
                          maxLength: 50
                          description: 'City of the shipping address.


                            Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or

                            Canada; otherwise, optional.


                            #### Tax Calculation

                            Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.

                            Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.

                            '
                        administrativeArea:
                          type: string
                          maxLength: 50
                          description: "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum 

# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-orders-api-openapi.yml