openapi: 3.0.0
info:
  title: API REST Documentation
  description: '<div class="humanColumnApiDescription markdown formalTheme"> <p>Connect to the 2Checkout Commerce API and Ecosystem.</p> <p>Before you start using the 2Checkout API, make sure you are PCI DSS compliant. Find out more details about what PCI DSS compliance means and what you should do to be PCI compliant <a href="https://verifone.cloud/docs/2checkout/Onboarding/Merchant-PCI-Compliance">here</a>.</p> <h1>Authentication</h1> <p>To authenticate to the 2Checkout REST API include a header with the following structure into your requests:</p> <p><strong>X-Avangate-Authentication: code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}" algo="{ALGO}"</strong></p> <ul> <li> <p><strong>VENDOR_CODE</strong>: Your unique 2Checkout supplied merchant code.</p> </li> <li> <p><strong>REQUEST_DATE_TIME</strong>: The <strong>UTC</strong> date time of the request. Format: <strong>YYYY-MM-DD HH:MM:SS</strong>. You must provide the time of the request in the <strong>GMT</strong> timezone.</p> </li> <li> <p><strong>HASH</strong>: The hashmac digest with a SHA2/SHA3 hashing algorithm of the following: LEN(VENDOR_CODE) + VENDOR_CODE + LEN(REQUEST_DATE_TIME) + REQUEST_DATE_TIME. Use the <strong>secret key</strong> associated with your account for the hashing.</p> </li> </ul> <p>You must authenticate for all requests.</p> <h2>JSON encoded requests</h2> <p>The <strong>2Checkout REST API</strong> supports only <strong>JSON</strong> encoded requests and responses. You need to include the following headers in your requests:</p> <ul> <li> <p><strong>Content-Type: application/json</strong></p> </li> <li> <p><strong>Accept: application/json</strong></p> </li> </ul> <p>Reponses follow HTTP specification regarding response headers. Successful responses are composed of:</p> <ul> <li> <p>A HTTP Success header.</p> </li> <li> <p>A JSON encoded string.</p> </li> </ul>    </div>'
  version: 6.0-oas3
servers:
- url: "https://api.2checkout.com/rest/6.0"
paths:
  /products/:
    get:
      tags:
      - Product
      summary: Retrieve product info
      description: Extract information about the products you configured for your account.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Name
        in: query
        description: Product name. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Subscription
      - name: Types
        in: query
        description: "Array of the values representing the type of products. Possible values: REGULAR or BUNDLE. Leave empty to have all product types returned to the search.Can be NULL. If NULL, 2Checkout returns both regular and bundle products."
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: REGULAR
      - name: Enabled
        in: query
        description: True or false. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: "true"
      - name: ReviewStatus
        in: query
        description: Can be 'Does not exist', 'Pending', 'In Review', 'Passed' or 'Rejected'.
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: "Passed"
      - name: GroupName
        in: query
        description: The name of the group that the product is associated with. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: General
      - name: Limit
        in: query
        description: Number of results (products) displayed per page. Default value is 10. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: "10"
      - name: Page
        in: query
        description: A specific page of search results. Default value is 1. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: "1"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductResponse"
              examples:
                response:
                  $ref: "#/components/examples/ProductResponse"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE
                message: Invalid product code!
    post:
      tags:
      - Product
      summary: Add a product
      description: |-
        Use the Product object to create/add, update/edit and retrieve products for your account. You cannot set a group name when creating a new product. You can control:
        * Product information
        * Pricing
        * Subscription plan settings and renewal configuration
        * Subscription plan recurring billing
        * Fulfillment
        * Shipping classes
        * Localization
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateProductRequest"
            examples:
              CreateProductRequest_Basic:
                $ref: "#/components/examples/CreateProductRequest_Basic"
              CreateProductRequest_BasicWithRenewalPrices:
                $ref: "#/components/examples/CreateProductRequest_BasicWithRenewalPrices"
      responses:
        "201":
          description: Created
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT
                message: No valid pricing configurations.
  "/products/{ProductCode}/":
    get:
      tags:
      - Product
      summary: Retrieve product info by code
      description: Extract product information using the unique identifier you assign to products.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductResponse"
              examples:
                response:
                  $ref: "#/components/examples/ProductResponse"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE
                message: Invalid product code!
    put:
      tags:
      - Product
      summary: Update a product
      description: Update/change the settings of a product you already configured for your account.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateProductRequest"
            example: my_subscription_1
      responses:
        "200":
          description: OK
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT
                message: The intervals for renewal are not the same with the ones for regular
    post:
      tags:
      - Product
      summary: Enable products
      description: Enable products for your account.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Product"
            examples:
              EnableProduct:
                value:
                  ReviewProductUrl: https://ProductURLToBeReviewed.com
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: "{ 'TRUE' }"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_PRODUCT_ID
                message: The provided product id does not belong to the current vendor
    delete:
      tags:
      - Product
      summary: Disable products
      description: Disable products for your account.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: '"The editable code that you control at product-level, not the unique, system-generated product ID"'
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: "{ 'TRUE' }"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE
                message: Invalid product code 123456
  "/products/{ProductCode}/productimages/":
    get:
      tags:
      - Product
      summary: Get product images list
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: Product code
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: A720693CC9
      responses:
        "200":
          description: Returns product images list
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductImagesListResponse"
              example:
              - Name: false
                Code: "http://secure.avangate.org/images/merchant/2fa8fadcc0c3506875c09e7e71111111/products/image_1.png"
              - Name: true
                Code: "http://secure.avangate.org/images/merchant/2fa8fadcc0c3506875c09e7e71111111/products/image_2.png"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: RESOURCE_NOT_FOUND
                message: Resource not found.
  "/products/{ProductCode}/productimages/{ImageFilter}/":
    get:
      tags:
      - Product
      summary: Get product image by filter
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
          - image/png
          - image/gif
          - image/jpg
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: Product code
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: A720693CC9
      - name: ImageFilter
        in: path
        description: Image filter(numeric image index or image filename (.jpg|.png|.gif))
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: test.png
      responses:
        "200":
          description: Returns product image binary string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - filename: test1.png
                data: "image/png:base64,iVBORw0KGgoAAAANSU"
            image/png:
              schema:
                type: string
                format: binary
              example: binary content string
            image/jpg:
              schema:
                type: string
                format: binary
              example: binary content string
            image/gif:
              schema:
                type: string
                format: binary
              example: binary content string
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: RESOURCE_NOT_FOUND
                message: Resource not found.
  "/products/{ProductCode}/crosssells/":
    get:
      tags:
      - Product
      summary: Get crossSell campaigns by filter
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Enabled
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: true
      - name: Type
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: MERCH
      - name: Page
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 1
      - name: Limit
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 10
      responses:
        "200":
          description: Returns crossSell campaign collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellCampaignSearchResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellCampaignSearchError"
              example:
              - error_code: INVALID_INPUT
                message: Invalid product code.
              - error_code: CROSS_SELL_CAMPAIGN_PAGINATION_ASSET_INVALID
                message: Invalid pagination asset
              - error_code: CROSS_SELL_CAMPAIGN_TYPE_PARAMETER_INVALID
                message: "Parameter value not allowed: ‘Type’"
              - error_code: CROSS_SELL_CAMPAIGN_ENABLED_PARAMETER_INVALID
                message: "Parameter value not allowed: ‘Enabled’"
  "/products/{ProductCode}/upgrade/":
    post:
      tags:
      - Product
      summary: Set product upgrade schema
      parameters:
      - in: path
        schema:
          type: string
        name: ProductCode
        description: Unique code which represents the product
        required: true
      operationId: setProductUpgradeSchema
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductUpgradeSchemaRequest"
      responses:
        "200":
          description: Set product upgrade schema success response
          content:
            application/json:
              schema:
                type: boolean
                example: true
        "400":
          description: Set product upgrade schema validation error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductUpgradeSchemaErrorResponse"
  "/productsku/":
    get:
      tags:
      - Product SKU
      summary: Generate SKU schema
      description: "Stock keeping unit or SKU is a number assigned to a particular product by a digital or physical retail store for easy identification and inventory tracking purposes. The SKU number is a string of alphanumeric characters that uniquely identify details such as price, product options and manufacturer of a particular product or service. SKUs are used in order notifications, electronic delivery, export files, etc"
      operationId: generateSchema
      parameters:
      - name: schema
        in: query
        description: "To create a new SKU schema, define the combination criteria from the Settings section below. The SKU number is a unique combination of Product ID (Product Code) plus all or one of the following: Currencies/Volume Discounts/Purchase Types/Pricing Options"
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: '{ "Products": [ { "Code": "VALID_PRODUCT_CODE_1", "Currencies": [ "USD", "EUR", "GBP", "BGN" ], "PurchaseTypes": [ "NEW_PRODUCT", "RENEWAL" ], "PricingConfigurationCodes": [ { "Code": "VALID_PRICING_CONFIGURATION_CODE_1", "VolumeDiscounts": [ [ 1, 3 ], [ 4, 10 ] ], "OptionGroups": [ { "Code": "GROUP_CODE_2" } ] } ] }, { "Code": "VALID_PRODUCT_CODE_2", "Currencies": [ "USD", "EUR" ], "PurchaseTypes": [ "NEW_PRODUCT" ], "PricingConfigurationCodes": [ { "Code": "VALID_PRICING_CONFIGURATION_CODE_2", "OptionGroups": [ { "Code": "GROUP_CODE_1" } ] } ] } ] }'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
        example: '{ "Products": [ { "Code": "VALID_PRODUCT_CODE_1", "Currencies": [ "USD", "EUR", "GBP", "BGN" ], "PurchaseTypes": [ "NEW_PRODUCT", "RENEWAL" ], "PricingConfigurationCodes": [ { "Code": "VALID_PRICING_CONFIGURATION_CODE_1", "VolumeDiscounts": [ [ 1, 3 ], [ 4, 10 ] ], "OptionGroups": [ { "Code": "GROUP_CODE_2" } ] } ] }, { "Code": "VALID_PRODUCT_CODE_2", "Currencies": [ "USD", "EUR" ], "PurchaseTypes": [ "NEW_PRODUCT" ], "PricingConfigurationCodes": [ { "Code": "VALID_PRICING_CONFIGURATION_CODE_2", "OptionGroups": [ { "Code": "GROUP_CODE_1" } ] } ] } ] }'
      responses:
        "200":
          description: Returns generated SKU schema
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200"
        "401":
          description: Authentication failure
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_401"
  /productsku/search:
    get:
      tags:
      - Product SKU
      summary: Get product SKUs matching to parameters specified in request
      operationId: searchSku
      parameters:
      - name: ProductCode
        in: query
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: 6B3CB17DDA_COPY1
      - name: PricingConfigurations
        in: query
        required: true
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: "#/components/schemas/SearchSkuPricingConfigurations"
        example: '["Code" => "E684EC99B0", "Currencies" => ["Code" => "EUR"]]'
      - name: PurchaseTypes
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: "#/components/schemas/SearchSkuPurchaseTypes"
        example: '["Code" => "RENEWAL"]'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: Returns generated SKU schema
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductSkuSearchResponse"
  /productsku/delete:
    post:
      tags:
      - Product SKU
      summary: Delete product SKU
      description: Delete product SKU by criteria
      operationId: deleteSKU
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        #          explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/DeleteSkuProduct"
      responses:
        "200":
          description: In case of success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/DeleteSkuProductResponse"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/DeleteSkuProductResponse"
        "401":
          description: Authentication failure
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_401_1"
  /productgroups/:
    get:
      tags:
      - Product group
      summary: Retrieve product groups
      description: |-
        Extract information about the product groups you created for your account.

        ***

        **Method and URL**

        **GET** `https://api.2checkout.com/rest/6.0/productgroups/`

        ***

        **Example URL**

        `https://api.2checkout.com/rest/6.0/productgroups/`

        ***

        **Response**

        200 JSON

        <table>
        <tbody>
        <tr>
        <td>
        <strong>ProductGroup</strong>
        </td>
        <td>
        <strong>Array of objects</strong>
        </td>
        </tr>
        </tbody>
        </table>
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Code: 96A9F43B1B
                    Description: Default products group
                    Name: General
                    TemplateName: GlobalNew
                  - Code: 0F0C8E77B0
                    Description: Default products group
                    Name: API_GROUP
                    TemplateName: Optimized_Template
                  - Code: D11E983297
                    Description: Default products group
                    Name: "123"
                    TemplateName: Short funnel checkout
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE
                message: Invalid product code!
    post:
      tags:
      - Product group
      summary: Create a product group
      description: |-
        - Send null for product group Code. 2Checkout ignores any values you send for Code and generates identifiers itself.

        - Use unique product group names.

        - 2Checkout throws an exception if you send a blank product group.

        - If you send only the name of the product group 2Checkout creates the new product group entity.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Product_ProductGroup"
      responses:
        "201":
          description: Created
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_GROUP_CODE
                message: The product group 123456 is already assigned.
  "/productgroups/{ProductGroupCode}/":
    get:
      tags:
      - Product group
      summary: Retrieve a product group
      description: |-
        Extract information about a specific product group you created for your account.

        ***

        **Method and URL**

        **GET** `https://api.2checkout.com/rest/6.0/productgroups/{PRODUCT_GROUP_CODE}/`

        ***

        **URL parameters**

        <table><thead>
        <tr>
        <th>
        Attributes
        </th>
        <th>
        Type/Description
        </th>
        </tr>
        </thead>
        <tbody>
        <tr>
        <td>
        <strong>ProductGroupCode</strong>
        </td>
        <td>
        <strong>Required (string)</strong>
        </td>
        </tr>
        <tr>
        <td>

        </td>
        <td>
        Unique, system-generated identifier assigned to product groups.
        </td>
        </tr>
        </tbody>
        </table>

        ***

        **Example URL**

        ?https://api.2checkout.com/rest/6.0/productgroups/96A9F43B1B/

        ***

        **Response**

        200 JSON

        <table><thead>
        <tr>
        <th>
        Attributes
        </th>
        <th>
        Type/Description
        </th>
        </tr>
        </thead>
        <tbody>
        <tr>
        <td>
        <strong>ProductGroup
        </td>
        <td>
        Object
        </td>
        </tr>
        </tbody>
        </table>
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductGroupCode
        in: path
        description: "Unique, system-generated identifier assigned to product groups."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 96A9F43B1B
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Description: Default products group
                    Name: API_GROUP_TEST_Marius
                    TemplateName: Optimized_Template
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE
                message: Invalid product code!
  "/products/{ProductCode}/productgroups/":
    get:
      tags:
      - Product group
      summary: Get the assigned product group for a product
      description: Retrieve the name of the product's assigned product group
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: Tangible products
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE_INVALID
                message: The product code is invalid.
  "/products/{ProductCode}/productgroups/{ProductGroupCode}/":
    post:
      tags:
      - Product group
      summary: Assign a product to a product group
      description: |-
        Following the assignation, the 2Checkout system uses the shopping cart template associated with the product group as the default cart design when shoppers purchase a product.

        ***

        **Method and URL**

        **POST** `https://api.2checkout.com/rest/6.0/products/{ProductCode}/productgroups/{ProductGroupCode}/`

        The name of the product group is case sensitive.

        ***

        **URL parameters**

        <table><thead>
        <tr>
        <th>
        Attributes
        </th>
        <th>
        Type/Description
        </th>
        </tr>
        </thead>
        <tbody>
        <tr>
        <td>
        <strong>ProductCode</strong>
        </td>
        <td>
        <strong>Required (string)</strong>
        </td>
        </tr>
        <tr>
        <td>
        &nbsp;
        </td>
        <td>
        The editable code that you control at product-level, <strong>not</strong> the unique, system-generated product ID.
        </td>
        </tr>
        <tr>
        <td>
        <strong>ProductGroupCode</strong>
        </td>
        <td>
        <strong>Required (string)</strong>
        </td>
        </tr>
        <tr>
        <td>

        </td>
        <td>
        Unique, system-generated identifier assigned to product groups.
        </td>
        </tr>
        </tbody>
        </table>

        ***

        **Example URL**

        `https://api.2checkout.com/rest/6.0/products/my_subscription/productgroups/96A9F43B1B/`

        ***

        **Response**

        200 JSON
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      - name: ProductGroupCode
        in: path
        description: "Unique, system-generated identifier assigned to product groups."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 96A9F43B1B
      responses:
        "200":
          description: OK
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE
                message: Invalid product code 123456
    delete:
      tags:
      - Product group
      summary: Unassign a product from a product group
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      - name: ProductGroupCode
        in: path
        description: "Unique, system-generated identifier assigned to product groups."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 96A9F43B1B
      responses:
        "200":
          description: OK
  /priceoptions/:
    get:
      tags:
      - Price options group
      summary: "Working example: Retrieve price option groups"
      description: |-
        ***

        **Overview**

        Extract information on the price option groups you configured.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Name
        in: query
        description: The name of the pricing options groups configured in the 2Checkout system. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Users
      - name: Types
        in: query
        description: "Possible values: RADIO, CHECKBOX, INTERVAL, COMBO. Can be NULL."
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - RADIO
          - CHECKBOX
          - INTERVAL
          - COMBO
        example:
        - RADIO
      - name: Limit
        in: query
        description: Number of results displayed per page. Default maximum value is 10. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: "3"
      - name: Page
        in: query
        description: A specific page of search results. Default value is 1. Can be NULL.
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: "1"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Code: BACKUP
                    Description: Online backup options.
                    Name: Backup
                    Usage: PAYPERUSAGE
                    UsagePricingModel: STEPPED
                    Options:
                    - Code: 100GBcode
                      Default: true
                      Description: ""
                      Name: 100GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "0.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 100GB
                    - Code: 300GBcode
                      Default: false
                      Description: ""
                      Name: 300GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "10.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 300GB
                    - Code: 500GBcode
                      Default: false
                      Description: Get one extra month of service!
                      Name: 500GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "20.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      SubscriptionImpact:
                        Impact: ADD
                        Months: "1.00"
                      Translations:
                      - Description: Get one extra month of service!
                        Language: EN
                        Name: 500GB
                    Required: false
                    Translations:
                    - Description: Esse distinctio voluptatibus omnis et et quia dolor. Quibusdam dicta dolores odio consequatur velit voluptate. Laboriosam reiciendis libero vel quae molestiae ad.
                      Language: 0
                      Name: 37wr8ie2dj
                    - Description: Online backup options.
                      Language: EN
                      Name: Backup
                    Type: COMBO
                  - Code: SUPPORT
                    Description: ""
                    Name: Support
                    Usage: REGULAR
                    Options:
                    - Code: emailsupport
                      Default: true
                      Description: ""
                      Name: Email support
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "0.00"
                            Currency: AUD
                          BRL:
                            Amount: "0.00"
                            Currency: BRL
                          CAD:
                            Amount: "0.00"
                            Currency: CAD
                          EUR:
                            Amount: "0.00"
                            Currency: EUR
                          GBP:
                            Amount: "0.00"
                            Currency: GBP
                          JPY:
                            Amount: "0.00"
                            Currency: JPY
                          USD:
                            Amount: "0.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Email support
                    - Code: phonesupport
                      Default: false
                      Description: ""
                      Name: Phone support
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "20.00"
                            Currency: AUD
                          BRL:
                            Amount: "40.00"
                            Currency: BRL
                          CAD:
                            Amount: "20.00"
                            Currency: CAD
                          EUR:
                            Amount: "20.00"
                            Currency: EUR
                          GBP:
                            Amount: "20.00"
                            Currency: GBP
                          JPY:
                            Amount: "2000.00"
                            Currency: JPY
                          USD:
                            Amount: "20.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Phone support
                    Required: false
                    Translations:
                    - Language: EN
                      Name: Support
                    Type: CHECKBOX
                  - Code: USERS
                    Description: ""
                    Name: Users
                    Usage: REGULAR
                    Options:
                    - Code: oneuser1
                      Default: true
                      Description: ""
                      Name: 1 User
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "0.00"
                            Currency: AUD
                          BRL:
                            Amount: "0.00"
                            Currency: BRL
                          CAD:
                            Amount: "0.00"
                            Currency: CAD
                          EUR:
                            Amount: "0.00"
                            Currency: EUR
                          GBP:
                            Amount: "0.00"
                            Currency: GBP
                          JPY:
                            Amount: "0.00"
                            Currency: JPY
                          USD:
                            Amount: "0.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Description: "Descriere optiune "
                        Language: RO
                        Name: Optiune romana
                      - Language: EN
                        Name: 1 User
                    - Code: twousers2
                      Default: false
                      Description: ""
                      Name: 2 Users
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "51.00"
                            Currency: AUD
                          BRL:
                            Amount: "100.00"
                            Currency: BRL
                          CAD:
                            Amount: "51.00"
                            Currency: CAD
                          EUR:
                            Amount: "51.00"
                            Currency: EUR
                          GBP:
                            Amount: "51.00"
                            Currency: GBP
                          JPY:
                            Amount: "5000.00"
                            Currency: JPY
                          USD:
                            Amount: "51.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 2 Users
                    - Code: familypk
                      Default: false
                      Description: ""
                      Name: Family pack
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "80.00"
                            Currency: AUD
                          BRL:
                            Amount: "200.00"
                            Currency: BRL
                          CAD:
                            Amount: "80.00"
                            Currency: CAD
                          EUR:
                            Amount: "80.00"
                            Currency: EUR
                          GBP:
                            Amount: "80.00"
                            Currency: GBP
                          JPY:
                            Amount: "9000.00"
                            Currency: JPY
                          USD:
                            Amount: "80.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Family pack
                    Required: false
                    Translations:
                    - Description: Romana descriere
                      Language: RO
                      Name: Romana nume
                    - Language: EN
                      Name: Users
                    Type: RADIO
    post:
      tags:
      - Price options group
      summary: "Create price option groups"
      description: |-
        ***

        **Overview**

        Create price option groups for your products.

        - Send options for each pricing group or 2Checkout throws an exception.

        - When adding an interval with no min / max values or overlapping values, 2Checkout throws an exception.

        - For the PayPerUsage type, Required parameter can be only false. For any other usage type, the Required parameter it can be either false or true.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePriceOptionGroups"
            examples:
              RadioType:
                summary: Create price option group with option type Radio
                value:
                  Code: USERS
                  Description: Create price option group with option type Radio
                  Name: Users
                  Required: false
                  Type: RADIO
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              ComboType:
                summary: Create price option group with option type Dropdown
                value:
                  Code: USERS
                  Description: Create price option group with option type Dropdown
                  Name: Users
                  Required: false
                  Type: COMBO
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              CheckboxType:
                summary: Create price option group with option type Checkbox
                value:
                  Code: USERS
                  Description: Create price option group with option type Checkbox
                  Name: Users
                  Required: false
                  Type: CHECKBOX
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              ScaleType:
                summary: Create price option group with option type Scale
                value:
                  Code: USERS
                  Description: Create price option group with option type Scale
                  Name: Users
                  Required: false
                  Type: INTERVAL
                  Usage: SCALE
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              PayPerUsageType:
                summary: Create price option group with option type Pay per usage
                value:
                  Code: USERS
                  Description: Create price option group with option type Pay per usage
                  Name: Users
                  Required: false
                  Type: INTERVAL
                  Usage: PAYPERUSAGE
                  UsagePricingModel: STEPPED
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
      responses:
        "201":
          description: Created
  "/priceoptions/{GroupCode}/":
    get:
      tags:
      - Price options group
      summary: "Retrieve a price options group"
      description: |-
        ***

        **Overview**

        Extract information about a specific price option group that you configured.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: GroupCode
        in: path
        description: The code that the 2Checkout system generates or that you set for the product pricing options group.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: USERS123
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                PayPerUsageType:
                  summary: Get price option group with option type Pay per usage
                  value:
                    Code: BACKUP
                    Description: Online backup options.
                    Name: Backup
                    Usage: PAYPERUSAGE
                    UsagePricingModel: STEPPED
                    Type: INTERVAL
                    Options:
                    - Code: 100GBcode
                      Default: true
                      Description: ""
                      Name: 100GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "0.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 100GB
                    - Code: 300GBcode
                      Default: false
                      Description: ""
                      Name: 300GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "10.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 300GB
                    - Code: 500GBcode
                      Default: false
                      Description: Get one extra month of service!
                      Name: 500GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "20.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      SubscriptionImpact:
                        Impact: ADD
                        Months: "1.00"
                      Translations:
                      - Description: Get one extra month of service!
                        Language: EN
                        Name: 500GB
                    Required: false
                    Translations:
                    - Description: Esse distinctio voluptatibus omnis et et quia dolor. Quibusdam dicta dolores odio consequatur velit voluptate. Laboriosam reiciendis libero vel quae molestiae ad.
                      Language: 0
                      Name: 37wr8ie2dj
                    - Description: Online backup options.
                      Language: EN
                      Name: Backup
                CheckboxType:
                  summary: Get price option group with option type Checkbox
                  value:
                    Code: SUPPORT
                    Description: ""
                    Name: Support
                    Type: CHECKBOX
                    Options:
                    - Code: emailsupport
                      Default: true
                      Description: ""
                      Name: Email support
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "0.00"
                            Currency: AUD
                          BRL:
                            Amount: "0.00"
                            Currency: BRL
                          CAD:
                            Amount: "0.00"
                            Currency: CAD
                          EUR:
                            Amount: "0.00"
                            Currency: EUR
                          GBP:
                            Amount: "0.00"
                            Currency: GBP
                          JPY:
                            Amount: "0.00"
                            Currency: JPY
                          USD:
                            Amount: "0.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Email support
                    - Code: phonesupport
                      Default: false
                      Description: ""
                      Name: Phone support
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "20.00"
                            Currency: AUD
                          BRL:
                            Amount: "40.00"
                            Currency: BRL
                          CAD:
                            Amount: "20.00"
                            Currency: CAD
                          EUR:
                            Amount: "20.00"
                            Currency: EUR
                          GBP:
                            Amount: "20.00"
                            Currency: GBP
                          JPY:
                            Amount: "2000.00"
                            Currency: JPY
                          USD:
                            Amount: "20.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Phone support
                    Required: false
                    Translations:
                    - Language: EN
                      Name: Support
                RadioType:
                  summary: Get price option group with option type Radio
                  value:
                    Code: USERS
                    Description: ""
                    Name: Users
                    Type: RADIO
                    Options:
                    - Code: oneuser1
                      Default: true
                      Description: ""
                      Name: 1 User
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "0.00"
                            Currency: AUD
                          BRL:
                            Amount: "0.00"
                            Currency: BRL
                          CAD:
                            Amount: "0.00"
                            Currency: CAD
                          EUR:
                            Amount: "0.00"
                            Currency: EUR
                          GBP:
                            Amount: "0.00"
                            Currency: GBP
                          JPY:
                            Amount: "0.00"
                            Currency: JPY
                          USD:
                            Amount: "0.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Description: "Descriere optiune "
                        Language: RO
                        Name: Optiune romana
                      - Language: EN
                        Name: 1 User
                    - Code: twousers2
                      Default: false
                      Description: ""
                      Name: 2 Users
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "51.00"
                            Currency: AUD
                          BRL:
                            Amount: "100.00"
                            Currency: BRL
                          CAD:
                            Amount: "51.00"
                            Currency: CAD
                          EUR:
                            Amount: "51.00"
                            Currency: EUR
                          GBP:
                            Amount: "51.00"
                            Currency: GBP
                          JPY:
                            Amount: "5000.00"
                            Currency: JPY
                          USD:
                            Amount: "51.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 2 Users
                    - Code: familypk
                      Default: false
                      Description: ""
                      Name: Family pack
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "80.00"
                            Currency: AUD
                          BRL:
                            Amount: "200.00"
                            Currency: BRL
                          CAD:
                            Amount: "80.00"
                            Currency: CAD
                          EUR:
                            Amount: "80.00"
                            Currency: EUR
                          GBP:
                            Amount: "80.00"
                            Currency: GBP
                          JPY:
                            Amount: "9000.00"
                            Currency: JPY
                          USD:
                            Amount: "80.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Family pack
                    Required: false
                    Translations:
                    - Description: Romana descriere
                      Language: RO
                      Name: Romana nume
                    - Language: EN
                      Name: Users
    put:
      tags:
      - Price options group
      summary: "Update price options"
      description: |-
        ***

        **Overview**

        Update/edit an existing price options group you configured for your account.

        - Price options intervals cannot overlap.

        - You cannot update the Code and Required parameters of the price options group.

        - For the PayPerUsage type, Required parameter can be only false. For any other usage type, the Required parameter it can be either false or true.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: GroupCode
        in: path
        description: The code that the 2Checkout system generates or that you set for the product pricing options group.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: USERS123
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePriceOptionGroups"
            examples:
              RadioType:
                summary: Update price option group with option type Radio
                value:
                  Description: Update price option group with option type Radio
                  Name: Users
                  Required: false
                  Type: RADIO
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              ComboType:
                summary: Update price option group with option type Dropdown
                value:
                  Description: Update price option group with option type Dropdown
                  Name: Users
                  Required: false
                  Type: COMBO
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              CheckboxType:
                summary: Update price option group with option type Checkbox
                value:
                  Description: Update price option group with option type Checkbox
                  Name: Users
                  Required: false
                  Type: CHECKBOX
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              ScaleType:
                summary: Update price option group with option type Scale
                value:
                  Description: Update price option group with option type Scale
                  Name: Users
                  Required: false
                  Type: INTERVAL
                  Usage: SCALE
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
              PayPerUsageType:
                summary: Update price option group with option type Pay per usage
                value:
                  Description: Update price option group with option type Pay per usage
                  Name: Users
                  Required: false
                  Type: INTERVAL
                  Usage: PAYPERUSAGE
                  UsagePricingModel: STEPPED
                  Options:
                  - Code: oneuser1
                    Default: true
                    Description: ""
                    Name: 1 User
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "0.00"
                          Currency: AUD
                        BRL:
                          Amount: "0.00"
                          Currency: BRL
                        CAD:
                          Amount: "0.00"
                          Currency: CAD
                        EUR:
                          Amount: "0.00"
                          Currency: EUR
                        GBP:
                          Amount: "0.00"
                          Currency: GBP
                        JPY:
                          Amount: "0.00"
                          Currency: JPY
                        USD:
                          Amount: "0.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Description: "Descriere optiune "
                      Language: RO
                      Name: Optiune romana
                    - Language: EN
                      Name: 1 User
                  - Code: twousers2
                    Default: false
                    Description: ""
                    Name: 2 Users
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "51.00"
                          Currency: AUD
                        BRL:
                          Amount: "100.00"
                          Currency: BRL
                        CAD:
                          Amount: "51.00"
                          Currency: CAD
                        EUR:
                          Amount: "51.00"
                          Currency: EUR
                        GBP:
                          Amount: "51.00"
                          Currency: GBP
                        JPY:
                          Amount: "5000.00"
                          Currency: JPY
                        USD:
                          Amount: "51.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: 2 Users
                  - Code: familypk
                    Default: false
                    Description: ""
                    Name: Family pack
                    PriceImpact:
                      Amounts:
                        AUD:
                          Amount: "80.00"
                          Currency: AUD
                        BRL:
                          Amount: "200.00"
                          Currency: BRL
                        CAD:
                          Amount: "80.00"
                          Currency: CAD
                        EUR:
                          Amount: "80.00"
                          Currency: EUR
                        GBP:
                          Amount: "80.00"
                          Currency: GBP
                        JPY:
                          Amount: "9000.00"
                          Currency: JPY
                        USD:
                          Amount: "80.00"
                          Currency: USD
                      Impact: ADD
                      Method: FIXED
                    ScaleMax: "0"
                    ScaleMin: "0"
                    Translations:
                    - Language: EN
                      Name: Family pack
                  Translations:
                  - Description: Romana descriere
                    Language: RO
                    Name: Romana nume
                  - Language: EN
                    Name: Users
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
  "/products/{ProductCode}/priceoptions/":
    get:
      tags:
      - Price options group
      summary: "Retrieve a price options group"
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Code: BACKUP
                    Description: Online backup options.
                    Name: Backup
                    Usage: PAYPERUSAGE
                    UsagePricingModel: STEPPED
                    Options:
                    - Code: 100GBcode
                      Default: true
                      Description: ""
                      Name: 100GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "0.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 100GB
                    - Code: 300GBcode
                      Default: false
                      Description: ""
                      Name: 300GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "10.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 300GB
                    - Code: 500GBcode
                      Default: false
                      Description: Get one extra month of service!
                      Name: 500GB
                      PriceImpact:
                        Amounts: []
                        Impact: ADD
                        ImpactOn: BASE
                        Method: PERCENT
                        Percent: "20.00"
                      ScaleMax: "0"
                      ScaleMin: "0"
                      SubscriptionImpact:
                        Impact: ADD
                        Months: "1.00"
                      Translations:
                      - Description: Get one extra month of service!
                        Language: EN
                        Name: 500GB
                    Required: false
                    Translations:
                    - Description: Esse distinctio voluptatibus omnis et et quia dolor. Quibusdam dicta dolores odio consequatur velit voluptate. Laboriosam reiciendis libero vel quae molestiae ad.
                      Language: 0
                      Name: 37wr8ie2dj
                    - Description: Online backup options.
                      Language: EN
                      Name: Backup
                    Type: COMBO
                  - Code: SUPPORT
                    Description: ""
                    Name: Support
                    Usage: REGULAR
                    Options:
                    - Code: emailsupport
                      Default: true
                      Description: ""
                      Name: Email support
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "0.00"
                            Currency: AUD
                          BRL:
                            Amount: "0.00"
                            Currency: BRL
                          CAD:
                            Amount: "0.00"
                            Currency: CAD
                          EUR:
                            Amount: "0.00"
                            Currency: EUR
                          GBP:
                            Amount: "0.00"
                            Currency: GBP
                          JPY:
                            Amount: "0.00"
                            Currency: JPY
                          USD:
                            Amount: "0.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Email support
                    - Code: phonesupport
                      Default: false
                      Description: ""
                      Name: Phone support
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "20.00"
                            Currency: AUD
                          BRL:
                            Amount: "40.00"
                            Currency: BRL
                          CAD:
                            Amount: "20.00"
                            Currency: CAD
                          EUR:
                            Amount: "20.00"
                            Currency: EUR
                          GBP:
                            Amount: "20.00"
                            Currency: GBP
                          JPY:
                            Amount: "2000.00"
                            Currency: JPY
                          USD:
                            Amount: "20.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Phone support
                    Required: false
                    Translations:
                    - Language: EN
                      Name: Support
                    Type: CHECKBOX
                  - Code: USERS
                    Description: ""
                    Name: Users
                    Usage: REGULAR
                    Options:
                    - Code: oneuser1
                      Default: true
                      Description: ""
                      Name: 1 User
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "0.00"
                            Currency: AUD
                          BRL:
                            Amount: "0.00"
                            Currency: BRL
                          CAD:
                            Amount: "0.00"
                            Currency: CAD
                          EUR:
                            Amount: "0.00"
                            Currency: EUR
                          GBP:
                            Amount: "0.00"
                            Currency: GBP
                          JPY:
                            Amount: "0.00"
                            Currency: JPY
                          USD:
                            Amount: "0.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Description: "Descriere optiune "
                        Language: RO
                        Name: Optiune romana
                      - Language: EN
                        Name: 1 User
                    - Code: twousers2
                      Default: false
                      Description: ""
                      Name: 2 Users
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "51.00"
                            Currency: AUD
                          BRL:
                            Amount: "100.00"
                            Currency: BRL
                          CAD:
                            Amount: "51.00"
                            Currency: CAD
                          EUR:
                            Amount: "51.00"
                            Currency: EUR
                          GBP:
                            Amount: "51.00"
                            Currency: GBP
                          JPY:
                            Amount: "5000.00"
                            Currency: JPY
                          USD:
                            Amount: "51.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: 2 Users
                    - Code: familypk
                      Default: false
                      Description: ""
                      Name: Family pack
                      PriceImpact:
                        Amounts:
                          AUD:
                            Amount: "80.00"
                            Currency: AUD
                          BRL:
                            Amount: "200.00"
                            Currency: BRL
                          CAD:
                            Amount: "80.00"
                            Currency: CAD
                          EUR:
                            Amount: "80.00"
                            Currency: EUR
                          GBP:
                            Amount: "80.00"
                            Currency: GBP
                          JPY:
                            Amount: "9000.00"
                            Currency: JPY
                          USD:
                            Amount: "80.00"
                            Currency: USD
                        Impact: ADD
                        Method: FIXED
                      ScaleMax: "0"
                      ScaleMin: "0"
                      Translations:
                      - Language: EN
                        Name: Family pack
                    Required: false
                    Translations:
                    - Description: Romana descriere
                      Language: RO
                      Name: Romana nume
                    - Language: EN
                      Name: Users
                    Type: RADIO
  "/products/{ProductCode}/pricingconfigurations/":
    get:
      tags:
      - Pricing configuration
      summary: "Retrieve pricing configurations"
      description: |-
        ***

        **Overview**

        Extract information on the pricing configurations you set for a product.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - BillingCountries: []
                    Code: 54DCBC3DC8
                    Default: true
                    DefaultCurrency: USD
                    Name: 2Checkout Subscription's Price Configuration
                    PriceOptions:
                    - Code: SUPPORT
                      Required: true
                      CustomImpactOnPrice: false
                    - Code: USERS
                      Required: true
                      CustomImpactOnPrice: false
                    - Code: BACKUP
                      Required: false
                      CustomImpactOnPrice: false
                    PriceType: NET
                    Prices:
                      Regular:
                      - Amount: 99
                        Currency: USD
                        MaxQuantity: "99999"
                        MinQuantity: "1"
                        OptionCodes: []
                      - Amount: 0
                        Currency: EUR
                        MaxQuantity: "99999"
                        MinQuantity: "1"
                        OptionCodes: []
                      Renewal: []
                    PricingSchema: DYNAMIC
    post:
      tags:
      - Pricing configuration
      summary: "Add a pricing configuration"
      description: |-
        ***

        **Overview**

        Add a pricing configuration for a product.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_10"
      responses:
        "200":
          description: OK
  "/products/{ProductCode}/pricingconfigurations/{Code}/":
    get:
      tags:
      - Pricing configuration
      summary: "Retrieve a pricing configuration"
      description: |-
        ***

        **Overview**

        Extract information on a specific pricing configuration for a product.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      - name: Code
        in: path
        description: System-generated identifier. Read-only.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 54DCBC3DC8
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    BillingCountries: []
                    Code: 54DCBC3DC8
                    Default: true
                    UseOriginalPrices: false
                    DefaultCurrency: USD
                    Name: 2Checkout Subscription's Price Configuration
                    PriceOptions:
                    - Code: SUPPORT
                      Required: true
                      CustomImpactOnPrice: false
                    - Code: USERS
                      Required: true
                      CustomImpactOnPrice: false
                    - Code: BACKUP
                      Required: false
                      CustomImpactOnPrice: false
                    PriceType: NET
                    Prices:
                      Regular:
                      - Amount: 99
                        Currency: USD
                        MaxQuantity: "99999"
                        MinQuantity: "1"
                        OptionCodes: []
                      - Amount: 0
                        Currency: EUR
                        MaxQuantity: "99999"
                        MinQuantity: "1"
                        OptionCodes: []
                      Renewal: []
                    PricingSchema: DYNAMIC
    put:
      tags:
      - Pricing configuration
      summary: "Update a pricing configuration"
      description: |-
        ***

        **Overview**

        Update a pricing configuration for a product.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      - name: Code
        in: path
        description: System-generated identifier. Match the similar parameter in the Body of the request. Read-only.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 54DCBC3DC8
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_11"
      responses:
        "200":
          description: OK
  "/products/{ProductCode}/pricingconfigurations/{PricingConfigurationCode}/prices":
    parameters:
    - name: Accept
      in: header
      required: true
      style: simple
      explode: false
      schema:
        type: string
        example: application/json
        default: application/json
        enum:
        - application/json
    - name: X-Avangate-Authentication
      in: header
      description: Authentication header
      required: true
      style: simple
      explode: false
      schema:
        type: string
        example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
    - schema:
        type: string
      name: ProductCode
      in: path
      required: true
    - schema:
        type: string
      name: PricingConfigurationCode
      in: path
      required: true
    put:
      tags:
      - Pricing configuration
      summary: Update a pricing configuration prices
      operationId: put-products-ProductCode-pricingconfigurations-PricingConfigurationCode-prices
      responses:
        "200":
          description: "true"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
      description: Get the prices from a pricing configuration by code
      requestBody:
        content:
          application/json:
            schema:
              description: ""
              type: object
              properties:
                Prices:
                  type: array
                  uniqueItems: true
                  minItems: 1
                  items:
                    type: object
                    properties:
                      Amount:
                        type: number
                        example: 100
                      Currency:
                        type: string
                        minLength: 1
                        example: USD
                    required:
                    - Amount
                    - Currency
                Quantities:
                  type: object
                  properties:
                    MinQuantity:
                      type: number
                      example: 10
                      minimum: 1
                      maximum: 99999
                    MaxQuantity:
                      type: number
                      example: 100
                      minimum: 1
                      maximum: 99999
                PriceOptions:
                  type: array
                  uniqueItems: true
                  minItems: 1
                  items:
                    type: object
                    properties:
                      Code:
                        type: string
                        minLength: 1
                        example: x9g7asaj
                      Required:
                        type: boolean
                      Options:
                        type: array
                        items:
                          type: string
                          example: x9g7asaj4f
      parameters: []
  "/products/{ProductCode}/pricingconfigurations/{PricingConfigurationCode}/priceoptions/{PriceOptionCode}/":
    parameters:
    - name: X-Avangate-Authentication
      in: header
      description: Authentication header
      required: true
      style: simple
      explode: false
      schema:
        type: string
        example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
    - name: Accept
      in: header
      required: true
      style: simple
      explode: false
      schema:
        type: string
        example: application/json
        enum:
        - application/json
    - schema:
        type: string
      name: ProductCode
      in: path
      required: true
    - schema:
        type: string
      name: PricingConfigurationCode
      in: path
      required: true
    - schema:
        type: string
      name: PriceOptionCode
      in: path
      required: true
    post:
      tags:
      - Pricing configuration
      summary: Assign price option to pricing configuration
      description: |-
        ***

        **Note**
        For the PayPerUsage type, Required parameter can be only false. For any other usage type, the Required parameter it can be either false or true.
      operationId: post-products-ProductCode-pricingconfigurations-PricingConfigurationCode-priceoptions-PriceOptionCode
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
      requestBody:
        content:
          application/json:
            schema:
              description: ""
              type: object
              properties:
                Required:
                  type: boolean
              required:
              - Required
    delete:
      tags:
      - Pricing configuration
      summary: Unassign price option from pricing configuration
      operationId: delete-products-ProductCode-pricingconfigurations-PricingConfigurationCode-priceoptions-PriceOptionCode
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
  "/products/{ProductCode}/pricingconfigurations/{Code}/sku/match/":
    get:
      tags:
      - Pricing configuration
      summary: "Retrieve SKU code by details"
      description: |-
        ***

        **Overview**
        Retrieve a product's SKU code by details. At least one of the optional parameters should be provided, no matter which of them.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: Product code. Is used to build a link to product sku resource. This link is returned in request response. Is not used to identifie product sku.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Code
        in: path
        description: Pricing configuration's code
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Currency
        in: query
        description: SKU's currency code
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: PurchaseType
        in: query
        description: Type of purchase
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: PriceOptions
        in: query
        description: "Price option codes, delimited by comma"
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Quantity
        in: query
        description: Quantity
        required: false
        style: form
        explode: true
        schema:
          type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                response:
                  value:
                    Resource: SKU
                    Identifier: FD98FDE
  "/products/{ProductCode}/pricingconfigurations/{PricingConfigurationCode}/sku/{SKUCode}/":
    get:
      tags:
      - Pricing configuration
      summary: "Retrieve SKU details"
      description: |-
        ***

        **Overview**
        Retrieve a product's SKU details.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: Product code
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: PricingConfigurationCode
        in: path
        description: Pricing configuration's code
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: SKUCode
        in: path
        description: SKU's code
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                response:
                  value:
                    PricingConfigurationCode: DFERIRS
                    ProductCode: FESOWUE
                    Currency: RON
                    PriceOptions:
                    - 548AF4D024
                    - 548AF4D025
                    PurchaseType: PRODUCT
                    FromQuantity: 5
                    ToQuantity: 15
  /shippingfees/:
    get:
      tags:
      - Shipping fees
      summary: List all shipping fees
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: List all shipping fees
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ShippingFeesResponse"
              example:
              - Name: "shipping fee name #1"
                Code: 4236A227D2
                Amount: "1.00"
                Currency: USD
                ApplyTo: PRODUCT
                Type: FIXED
              - Name: "shipping fee name #2"
                Code: 9366C227E7
                Amount: "0.00"
                Currency: EUR
                ApplyTo: ORDER
                Type: FIXED
        "400":
          description: Shipping feature not enabled.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                error_code: FEATURE_UNAVAILABLE
                message: You do not have shipping enabled on your account.
        "401":
          description: Authentication failure
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                error_code: AUTHENTICATION_ERROR
                message: This resource needs authentication
  "/shippingfees/{ShippingFeeCode}/":
    get:
      tags:
      - Shipping fees
      summary: Get shipping fee
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ShippingFeeCode
        in: path
        description: Unique code which represents a shipping fee
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 9366C227E7
      responses:
        "200":
          description: Get shipping fee
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ShippingFeeResponse"
              example:
              - Name: "shipping fee name #2"
                Code: 9366C227E7
                Amount: "0.00"
                Currency: EUR
                ApplyTo: ORDER
                Type: FIXED
        "400":
          description: Shipping fee code not found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                error_code: INVALID_INPUT
                message: "Shipping Fee [9366C227EE7] not found."
        "401":
          description: Authentication failure
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                error_code: AUTHENTICATION_ERROR
                message: This resource needs authentication
  /shippingmethods:
    get:
      tags:
      - Shipping fees
      summary: Search shipping methods
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Name
        in: query
        description: Shipping method name
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: ShippingMethodName
      - name: Codes
        in: query
        description: Shipping methods codes
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - 8902DDC4C3
          - 3D4DD3B4A3
          items:
            type: string
      - name: Countries
        in: query
        description: Shipping methods countries
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - US
          - UK
          - AU
          items:
            type: string
      - name: Active
        in: query
        description: Shipping method status
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: true
      - name: Page
        in: query
        description: Page number
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 3
      - name: Limit
        in: query
        description: Number of results on a page
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 25
      responses:
        "200":
          description: Shipping methods object
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchShippingMethods"
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: SHIPPING_METHOD_NAME_PARAMETER_INVALID
                message: "Invalid parameters: ‘name’"
              - error_code: SHIPPING_METHOD_CODES_PARAMETER_INVALID
                message: "Invalid parameters: ‘codes’"
              - error_code: SHIPPING_METHOD_CODE_INVALID
                message: Invalid shipping code
              - error_code: SHIPPING_METHOD_COUNTRIES_PARAMETER_INVALID
                message: "Invalid parameters: ‘countries’"
              - error_code: SHIPPING_METHOD_COUNTRY_CODE_INVALID
                message: Invalid country code
              - error_code: SHIPPING_METHOD_ACTIVE_PARAMETER_INVALID
                message: "Invalid parameters: ‘active’"
              - error_code: SHIPPING_METHOD_PAGINATION_LIMIT_PARAMETER_INVALID
                message: Invalid limit parameter
              - error_code: SHIPPING_METHOD_PAGINATION_PAGE_PARAMETER_INVALID
                message: Invalid page parameter
              - error_code: SHIPPING_METHOD_PAGINATION_OBJECT_INVALID
                message: Invalid pagination object
  #Subscriptions
  /subscriptions/:
    get:
      tags:
      - Subscription
      summary: Search subscriptions
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: CustomerEmail
        in: query
        description: Customer's email
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: customer@2checkout.com
      - name: DeliveredCode
        in: query
        description: Customer's delivered code
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: FJD89SR
      - name: AvangateCustomerReference
        in: query
        description: Customer's reference
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: FDOIEJF
      - name: ExternalCustomerReference
        in: query
        description: Customer's external reference
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 4584358
      - name: Aggregate
        in: query
        description: "Aggregated data, the only valid value is 'true'"
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: true
      - name: SubscriptionEnabled
        in: query
        description: Checks status
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: false
      - name: RecurringEnabled
        in: query
        description: Filter by recurring status
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: true
      - name: ProductCodes
        in: query
        description: Array of product codes
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - FJGHRE
          - GFDFOI
          items:
            type: string
      - name: CountryCodes
        in: query
        description: Array of countries codes
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - UK
          - BG
          - RO
          - FR
          items:
            type: string
      - name: PurchasedAfter
        in: query
        description: Purchase date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: PurchasedBefore
        in: query
        description: Purchase date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: ExpireAfter
        in: query
        description: Expire date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: ExpireBefore
        in: query
        description: Expire date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: RenewedAfter
        in: query
        description: Renew date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: RenewedBefore
        in: query
        description: Renew date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: NotificationAfter
        in: query
        description: Notification date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: NotificationBefore
        in: query
        description: Notification date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: ModifiedAfter
        in: query
        description: Change date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: ModifiedBefore
        in: query
        description: Change date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: NextBillingDateAfter
        in: query
        description: Start date of Next billing date filter
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: NextBillingDateBefore
        in: query
        description: End date of Next billing date filter
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-03T16:28:32+04:00"
      - name: LifetimeSubscription
        in: query
        description: Filter by lifetime subscriptions
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: false
      - name: Type
        in: query
        description: Subscription types
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: REGULAR
      - name: Page
        in: query
        description: Requested page
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 2
      - name: Limit
        in: query
        description: Limit number
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 20
      responses:
        "200":
          description: List subscriptions
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_8"
              examples:
                Example 1:
                  value:
                    Items:
                    - MerchantCode: merchant_code
                      SubscriptionReference: 28C2248CE1
                      StartDate: "2019-10-09T16:05:20+03:00"
                      ExpirationDate: "2019-11-09T16:05:20+02:00"
                      RecurringEnabled: true
                      SubscriptionEnabled: true
                      ReasonText: "Imported"
                      Product:
                        ProductCode: 224258F2
                        ProductId: "9697491"
                        ProductName: Product name
                        ProductVersion: ""
                        ProductQuantity: "1"
                        PriceOptionCodes: []
                        Dynamic: false
                        Physical: false
                      EndUser:
                        FirstName: John
                        LastName: Doe
                        Email: test@test.com
                        Company: ""
                        FiscalCode: ""
                        Phone: ""
                        Fax: ""
                        Address1: address 1
                        Address2: address 2
                        Zip: "0000"
                        City: Bucharest
                        State: Bucuresti - Sector 6
                        CountryCode: ro
                        Language: en
                      SKU: ""
                      ReceiveNotifications: false
                      Lifetime: false
                      IdAffiliate: "0"
                      TestSubscription: false
                      IsTrial: false
                      Status: EXPIRED
                      LatestSubscriptionOrder:
                        RefNo: "11723445"
                        Status: AUTHRECEIVED
                        FailedRecurringChargesCount: 0
                    - MerchantCode: merchant_code
                      SubscriptionReference: 28C2248CE1
                      StartDate: "2019-10-09T16:05:20+03:00"
                      ExpirationDate: "2019-11-09T16:05:20+02:00"
                      RecurringEnabled: true
                      SubscriptionEnabled: true
                      Product:
                        ProductCode: 224258F2
                        ProductId: "9697491"
                        ProductName: Product name
                        ProductVersion: ""
                        ProductQuantity: "1"
                        PriceOptionCodes: []
                        Dynamic: false
                        Physical: false
                      EndUser:
                        FirstName: John
                        LastName: Doe
                        Email: test@test.com
                        Company: ""
                        FiscalCode: ""
                        Phone: ""
                        Fax: ""
                        Address1: address 1
                        Address2: address 2
                        Zip: "0000"
                        City: Bucharest
                        State: Bucuresti - Sector 6
                        CountryCode: ro
                        Language: en
                      SKU: ""
                      ReceiveNotifications: false
                      Lifetime: false
                      IdAffiliate: "0"
                      TestSubscription: false
                      IsTrial: false
                      Status: EXPIRED
                      LatestSubscriptionOrder:
                        RefNo: "11723445"
                        Status: AUTHRECEIVED
                        FailedRecurringChargesCount: 0
                    Pagination:
                      Page: 1
                      Limit: 10
                      Count: 2
                Example 2:
                  value:
                    Items:
                    - SubscriptionReference: 3501E8CADA
                      StartDate: "2018-09-03 16:28:32"
                      ExpirationDate: "2018-09-03 17:28:32"
                      RecurringEnabled: true
                      NextBillingDate: "2020-11-09T12:19:31+02:00"
                      SubscriptionEnabled: true
                      Product:
                        ProductCode: 71B3784B53
                        ProductId: 7623654
                        ProductName: Product 9
                        ProductVersion: 1
                        ProductQuantity: 5
                        PriceOptionCodes:
                        - []
                        Dynamic: false
                        Physical: true
                      EndUser:
                        FirstName: John
                        LastName: Doe
                        Email: dynamicproduct@products.com
                        Company: ""
                        FiscalCode: A54FR
                        Phone: ""
                        Fax: ""
                        Address1: Address example
                        Address2: ""
                        Zip: "90210"
                        City: LA
                        State: California
                        CountryCode: us
                        Language: en
                      SKU: ""
                      DeliveryInfo:
                        Description: Company office
                        Codes:
                        - Code: FDS89UY
                          File: ""
                          Description: ""
                          ExtraInfo: Sample info
                      ReceiveNotifications: true
                      Lifetime: false
                      PartnerCode: ADE86
                      IdAffiliate: 0
                      CustomerReference: "918495269"
                      ExternalCustomerReference: 123980DUSI46
                      IsTrial: false
                      Status: EXPIRED
                      LatestSubscriptionOrder:
                        RefNo: 11791662
                        Status: COMPLETE
                        FailedRecurringChargesCount: 0
                    Pagination:
                      Page: 1
                      Limit: 10
                      Count: 12
    post:
      tags:
      - Subscription
      summary: "Import test subscriptions with card information"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_16"
      responses:
        "201":
          description: |-
            ***

            **Overview**

            Import test subscription and data from your or a third-party system with payment information assigned, and test advanced renewal and upgrade scenarios in the 2Checkout platform. Contact 2Checkout directly for additional details.

            ***

            **Requirements**

            Test subscriptions can be imported only for **eStore** orders. Only **dummy credit card data** can be assigned to subscriptions.
            <a href="https://verifone.cloud/docs/2checkout/Documentation/09Test_ordering_system/01Test_payment_methods">Check here</a> the list of credit cards that can be used for import.

            **Cardholder** name is composed as FirstName + " " + LastName.
          content:
            application/json:
              schema:
                type: string
                example: '"68E6387652"'
  "/subscriptions/{SubscriptionReference}/":
    get:
      tags:
      - Subscription
      summary: Retrieve a subscription
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: Unique code which represents a subscription
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: D183B94D0E
      responses:
        "200":
          description: Get subscription
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SubscriptionResponse"
              examples:
                Retrieve a subscription response example:
                  value:
                    SubscriptionReference: 3501E8CADA
                    StartDate: "2018-09-03 16:28:32"
                    ActivationDate: "2018-09-03 16:28:32"
                    ExpirationDate: "2018-09-03 17:28:32"
                    RecurringEnabled: true
                    NextBillingDate: "2020-11-09T12:19:31+02:00"
                    SubscriptionEnabled: true
                    ReasonText: "Imported"
                    Product:
                      ProductCode: 71B3784B53
                      ProductId: 7623654
                      ProductName: Product 9
                      ProductVersion: 1
                      ProductQuantity: 5
                      PriceOptionCodes:
                      - []
                      Dynamic: false
                      Physical: true
                    EndUser:
                      FirstName: John
                      LastName: Doe
                      Email: dynamicproduct@products.com
                      Company: ""
                      FiscalCode: A54FR
                      Phone: ""
                      Fax: ""
                      Address1: Address example
                      Address2: ""
                      Zip: "90210"
                      City: LA
                      State: California
                      CountryCode: us
                      Language: en
                    SKU: ""
                    DeliveryInfo:
                      Description: Company office
                      Codes:
                      - Code: FDS89UY
                        File: ""
                        Description: ""
                        ExtraInfo: Sample info
                    ReceiveNotifications: true
                    Lifetime: false
                    PartnerCode: ADE86
                    IdAffiliate: 0
                    CustomerReference: "918495269"
                    ExternalCustomerReference: 123980DUSI46
                    IsTrial: false
                    Status: EXPIRED
                    LatestSubscriptionOrder:
                      RefNo: 11791662
                      Status: COMPLETE
                      FailedRecurringChargesCount: 0
                    IsAssistedSale: false
                    Billing:
                      Quantity: 1
                      Currency: "USD"
                      UnitBillingPriceNet: 2242.25
                      UnitBillingPriceGross: 2399
                      BillingPriceNet: 2242.25
                      BillingPriceGross: 2399
                      NoOfBillingCycles: -1
                      CurrentBillingCycle: 1
                      PayedBillingCycles: 0
                      RemainingBillingCycles: 0
                      CurrentBillingCycleEndDate: "2024-03-20T13:53:59+02:00"
                      TaxAmount: 156.94
                      TaxPercent: 7
                      BillingCyclesFrequency: 1
                      BillingCycleFrequencyUnit: "MONTHS"
                      ContractLength: 12
                      ContractLengthUnit: "MONTHS"
                      PriceOption:
                      - Code: "LIST_USERS_YEARS"
                        Options:
                        - Value: "h-3u-1y"
                      ActivationKey: "7686-8768"

    put:
      tags:
      - Subscription
      summary: Update a subscription
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: AF168DD240
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_17"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: string
              example: "true"
    post:
      tags:
      - Subscription
      summary: Enable a subscription
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: D183B94D0E
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: string
              example: "true"
    delete:
      tags:
      - Subscription
      summary: Disable a subscription
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: D183B94D0E
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: string
              example: "true"
  "/subscriptions/{SubscriptionReference}/additionalinformation/":
    get:
      tags:
      - Subscription
      summary: Retrieve information attached to a subscription
      description: Retrieve additional information of specified subscription
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 5A235DDE94
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Name: TestName1
                    Value: TestValue1
                  - Name: TestName2
                    Value: TestValue2
                  - Name: TestName3
                    Value: TestValue3
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_DATA
                message: Invalid subscription reference.
    post:
      tags:
      - Subscription
      summary: Attach additional information to a subscription
      description: Attach additional information to an existing subscription by key/value pair
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 5A235DDE94
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_18"
            example:
              Name: TestName1
              Value: TestValue1
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Name: TestName1
                    Value: TestValue1
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: ADDITIONAL_INFORMATION_FIELD_EXISTS
                message: Additional information field already exists.
  "/subscriptions/{SubscriptionReference}/additionalinformation/{Name}/":
    get:
      tags:
      - Subscription
      summary: Retrieve information attached to a subscription by key
      description: Get additional information for a subscription by field key
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 5A235DDE94
      - name: Name
        in: path
        description: Unique name you assign as the identifier of an additional information field.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: TestField1
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Name: TestName1
                    Value: TestValue1
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: ADDITIONAL_INFORMATION_FIELD_DOES_NOT_EXIST
                message: Field name does not exist.
    put:
      tags:
      - Subscription
      summary: Update additional information attached to a subscription by key
      description: Update additional information of a subscription by field/key
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 5A235DDE94
      - name: Name
        in: path
        description: Unique name you assign as the identifier of an additional information field.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: TestField1
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_19"
            example:
              Name: TestName1
              Value: UpdatedTestValue
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Name: TestName1
                    Value: UpdatedTestValue
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: ADDITIONAL_INFORMATION_UNEXPECTED_VALUE
                message: Field value is not properly set.
    delete:
      tags:
      - Subscription
      summary: Delete additional information of a subscription
      description: Remove additional information attached to a subscription by name/key
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 5A235DDE94
      - name: Name
        in: path
        description: Unique name you assign as the identifier of an additional information field.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: TestField1
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_DATA
                message: Field name not set.
  "/subscriptions/{SubscriptionReference}/customer/":
    get:
      tags:
      - Subscription
      summary: Retrieve a subscription’s customer
      description: Extract information on the customer associated with a specific subscription.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 5A235DDE94
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Address1: Address details
                    Address2: "55"
                    CustomerReference: "423577932"
                    City: London
                    Company: ""
                    CountryCode: gb
                    Email: john.doe@example.com
                    Enabled: false
                    ExistingCards: []
                    ExternalCustomerReference: TestCustomerID1234
                    Fax: ""
                    FirstName: John
                    FiscalCode: ""
                    Language: ""
                    LastName: Doe
                    Phone: ""
                    State: London
                    Trial: false
                    Zip: WC1A1AH
    post:
      tags:
      - Subscription
      summary: Assign a subscription to another customer
      description: Move a subscription from under a customer to another customer entity.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: AF168DD240
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_20"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: string
                example: "true"
  "/subscriptions/{SubscriptionReference}/enduser/":
    get:
      tags:
      - Subscription
      summary: Retrieve a subscription's end user
      description: |-
        ***

        **Overview**

        Extract information about the end user of a specific subscription.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EndUser"
              examples:
                response:
                  value:
                    FirstName: 2Checkout
                    LastName: Customer
                    Email: iwanttestnow1981@yahoo.com
                    Company: Test company
                    FiscalCode: MRTMTT25D09F205Z
                    Phone: 123123123
                    Fax: 125342424
                    Address1: Test Address
                    Address2: No 12
                    Zip: 12345
                    City: Test city
                    CountryCode: gb
                    State: Test state
                    Language: en
    put:
      tags:
      - Subscription
      summary: Update end user info
      description: Update the end user details for a specific subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EndUser"
            example:
              FirstName: 2Checkout
              LastName: Customer
              Email: iwanttestnow1981@yahoo.com
              Company: Test company
              FiscalCode: MRTMTT25D09F205Z
              Phone: 123123123
              Fax: 125342424
              Address1: Test Address
              Address2: No 12
              Zip: 12345
              City: Test city
              CountryCode: gb
              State: Test state
              Language: en
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: string
                example: "true"
  "/subscriptions/{SubscriptionReference}/history/":
    get:
      tags:
      - Subscription history
      summary: Retrieve the history of a subscription
      description: |-
        ***

        **Overview**

        Retrieve information on the evolution of a subscription in the 2Checkout system, including details of the initial acquisition and the subsequent renewals and upgrades.

        Subscriptions can be retrieved starting with 5 minutes after their orders are generated in the 2Checkout system.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 48F5AC7011
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - DeliveryInfo:
                      Codes:
                      - Codes: ___TEST___CODE____
                    ExpirationDate: "2015-03-12"
                    Lifetime: false
                    PartnerCode: ""
                    ReferenceNo: "1234567"
                    SKU: NewSubscriptionPurchase
                    StartDate: "2015-02-12"
                    SubscriptionReference: 48F5AC7011
                    Type: SALE
                  - DeliveryInfo:
                      Codes:
                      - Code: ___TEST___CODE____
                    ExpirationDate: "2015-04-11"
                    Lifetime: false
                    PartnerCode: ""
                    ReferenceNo: "112233445"
                    SKU: SubscriptionRenewal
                    StartDate: "2015-02-12"
                    SubscriptionReference: 48F5AC7011
                    Type: RENEWAL
    put:
      tags:
      - Subscription history
      summary: Extend a subscription
      description: Extends an existing subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      - name: Days
        in: query
        description: The number of days of delay.
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: 7
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
  "/subscriptions/{SubscriptionReference}/history/{OrderReference}/":
    get:
      tags:
      - Subscription history
      summary: "Retrieve a subscription's purchase, renewal or upgrade details"
      description: Retrieve a snapshot of a subscription’s evolution corresponding to a specific purchase for which you provide the order reference number.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 48F5AC7011
      - name: OrderReference
        in: path
        description: Reference number for approved/paid orders.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "1234567"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    DeliveryInfo:
                      Codes:
                      - Code: ___TEST___CODE____
                    ExpirationDate: "2015-03-12"
                    Lifetime: false
                    PartnerCode: ""
                    ReferenceNo: "1234567"
                    SKU: NewSubscriptionPurchase
                    StartDate: "2015-02-12"
                    SubscriptionReference: 48F5AC7011
                    Type: SALE
  "/subscriptions/{SubscriptionReference}/payment/":
    get:
      tags:
      - Subscription
      summary: Retrieve the payment info for a subscription
      description: Retrieve the payment information associated with a subscription and that the 2Checkout system uses for the auto-renewal process (recurring billing).
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_9"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INVALID_SUBSCRIPTION
                message: Invalid subscription
    post:
      tags:
      - Subscription
      summary: Copy payment info
      description: Copy card-on-file data available in the 2Checkout system from a source subscription to an imported target subscription. 2Checkout uses the existing payment information to charge customers as a part of the recurring billing (renewal) process.
      parameters:
      - name: SubscriptionReference
        in: path
        description: "The 2Checkout Subscription Reference of the imported target subscription, to which 2Checkout copies the payment on file data associated with the source"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 9366C227E7
      - name: SubscriptionCode
        in: query
        description: The 2Checkout Subscription Reference of the source subscription whose attached payment on file data 2Checkout copies to the target subscription.
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: AD45C256Q1
      responses:
        "200":
          description: Boolean 'true' in case of successful copy
        "400":
          description: Copy payment failed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                error_code: INTERNAL_ERROR
                message: Could not copy the payment details from the reference subscription code.
    put:
      tags:
      - Subscription
      summary: Update the payment info for a subscription
      description: "Update the payment information associated with a subscription, the 2Checkout system uses for the auto-renewal process (recurring billing)."
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateLicensePaymentInformationPayload"
            example:
              PaymentDetails:
                Type: EES_TOKEN_PAYMENT
                PaymentMethod:
                  EesToken: fa922523-26d0-4cb4-983c-a4c5195baff7
      responses:
        "200":
          description: Return object
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_9_PaymentMethod"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              examples:
                InvalidLicense:
                  value:
                    error_code: INVALID_LICENSE_CODE
                    message: Invalid license code
                InvalidPaymentType:
                  value:
                    error_code: INVALID_PAYMENT_TYPE
                    message: Invalid PaymentDetails.Type
                MissingPaymentToken:
                  value:
                    error_code: MISSING_PAYMENT_TOKEN
                    message: PaymentDetails.PaymentMethod.EesToken not set
                InvalidPaymentToken:
                  value:
                    error_code: INVALID_EES_TOKEN
                    message: The token is not valid
                CreditCardError:
                  value:
                    error_code: CREDIT_CARD_ERROR
                    message: Card authorization has failed
                CreditCardPaymentError:
                  value:
                    error_code: CREDIT_CARD_PAYMENT_ERROR
                    message: Payment operation error occurred
                Vendor3DSReturnUrlError:
                  value:
                    error_code: PAYMENT_METHOD_CC_VENDOR_3DS_RETURN_URL_EMPTY
                    message: The PaymentDetails.PaymentMethod.Vendor3DSReturnURL can not be empty.
                Vendor3DSReturnUrlInvalidError:
                  value:
                    error_code: PAYMENT_METHOD_CC_VENDOR_3DS_RETURN_URL_INVALID
                    message: The PaymentDetails.PaymentMethod.Vendor3DSReturnURL is not valid.
                Vendor3DSCancelURLError:
                  value:
                    error_code: PAYMENT_METHOD_CC_VENDOR_3DS_CANCEL_URL_EMPTY
                    message: The PaymentDetails.PaymentMethod.Vendor3DSCancelURL can not be empty.
                Vendor3DSCancelURLInvalidError:
                  value:
                    error_code: PAYMENT_METHOD_CC_VENDOR_3DS_CANCEL_URL_INVALID
                    message: The PaymentDetails.PaymentMethod.Vendor3DSCancelURL is not valid.
        "403":
          description: Operations forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              examples:
                OperationForbidden:
                  value:
                    error_code: OPERATION_FORBIDDEN
                    message: Your vendor account does not have the right to update license payment information
                TokenUsageForbidden:
                  value:
                    error_code: TOKEN_USAGE_FORBIDDEN
                    message: Your vendor account does not have the right to use payment token
  "/subscriptions/{SubscriptionReference}/renewal/":
    get:
      tags:
      - Subscription
      summary: Retrieve renewal links and recurring billing status
      description: Retrieve the manual renewal link and the recurring billing status for a subscription.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    ManualRenewalLink: "https://store.avancart.com/s.php?c=12d1b2e4aba2d3631403&v=60539333bb"
                    RecurringEnabled: true
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_LICENCE
                message: Invalid licence
    put:
      tags:
      - Subscription
      summary: Renew a subscription
      description: Renew a specific subscription controlling the price and number of days.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_21"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_CURRENCY
                message: The currency provided is not supported
    post:
      tags:
      - Subscription
      summary: Enable recurring billing for a subscription
      description: Enable recurring billing (the auto-renewal system) for a subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_LICENCE_OPERATION
                message: Licence is not auto-renewable because it is life time
    delete:
      tags:
      - Subscription
      summary: Disable recurring billing for a subscription
      description: Disable recurring billing (the auto-renewal system) for a subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_LICENCE_OPERATION
                message: Cannot disable already disabled license recurring
  "/subscriptions/{SubscriptionReference}/renewal/graceperiod/":
    put:
      tags:
      - Subscription
      summary: Set a custom grace period
      description: |-
        Set a custom grace period for an <strong>Active</strong> or <strong>Past Due</strong> subscription.

        Use **null** to set the grace period for a subscription to the default value you defined in the per-product or per-account settings.

        ***

        | Attributes            | Type/Description                                  |
        |-----------------------|---------------------------------------------------|
        | **SubscriptionReference** | **Required (string)**                                 |
        |                       | Unique, system-generated subscription identifier. |

        **Query parameters**

        <table><thead>
        <tr>
        <th>
        Attributes
        </th>
        <th>
        Type/Description
        </th>
        </tr>
        </thead>
        <tbody>
        <tr>
        <td>
        <strong>Days</strong>
        </td>
        <td>
        <strong>Required (string)</strong>
        </td>
        </tr>
        <tr>
        <td >
        &nbsp;
        </td>
        <td>
        The number of days of the grace period.
        Use null to set the grace period for a subscription to the default value you defined in the per-product or per-account settings.
        </td>
        </tr>
        </tbody>
        </table>

        ***
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 48F5AC7011
      - name: Days
        in: query
        description: The number of days of the grace period.
        required: true
        style: form
        explode: true
        schema:
          type: integer
        example: 7
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
  "/subscriptions/{SubscriptionReference}/renewal/notification/":
    post:
      tags:
      - Subscription
      summary: Enable renewal notification
      description: Subscribe shoppers to subscription renewal notifications.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
    delete:
      tags:
      - Subscription
      summary: Disable renewal notification
      description: Disable subscription renewal notifications for a specific subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      - name: ChurnReasons
        in: query
        description: Array of churn reason codes
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
          example:
          - CHURN_REASON_NOT_SATISFIED_PRODUCT
          - CHURN_REASON_ENABLED_BY_MISTAKE
          - CHURN_REASON_PREFER_MANUAL
          - CHURN_REASON_ALREADY_RENEWED
          - CHURN_REASON_DONT_NEED
          - CHURN_REASON_WANT_PAUSE
          - CHURN_REASON_COVID
          - CHURN_REASON_HIGH_PRICE
          - CHURN_REASON_NOT_SATISFIED_SUPPORT
          - CHURN_REASON_EXTRAORDINARY
          - CHURN_REASON_OTHER
      - name: ChurnReasonOther
        in: query
        description: Churn reason free text. Valid only if churn reason codes are CHURN_REASON_EXTRAORDINARY or CHURN_REASON_OTHER
        required: false
        explode: false
        schema:
          type: string
          example: "An example reason in freetext"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
  "/subscriptions/{SubscriptionReference}/renewal/merchantdealautorenewal/":
    post:
      tags:
      - Subscription
      summary: Set merchant deal autorenewal value to true
      description: A merchant can change the merchantdealautorenewal to true on a client existing subscription
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SetMerchantDealAutoRenewalResponse"
              examples:
                response:
                  value:
                    Merchantdealautorenewal: true
    delete:
      tags:
      - Subscription
      summary: Set merchant deal autorenewal value to false
      description: A merchant can change the merchantdealautorenewal to false on a client existing subscription
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SetMerchantDealAutoRenewalResponse"
              examples:
                response:
                  value:
                    Merchantdealautorenewal: false
  "/subscriptions/{SubscriptionReference}/renewal/clientdealautorenewal/":
    post:
      tags:
      - Subscription
      summary: Set client deal autorenewal value to true
      description: If  merchant deal autorenewal is false then will set client deal autorenewal value to true
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SetClientDealAutoRenewalResponse"
              examples:
                response:
                  value:
                    ClientDealAutoRenewal: true
    delete:
      tags:
      - Subscription
      summary: Set client deal autorenewal value to false
      description: If  merchant deal autorenewal is false then will set client deal autorenewal value to false
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SetClientDealAutoRenewalResponse"
              examples:
                response:
                  value:
                    ClientDealAutoRenewal: false
  "/subscriptions/{SubscriptionReference}/renewal/price/{Currency}/":
    get:
      tags:
      - Subscription
      summary: Retrieve a subscription's next renewal price
      description: Retrieve pricing details for the next charge necessary to renew a specific subscription.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 48F5AC7011
      - name: Currency
        in: path
        description: The currency ISO code used for the payment - ISO 4217.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: usd
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    FinalCurrency: EUR
                    FinalPrice: 1.2
                    NetCurrency: EUR
                    NetPrice: 1
                    ReasonText: "Imported"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_LICENCE
                message: Invalid licence
    put:
      tags:
      - Subscription
      summary: Set a custom subscription renewal price
      description: Set custom renewal prices for subscriptions and control the number of recurring billing cycles the price impact subscribers.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 48F5AC7011
      - name: Currency
        in: path
        description: The currency ISO code used for the payment - ISO 4217.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: usd
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_22"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRICE_ERROR
                message: The renewal cycles number must be a positive integer
  "/subscriptions/{SubscriptionReference}/renewal/trial/":
    put:
      tags:
      - Subscription
      summary: Convert a trial
      description: |-
        Convert a trial to a paid subscription. In the eventuality of a conversion failure, you can attempt the same trial subscription conversion only after you let 24 hours pass since the initial attempt. The 2Checkout system also attempts to automatically convert trials before they expire to full subscriptions, unless you made an attempt that failed less than 24 hours before the scheduled expiration deadline.
        In case the trial conversion fails due to a transaction issue, the 2Checkout system sends unfinished payment follow-up emails to customers, provided that you set up lead management for your account.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier belonging to a trial for which 2Checkout collected payment information (card)."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: C941E05AF3
      - name: Currency
        in: query
        description: The currency associated to the renewal price - ISO 4217 code.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: usd
      - name: Days
        in: query
        description: The number of days the 2Checkout system extends the lifetime of the subscription.
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 30
      - name: ExtendSubscription
        in: query
        description: true - Subscription start date is the moment of the conversion. false - Subscription start date is the trial/subscription expiration date.
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: false
      - name: Price
        in: query
        description: true - The price that 2Checkout charges the customer for the renewal. This is the Netprice. Ignored for trial conversions.
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 45.99
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
  "/subscriptions/{SubscriptionReference}/renewal/pause/":
    get:
      tags:
      - Subscription
      summary: Retrieve a subscription's pause information
      description: Retrieve a subscription's pause information
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    StartDate: "2020-09-09 13:36:44"
                    ResumeDate: "2020-10-20 08:08:08"
                    PauseReason: vacation
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INVALID_LICENCE
                message: The subscription does not have a scheduled pause
    post:
      tags:
      - Subscription
      summary: Pause subscription
      description: Pause a subscription
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      - name: ResumeDate
        in: query
        description: Resume date
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: "2020-02-30 18:00:00"
      - name: PauseReason
        in: query
        description: Pause reason
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: vacation leave
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_LICENCE
                message: Cannot pause expired subscriptions.
    delete:
      tags:
      - Subscription
      summary: Unpause subscription
      description: Unpause a subscription
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: "true"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_LICENCE
                message: The subscription does not have a scheduled pause
  "/subscriptions/{SubscriptionReference}/renewal/usage/":
    put:
      tags:
      - Subscription
      summary: Trigger immediate billing for a pay per usage subscription
      description: This method will schedule the subscription to auto-renew as soon as possible.
      parameters:
      - in: path
        schema:
          type: string
        name: SubscriptionReference
        description: Unique code which represents a subscription
        required: true
      responses:
        "200":
          description: No content
        "400":
          description: Immediate usage billing client error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INVALID_LICENCE
                message: Invalid license
              - error_code: INVALID_LICENCE
                message: Subscription is not PayPerUsage.
              - error_code: INVALID_LICENCE_OPERATION
                message: Subscription already scheduled for renewal.
              - error_code: INVALID_LICENCE_OPERATION
                message: Subscription grace period expired.
              - error_code: INVALID_LICENCE_OPERATION
                message: Subscription didn"t pass renewal validations.
        "500":
          description: Immediate usage billing server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INTERNAL_ERROR
                message: There was an error processing this request.
  "/subscriptions/{SubscriptionReference}/signon/{PageType}/":
    get:
      tags:
      - Single Sign On
      summary: Single Sign On by subscription reference
      description: Create Single Sign On links into 2Checkout myAccount based on subscription references.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 115D3F5ED1
      - name: PageType
        in: path
        description: "The specific myAccount page you want the user to be redirected to. Possible values: view_order, my_license, change_card, my_products, payment_methods, user_data, order_lookup, faq - default: index page"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: change_card
      - name: Email
        in: query
        description: End user email address belonging to the customers associated with the subscription.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 2Checkoutcustomer@email.com
      - name: LanguageCode
        in: query
        description: ISO language codes for the product - ISO 639-1.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: en
      - name: ValidityTime
        in: query
        description: "The time, in seconds, before the single sign-on URL expires. By default, the URL expires after 10 seconds."
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 25
      - name: ValidationIp
        in: query
        description: "The IP address of the shopper, necessary for security purposes. Can be an empty string or a valid IP, or null."
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 127.0.0.1
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: "https://api.2checkout.org/myaccount/?login=41715b15b69dec74db4ad9895e47e956"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              examples:
                Invalid subscription code:
                  value:
                    error_code: INVALID_SUBSCRIPTION_REFERENCE
                    message: Invalid subscription code
                Invalid email format:
                  value:
                    error_code: INVALID_EMAIL
                    message: Invalid email
  "/subscriptions/{SubscriptionReference}/upgrade/":
    get:
      tags:
      - Subscription
      summary: Retrieve upgrade options for a subscription
      description: Retrieve the upgrade options available for a specific subscription.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - ProductInfo:
                      ProductId: 1245432423
                      ProductCode: product_code_custom1
                      ProductName: One Size Fits All Local Security
                      ProductVersion: 2
                      ProductEnabled: 0
                      PriceType: NET
                      Currency: USD
                      DefaultCurrency: USD
                      Price: "99"
                      GiftOption: null
                      IdGroup: 0
                      GroupName: ""
                      ShortDescription: "\r

                        \t- \r

                        \t\tOnline is a channel.\r

                        \t- \r

                        \t\tOne-time sale.\r

                        \t- \r

                        \t\tInternational over time.\r

                        \t- \r

                        \t\tProduct separated from commerce.\r

                        \t- \r

                        \t\tAcquisition only.\r

                        \t- \r

                        \t\tSingle pricing model, static.\r\n"
                      ProductImage: blank-box-blue.jpg
                      Languages: []
                      ProductType: "NET"
                      PriceSchema: null
                    Quantity: "1"
                    PriceOptions:
                      Id: null
                      Name: Users
                      Description: ""
                      Required: true
                      Type: RADIO
                      Options:
                      - Id: null
                        Name: 1-100
                        Value: oneuser1
                        Default: true
                        Description: ""
                        MinValue: 1
                        MaxValue: 100
                      - Id: null
                        Name: 101-1000
                        Value: oneuser1
                        Default: true
                        Description: ""
                        MinValue: 101
                        MaxValue: 1000
                  - ProductInfo:
                      ProductId: 45432423
                      ProductCode: product_code_custom2
                      ProductName: One Size Fits All Local Security
                      ProductVersion: 2
                      ProductEnabled: 0
                      PriceType: NET
                      Currency: USD
                      DefaultCurrency: USD
                      Price: "99"
                      GiftOption: null
                      IdGroup: 0
                      GroupName: ""
                      ShortDescription: "\r

                        \t- \r

                        \t\tOnline is a channel.\r

                        \t- \r

                        \t\tOne-time sale.\r

                        \t- \r

                        \t\tInternational over time.\r

                        \t- \r

                        \t\tProduct separated from commerce.\r

                        \t- \r

                        \t\tAcquisition only.\r

                        \t- \r

                        \t\tSingle pricing model, static.\r\n"
                      ProductImage: blank-box-blue.jpg
                      Languages: []
                      ProductType: "NET"
                      PriceSchema: null
                    Quantity: "1"
                    PriceOptions:
                      Id: null
                      Name: Users
                      Description: ""
                      Required: true
                      Type: RADIO
                      Options:
                      - Id: null
                        Name: 1-100
                        Value: oneuser1
                        Default: true
                        Description: ""
                        MinValue: 1
                        MaxValue: 100
                      - Id: null
                        Name: 101-1000
                        Value: oneuser1
                        Default: true
                        Description: ""
                        MinValue: 101
                        MaxValue: 1000
    put:
      tags:
      - Subscription
      summary: Upgrade a subscription
      description: Upgrade a specific subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_23"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Upgrade validation error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                InvalidSubscriptionOperation:
                  value:
                    error_code: INVALID_SUBSCRIPTION_OPERATION
                    message: "Sorry, we are unable to upgrade the subscription at this time because a refund request is still processing. Please try again later."
  "/subscriptions/{SubscriptionReference}/upgrade/price/{ProductReference}/{CurrencyCode}/":
    get:
      tags:
      - Subscription
      summary: Retrieve product upgrade price for a subscription
      description: Retrieve the upgrade price available for a specific subscription. The response will contain the upgrade price for quantity = 1.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      - name: ProductReference
        in: path
        description: "Unique, system-generated product identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76G4FE769L
      - name: CurrencyCode
        in: path
        description: Currency code.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EUR
      - name: Options
        in: query
        description: Price options delimited by comma.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "abc,def"
      - name: Quantity
        in: query
        description: Quantity.
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 4
      - name: CalculateProratedPrice
        in: query
        description: Decides if the price should be prorated.
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: false
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Discount: 0.3
                    ProratedPrice: 3
                    ProratedGrossPrice: 3
                    DiscountedProratedPrice: 2.7
                    DiscountedProratedGrossPrice: 2.7
                    BillingPrice: 3
                    BillingGrossPrice: 3
                    DiscountedBillingPrice: 2.7
                    DiscountedBillingGrossPrice: 2.7
                    BillingCurrency: "EUR"
                    Quantity: "1"
                    DisplayDiscount: 0.3
                    DisplayPrice: 3
                    DisplayGrossPrice: 3
                    DiscountedDisplayPrice: 2.7
                    DiscountedDisplayGrossPrice: 2.7
                    DisplayCurrency: "EUR"
  "/subscriptions/{SubscriptionReference}/schedule-product-update":
    post:
      tags:
        - Subscription
      summary: Schedule product update
      description: Schedule a product update for a subscription. The update will be applied at the next renewal.
      parameters:
        - name: Accept
          in: header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: application/json
            default: application/json
            enum:
              - application/json
        - name: X-Avangate-Authentication
          in: header
          description: Authentication header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
        - name: SubscriptionReference
          in: path
          description: "Unique, system-generated subscription identifier."
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 13E4ED768D
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - ProductCode
                - PricingOptions
              properties:
                ProductCode:
                  type: string
                  description: The product code to update to
                  example: "AIJT2PY5IG"
                PricingOptions:
                  type: string
                  description: Semicolon-separated list of pricing options
                  example: "adb_checkbox_1;adb_radio_2"
                Quantity:
                  type: integer
                  description: Optional quantity for the product
                  example: 2
            example:
              ProductCode: "AIJT2PY5IG"
              PricingOptions: "adb_checkbox_1;adb_radio_2"
              Quantity: 2
      responses:
        "200":
          description: Product update scheduled successfully
          content:
            application/json:
              examples:
                response:
                  value: true
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              examples:
                invalid_subscription:
                  value:
                    error_code: INVALID_SUBSCRIPTION
                    message: License cannot be found
                invalid_product:
                  value:
                    error_code: INVALID_PRODUCT
                    message: Product cannot be found
                invalid_product_options:
                  value:
                    error_code: INVALID_PRODUCT_OPTIONS
                    message: Invalid product options
                active_scheduled_updates:
                  value:
                    error_code: ACTIVE_SCHEDULED_PRODUCT_UPDATES
                    message: Product updates already scheduled
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                error_code: INTERNAL_SERVER_ERROR
                message: Internal server error
  "/subscriptions/{SubscriptionReference}/remove-scheduled-product-update":
    delete:
      tags:
        - Subscription
      summary: Remove scheduled product update
      description: Remove a previously scheduled product update for a subscription.
      parameters:
        - name: Accept
          in: header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: application/json
            default: application/json
            enum:
              - application/json
        - name: X-Avangate-Authentication
          in: header
          description: Authentication header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
        - name: SubscriptionReference
          in: path
          description: "Unique, system-generated subscription identifier."
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 13E4ED768D
      responses:
        "200":
          description: Scheduled product update removed successfully
          content:
            application/json:
              examples:
                response:
                  value: true
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              examples:
                invalid_subscription:
                  value:
                    error_code: INVALID_SUBSCRIPTION
                    message: License cannot be found
                no_scheduled_updates:
                  value:
                    error_code: NO_SCHEDULED_PRODUCT_UPDATES
                    message: No scheduled product updates found
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                error_code: INTERNAL_SERVER_ERROR
                message: Internal server error                  
  "/subscriptions/{SubscriptionReference}/usages/":
    get:
      tags:
      - Subscription usage billing
      summary: Filter usages for a subscription
      parameters:
      - name: SubscriptionReference
        in: path
        description: Unique code which represents a subscription
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: IntervalStart
        in: query
        description: "The IntervalStart date in YYY-MM-DD HH:MM:SS format to filter by"
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: IntervalEnd
        in: query
        description: "The IntervalEnd date in YYY-MM-DD HH:MM:SS format to filter by"
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: Page
        in: query
        description: The page to be returned
        required: true
        style: form
        explode: true
        schema:
          type: integer
      - name: Limit
        in: query
        description: "The number of results per page. [MAX 100]"
        required: true
        style: form
        explode: true
        schema:
          type: integer
      - name: OptionCode
        in: query
        description: The additional price option code to filter by.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: RenewalOrderReference
        in: query
        description: The renewal order unique identifier.
        required: false
        style: form
        explode: true
        schema:
          type: integer
      responses:
        "200":
          description: The filtered usages
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FilteredUsagesResponse"
        "400":
          description: 'There has been a client error. The <b>"message"</b> can be on of the following:</br><ul><li>If the <b>Page</b> parameter is invalid:<b>"The Page parameter must be a positive integer higher than or equal to 1."</b>;</li><li>If the <b>Limit</b> parameter is invalid:<b>"The Limit parameter must be a positive integer lower than 100"</b>;</li><li>If <b>IntervalStart</b> or <b>IntervalEnd</b> parameters are not proided together:<b>"Both ''IntervalStart'' and ''IntervalEnd'' parameters must be provided"</b>;</li><li>if the <b>RenewalOrderReference</b> parameter is invalid:<b>"If provided, ''RenewalOrderReference'' must be a positive integer."</b>;</li><li>If <b>IntervalStart</b> does not respect the required date format:<b>"''IntervalStart'' must be provided in the following format:YYYY-MM-DD HH:MM:SS"</b>;</li><li>If <b>Intervalend</b> does not respect the required date format:<b>"''IntervalEnd'' must be provided in the following format:YYYY-MM-DD HH:MM:SS"</b>;</li><li>If the provided usage start date is earlier than the subscription start date or the provided usage end date is higher than the subscription expiration date<b>"Usage interval out of bounds"</b>.</li></ul>'
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageFilterClientErrorResponse"
        "404":
          description: Filter usages client error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageNotFoundErrorResponse"
        "500":
          description: Filter usage server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageFilterServerErrorResponse"
    post:
      tags:
      - Subscription usage billing
      summary: Save usages for a subscription
      parameters:
      - name: SubscriptionReference
        in: path
        description: Unique code which represents a subscription
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UsageSaveRequest"
        required: true
      responses:
        "200":
          description: The saved usages
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageSaveResponse"
        "400":
          description: 'There has been a client error. The <b>"message"</b> in the sample below can be on of the following:</br><ul><li>If mandatory parameters are missing:<b>"Usage was not added as one or more of the mandatory parameters are missing"</b>;</li><li>If parameters do not math the required format:<b>"Usage was not added as one or more of the parameters do not match the required format"</b>;</li><li>If the subscription does not belong to this account:<b>"Usage was not added as the license code provided is invalid"</b>;</li><li>If the provided option code does not belong to the subscription products:<b>"Usage was not added as the option code provided is invalid"</b>;</li><li>If the usage intervals for the provided usages overlap between themselves or existing usages:<b>"Usage was not added as the usage interval provided overlaps with an existing usage interval for the same LICENCECODE and OPTIONCODE combination"</b>;</li><li>If the provided usage start date is earlier than the subscription start date or the provided usage end date is higher than the subscription expiration date<b>"Usage interval out of bounds"</b>.</li></ul>'
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageSaveClientErrorResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageNotFoundErrorResponse"
        "500":
          description: There has been an unexpected server error.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageSaveServerErrorResponse"
    delete:
      tags:
      - Subscription usage billing
      summary: Deletes one or more usage entries based on the provided criteria
      parameters:
      - name: SubscriptionReference
        in: path
        description: Unique code which represents a subscription
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        "200":
          description: No content
        "400":
          description: 'There has been a client error. The <b>"message"</b> can be on of the following:</br><ul><li>If the <b>SubscriptionReference</b> parameter is missing or does not match required type:<b>"One or more parameters lack the required format:SubscriptionReference must be a string."</b>;</li><li>If mandatory parameters are missing:<b>"Please provide at least one of the following parameters:UsageReference, OptionCode, IntervalStart, IntervalEnd"</b>;</li><li>If one or more parameters lack the required format:<b>"One or more parameters lack the required format:"</b>;</li><li>Usage line already billed:<b>"Usage was not deleted as this usage was already billed."</b>;</li><li>Renewal in progress:<b>"There is a renewal in progress for the provided usage line."</b>;</li></ul>'
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageDeleteClientErrorResponse"
        "404":
          description: 'The <b>"message"</b> can be on of the following:</br><ul><li>When the subscription does not exist or does not belong to this account:<b>"Subscription not found."</b>;</li><li>The usage line does not exist:<b>"Usage line described does not exist"</b>;</li></ul>'
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageNotFoundErrorResponse"
        "500":
          description: Delete usages server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageDeleteServerErrorResponse"
  "/subscriptions/{SubscriptionReference}/usages/{UsageReference}":
    put:
      tags:
      - Subscription usage billing
      summary: Update a specific usage entry
      parameters:
      - name: SubscriptionReference
        in: path
        description: Unique code which represents a subscription
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: UsageReference
        in: path
        description: Unique integer which represents a subscription usage
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UsageUpdateRequest"
        required: true
      responses:
        "200":
          description: The updated usage
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Usage"
        "400":
          description: 'There has been a client error. The <b>"message"</b> can be on of the following:</br><ul><li>If the <b>SubscriptionReference</b> parameter is missing or does not match required type:<b>"One or more parameters lack the required format:SubscriptionReference must be a string."</b>;</li><li>If mandatory parameters are missing:<b>"Please provide at least one of the following parameters:UsageReference, OptionCode, IntervalStart, IntervalEnd"</b>;</li><li>If one or more parameters lack the required format:<b>"One or more parameters lack the required format:"</b>;</li><li>Usage line already billed:<b>"Usage was not updated as this usage was already billed."</b>;</li><li>Renewal in progress:<b>"There is a renewal in progress for the provided usage line."</b>;</li></ul>'
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageUpdateClientErrorResponse"
        "404":
          description: 'The <b>"message"</b> can be on of the following:</br><ul><li>When the subscription does not exist or does not belong to this account:<b>"Subscription not found."</b>;</li><li>The usage line does not exist:<b>"Usage line described does not exist"</b>;</li></ul>'
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageNotFoundErrorResponse"
        "500":
          description: Update usage server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsageUpdateServerErrorResponse"
  "/products/{ProductCode}/promotions/":
    get:
      tags:
      - Promotions
      summary: "Retrieve all promotions set for a product"
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Items:
                    - ChannelType: ECOMMERCE
                      Code: 62B7F22FC5
                      Coupon:
                        Code: FDIHREE
                        Type: SINGLE
                      Description: ""
                      Discount:
                        Type: PERCENT
                        Values:
                        - 10%
                        DefaultCurrency: USD
                      Enabled: true
                      InstantDiscount: false
                      Name: Early Adopter 10%
                      PriceThreshold: {}
                      Translations:
                      - Name: testpromotion
                        Language: EN
                      Type: REGULAR
                      Sources: []
                      PublishToAffiliatesNetwork: 0
                      ApplyRecurring: NONE
                      RecurringChargesNumber: 0
                    Pagination:
                      Page: 1
                      Limit: 10
                      Count: 1
  "/products/{ProductCode}/promotions/{PromotionCode}/":
    get:
      tags:
      - Promotions
      summary: "Retrieve a product's promotion"
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: ProductCode
        in: path
        description: "The editable code that you control at product-level, not the unique, system-generated product ID"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: my_subscription_1
      - name: PromotionCode
        in: path
        description: "Unique, system-generated identifier 2Checkout associates with promotion campaigns."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 62B7F22FC5
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    ChannelType: ECOMMERCE
                    Code: 62B7F22FC5
                    Coupon:
                      Code: FDIHREE
                      Type: SINGLE
                    Description: ""
                    Discount:
                      Type: PERCENT
                      Values:
                      - 10%
                      DefaultCurrency: USD
                    Enabled: true
                    InstantDiscount: false
                    Name: Early Adopter 10%
                    PriceThreshold: {}
                    Translations:
                    - Name: testpromotion
                      Language: EN
                    Type: REGULAR
                    Sources: []
                    PublishToAffiliatesNetwork: 0
                    ApplyRecurring: NONE
                    RecurringChargesNumber: 0
  /promotions/priceMatrix/:
    post:
      tags:
      - Product
      summary: "Retrieve price matrix for product"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GetProductPriceMatrixResponse"
            examples:
              RegularPromotion:
                summary: Retrieve price matrix for product
                value:
                - productCode: test
                  pricingConfigurationCode: 738C6A2049
                - productCode: 0YEATW7NJ9
                  pricingConfigurationCode: 738C6A2049
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetProductPriceMatrixResponse"
              examples:
                PriceMatrixResponse:
                  summary: Retrieve price matrix for product response
                  value:
                  - ProductCode: test
                    PricingConfigurationCode: 738C6A2049
                    OptionHash: 708e43960c4edc42f14cf388bcb24bde
                    Options:
                    - GroupName: Units
                      OptionText: 1 - maximum
                    Prices:
                    - Value: null
                      Currency: CAD
                    - Value: null
                      Currency: EUR
                    - Value: null
                      Currency: USD
  /taxcategories/:
    get:
      tags:
      - Tax categories
      summary: Retrieve merchant product tax categories
      description: Fetches all the available tax categories
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product_getTaxCategoriesResponse'
              examples:
                response:
                  value:
                  - ProductTaxCategoryUUID: 774769ad-d454-4dab-8d71-7ab5c7b81bea
                    Name: Credit Reports
                  - ProductTaxCategoryUUID: 691d69c4-8de5-4671-a942-b8b675c61c2b
                    Name: Electronically Delivered Software
  /promotions/:
    get:
      tags:
      - Promotions
      summary: "Retrieve all active promotions"
      parameters:
      - name: Types
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - REGULAR
          - GLOBAL
          - RENEWAL
          - SPECIAL_PRICE
          - CUMULATIVE
        example: REGULAR
      - name: Channel
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - ALL
          - CHANNEL_MANAGER
          - ECOMMERCE
        example: CHANNEL_MANAGER
      - name: Enabled
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: true
      - name: Coupons
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "81XS55D1,E14S5F17"
      - name: ProductCode
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 8DD3031DA7
      - name: Page
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 1
      - name: Limit
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 10
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetPromotionsResponse"
              example:
                Items:
                - Code: 62B7F22FC5
                  Name: Early Adopter 10%
                  Description: ""
                  StartDate: "2019-09-11"
                  EndDate: "2019-10-10"
                  MaximumOrdersNumber: -1
                  MaximumQuantity: -1
                  InstantDiscount: false
                  Coupon:
                    Type: SINGLE
                    Code: EarlyAdopter123456
                  Enabled: true
                  ChannelType: ECOMMERCE
                  Type: REGULAR
                  Discount:
                    Type: PERCENT
                    Value: 10
                    DefaultCurrency: EUR
                  Products:
                  - Code: BKG20193
                  PriceThreshold: {}
                  Translations:
                  - Name: Early Adopter 10%
                    Language: EN
                  PublishToAffiliatesNetwork: 0
                  ApplyRecurring: NONE
                  RecurringChargesNumber: 0
                Pagination:
                  Page: 1
                  Limit: 10
                  Count: 1
    post:
      tags:
      - Promotions
      summary: "Add a new promotion"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: "#/components/schemas/RegularPromotion"
              - $ref: "#/components/schemas/GlobalPromotion"
              - $ref: "#/components/schemas/SpecialPricePromotion"
              - $ref: "#/components/schemas/CumulativePromotion"
            examples:
              RegularPromotion:
                summary: Add a Regular promotion with percent discount
                value:
                  Type: REGULAR
                  ApplyRecurring: NONE
                  ChannelType: ECOMMERCE
                  Coupon:
                    Codes:
                    - code1
                    - code2
                    Type: MULTIPLE
                  Description: Promo description1
                  Discount:
                    Type: PERCENT
                    Value: 41
                  Enabled: true
                  EndDate: "2019-12-31"
                  InstantDiscount: 0
                  MaximumOrdersNumber: 0
                  MaximumQuantity: 0
                  Name: Promo percentage REST
                  Products:
                  - Code: my_subscription_1
                  PublishToAffiliatesNetwork: 0
                  StartDate: "2019-11-30"
              GlobalPromotion:
                summary: Add a Global promotion with fixed discount and custom price threshold
                value:
                  Type: GLOBAL
                  Discount:
                    Type: FIXED
                    Values:
                    - Amount: 3
                      Currency: EUR
                    - Amount: 4
                      Currency: USD
                    DefaultCurrency: EUR
                  PriceThreshold:
                    Values:
                    - Amount: 10
                      Currency: EUR
                    - Amount: 11
                      Currency: USD
                    DefaultCurrency: EUR
                  ApplyRecurring: NONE
                  ChannelType: ECOMMERCE
                  Coupon:
                    Codes:
                    - code1
                    - code2
                    Type: MULTIPLE
                  Description: Promo description1
                  Enabled: true
                  EndDate: "2019-12-31"
                  InstantDiscount: 0
                  MaximumOrdersNumber: 0
                  MaximumQuantity: 0
                  Name: Promo percentage REST
                  PublishToAffiliatesNetwork: 0
                  StartDate: "2019-11-30"
              SpecialPricePromotion:
                summary: Add a special price promotion
                value:
                  Type: SPECIAL_PRICE
                  ApplyRecurring: NONE
                  DefaultCurrency: EUR
                  Coupon:
                    Codes:
                    - code1
                    - code2
                    Type: MULTIPLE
                  Description: Promo special price description
                  Enabled: true
                  StartDate: "2019-11-30"
                  EndDate: "2019-12-31"
                  InstantDiscount: 0
                  MaximumOrdersNumber: 0
                  MaximumQuantity: 0
                  Name: Promo special price
                  Products:
                  - Code: my_subscription_1
                  PriceMatrix:
                  - ProductCode: test
                    PricingConfigurationCode: 738C6A2049
                    OptionHash: 708e43960c4edc42f14cf388bcb24bde
                    Options:
                    - GroupName: "Units,"
                      OptionText: 1 - maximum
                    Prices:
                    - Value: null
                      Currency: CAD
                    - Value: 20
                      Currency: EUR
                    - Value: 30
                      Currency: USD
              CumulativePromotion:
                summary: Add a cumulative promotion
                value:
                  Type: CUMULATIVE
                  Code: 36232FD883
                  Name: Cumulative
                  Description: Cumulative description
                  StartDate: "2019-11-30"
                  EndDate: "2019-12-31"
                  MaximumOrdersNumber: -1
                  MaximumQuantity: -1
                  InstantDiscount: false
                  Cumulative: true
                  ProductTaxCategoryUUID: d922950c-yyyy-zzzz-963d-342ad6b2295a
                  Coupon:
                    Type: MULTIPLE
                    Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                  Enabled: true
                  Translations:
                    Name: "Global Promotion with multiple coupons,"
                    Language: EN
                  Sources:
                    - source1234_test4
                    - source5678_test8
                  ApplyRecurring: NON
                  RecurringChargesNumber: 0
                  Products:
                    - Code: test
                      PricingOptionCodes: null
                      PricingConfigurationCode: null
                  PriceMatrix:
                    - ProductCode: test
                      PricingConfigurationCode: "738C6A2049,"
                      OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                      Options:
                        - GroupName: "Units,"
                          OptionText: 1 - maximum
                      Prices:
                        - Value: 28.97399999999983
                          Currency: CAD
                        - Value: 20
                          Currency: EUR
                        - Value: 30
                          Currency: USD
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                - $ref: "#/components/schemas/PromotionResponse"
                - $ref: "#/components/schemas/GlobalPromotionResponse"
                - $ref: "#/components/schemas/SpecialPricePromotionResponse"
                - $ref: "#/components/schemas/CumulativePromotionResponse"
              examples:
                RegularPromotionResponse:
                  summary: Regular Promotion created response
                  value:
                    Type: REGULAR
                    Code: 36232FD883
                    Name: Regular Promotion with multiple coupons
                    Description: ""
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                    Enabled: true
                    ChannelType: ALL
                    Discount:
                      Type: PERCENT
                      Value: 41
                    Products:
                    - Code: "BKG20193,"
                      PricingOptionCodes: "null,"
                    PriceThreshold:
                      Amount: "null,"
                    Translations:
                      Name: "Regular Promotion with multiple coupons"
                      Language: EN
                    Sources:
                    - source1234_test4
                    - source5678_test8
                    PublishToAffiliatesNetwork: "0,"
                    ApplyRecurring: NONE
                    RecurringChargesNumber: 0
                GlobalPromotionResponse:
                  summary: Global Promotion with custom price threshold and fixed discount created response
                  value:
                    Type: GLOBAL
                    Discount:
                      Type: FIXED
                      Values:
                      - Amount: 3
                        Currency: EUR
                      - Amount: 4
                        Currency: USD
                      DefaultCurrency: EUR
                    PriceThreshold:
                      Values:
                      - Amount: 10
                        Currency: EUR
                      - Amount: 11
                        Currency: USD
                      DefaultCurrency: EUR
                    Code: 36232FD883
                    Name: Global Promotion with multiple coupons
                    Description: ""
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                    Enabled: true
                    ChannelType: ALL
                    Translations:
                      Name: "Global Promotion with multiple coupons"
                      Language: EN
                    Sources:
                    - source1234_test4
                    - source5678_test8
                    PublishToAffiliatesNetwork: "0,"
                    ApplyRecurring: NONE
                    RecurringChargesNumber: 0
                SpecialPricePromotionResponse:
                  summary: Special price promotion response
                  value:
                    Type: SPECIAL_PRICE
                    Code: 36232FD883
                    Name: Promo special price
                    Description: Promo special price description
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                    Enabled: true
                    Translations:
                      Name: Promo special price description
                      Language: EN
                    Sources:
                    - source1234_test4
                    - source5678_test8
                    ApplyRecurring: NON
                    RecurringChargesNumber: 0
                    Products:
                    - Code: test
                      PricingOptionCodes: null
                      PricingConfigurationCode: null
                    PriceMatrix:
                    - ProductCode: test
                      PricingConfigurationCode: 738C6A2049
                      OptionHash: 708e43960c4edc42f14cf388bcb24bde
                      Options:
                      - GroupName: "Units,"
                        OptionText: 1 - maximum
                      Prices:
                      - Value: 28.97399999999983
                        Currency: CAD
                      - Value: 20
                        Currency: EUR
                      - Value: 30
                        Currency: USD
                CumulativePromotionResponse:
                  summary: Cumulative promotion response
                  value:
                    Type: CUMULATIVE
                    Code: 36232FD883
                    Name: Cumulative
                    Description: Cumulative description
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Cumulative: true
                    ProductTaxCategoryUUID: d922950c-yyyy-zzzz-963d-342ad6b2295a
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                        - BB200PROM0491
                        - BB200PROM0580
                    Enabled: true
                    Translations:
                      Name: "Global Promotion with multiple coupons,"
                      Language: EN
                    Sources:
                      - source1234_test4
                      - source5678_test8
                    ApplyRecurring: NON
                    RecurringChargesNumber: 0
                    Products:
                      - Code: test
                        PricingOptionCodes: null
                        PricingConfigurationCode: null
                    PriceMatrix:
                      - ProductCode: test
                        PricingConfigurationCode: "738C6A2049,"
                        OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                        Options:
                          - GroupName: "Units,"
                            OptionText: 1 - maximum
                        Prices:
                          - Value: 28.97399999999983
                            Currency: CAD
                          - Value: 20
                            Currency: EUR
                          - Value: 30
                            Currency: USD
  "/promotions/{PromotionCode}/":
    get:
      tags:
      - Promotions
      summary: "Retrieve a promotion"
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: PromotionCode
        in: path
        description: "Unique, system-generated identifier 2Checkout associates with promotion campaigns."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 62B7F22FC5
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                - $ref: "#/components/schemas/PromotionResponse"
                - $ref: "#/components/schemas/GlobalPromotionResponse"
                - $ref: "#/components/schemas/SpecialPricePromotionResponse"
                - $ref: "#/components/schemas/CumulativePromotionResponse"
              examples:
                RegularPromotion:
                  summary: Regular Promotion created response
                  value:
                    Code: 62B7F22FC5
                    Name: Early Adopter 10%
                    Description: ""
                    StartDate: "2019-09-11"
                    EndDate: "2019-10-10"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: SINGLE
                      Code: EarlyAdopter123456
                    Enabled: true
                    ChannelType: ECOMMERCE
                    Type: REGULAR
                    Discount:
                      Type: PERCENT
                      Value: 10
                    Products:
                    - Code: BKG20193
                    PriceThreshold: {}
                    Translations:
                    - Name: Early Adopter 10%
                      Language: EN
                    PublishToAffiliatesNetwork: 0
                    ApplyRecurring: NONE
                    RecurringChargesNumber: 0
                    ProductTaxCategoryUUID: null
                    Cumulative: false
                GlobalPromotion:
                  summary: Global Promotion created response
                  value:
                    Type: GLOBAL
                    Discount:
                      Type: FIXED
                      Values:
                      - Amount: 3
                        Currency: EUR
                      - Amount: 4
                        Currency: USD
                      DefaultCurrency: EUR
                    PriceThreshold:
                      Values:
                      - Amount: 10
                        Currency: EUR
                      - Amount: 11
                        Currency: USD
                      DefaultCurrency: EUR
                    Code: 0I7BH0SH44
                    Name: Global Promotion with price thresholdand fixed discount
                    Description: ""
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                    Enabled: true
                    ChannelType: ALL
                    Translations:
                      Name: "Global Promotion with multiple coupons"
                      Language: EN
                    Sources:
                    - source1234_test4
                    - source5678_test8
                    PublishToAffiliatesNetwork: "0,"
                    ApplyRecurring: NONE
                    RecurringChargesNumber: 0
                SpecialPricePromotionResponse:
                  summary: Special price promotion response
                  value:
                    Type: SPECIAL_PRICE
                    Code: 36232FD883
                    Name: Promo special price
                    Description: Promo special price description
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                    Enabled: true
                    Translations:
                      Name: "Global Promotion with multiple coupons,"
                      Language: EN
                    Sources:
                    - source1234_test4
                    - source5678_test8
                    ApplyRecurring: NON
                    RecurringChargesNumber: 0
                    Products:
                    - Code: test
                      PricingOptionCodes: null
                      PricingConfigurationCode: null
                    PriceMatrix:
                    - ProductCode: test
                      PricingConfigurationCode: "738C6A2049,"
                      OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                      Options:
                      - GroupName: "Units,"
                        OptionText: 1 - maximum
                      Prices:
                      - Value: 28.97399999999983
                        Currency: CAD
                      - Value: 20
                        Currency: EUR
                      - Value: 30
                        Currency: USD
                CumulativePromotionResponse:
                  summary: Cumulative promotion response
                  value:
                    Type: CUMULATIVE
                    Code: 36232FD883
                    Name: Cumulative
                    Description: Cumulative description
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Cumulative: true
                    ProductTaxCategoryUUID: d922950c-yyyy-zzzz-963d-342ad6b2295a
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                        - BB200PROM0491
                        - BB200PROM0580
                    Enabled: true
                    Translations:
                      Name: "Global Promotion with multiple coupons,"
                      Language: EN
                    Sources:
                      - source1234_test4
                      - source5678_test8
                    ApplyRecurring: NON
                    RecurringChargesNumber: 0
                    Products:
                      - Code: test
                        PricingOptionCodes: null
                        PricingConfigurationCode: null
                    PriceMatrix:
                      - ProductCode: test
                        PricingConfigurationCode: "738C6A2049,"
                        OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                        Options:
                          - GroupName: "Units,"
                            OptionText: 1 - maximum
                        Prices:
                          - Value: 28.97399999999983
                            Currency: CAD
                          - Value: 20
                            Currency: EUR
                          - Value: 30
                            Currency: USD
    put:
      tags:
      - Promotions
      summary: "Update a promotion"
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: PromotionCode
        in: path
        description: "Unique, system-generated identifier 2Checkout associates with promotion campaigns."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 62B7F22FC5
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: "#/components/schemas/RegularPromotion"
              - $ref: "#/components/schemas/GlobalPromotion"
              - $ref: "#/components/schemas/SpecialPricePromotion"
              - $ref: "#/components/schemas/CumulativePromotion"
            examples:
              RegularPromotion:
                summary: Update a Regular promotion with percent discount
                value:
                  Type: REGULAR
                  ApplyRecurring: NONE
                  ChannelType: ECOMMERCE
                  Coupon:
                    Codes:
                    - code1
                    - code2
                    Type: MULTIPLE
                  Description: Promo description1
                  Discount:
                    Type: PERCENT
                    Value: 22
                  Enabled: true
                  EndDate: "2019-12-31"
                  InstantDiscount: 0
                  MaximumOrdersNumber: 0
                  MaximumQuantity: 0
                  Name: Promo percentage REST
                  Products:
                  - Code: my_subscription_1
                  PublishToAffiliatesNetwork: 0
                  StartDate: "2019-11-30"
              GlobalPromotion:
                summary: Update a Global promotion with fixed discount and custom price threshold
                value:
                  Type: GLOBAL
                  Discount:
                    Type: FIXED
                    Values:
                    - Amount: 7
                      Currency: EUR
                    - Amount: 10
                      Currency: USD
                    DefaultCurrency: EUR
                  PriceThreshold:
                    Values:
                    - Amount: 100
                      Currency: EUR
                    - Amount: 120
                      Currency: USD
                    DefaultCurrency: EUR
                  ApplyRecurring: NONE
                  ChannelType: ECOMMERCE
                  Coupon:
                    Codes:
                    - code1
                    - code2
                    Type: MULTIPLE
                  Description: Promo description1
                  Enabled: true
                  EndDate: "2019-12-31"
                  InstantDiscount: 0
                  MaximumOrdersNumber: 0
                  MaximumQuantity: 0
                  Name: Promo percentage REST
                  PublishToAffiliatesNetwork: 0
                  StartDate: "2019-11-30"
              SpecialPricePromotion:
                summary: Update a special price promotion
                value:
                  Type: SPECIAL_PRICE
                  ApplyRecurring: NONE
                  DefaultCurrency: EUR
                  Coupon:
                    Codes:
                    - code1
                    - code2
                    Type: MULTIPLE
                  Description: Promo special price description
                  Enabled: true
                  StartDate: "2019-11-30"
                  EndDate: "2019-12-31"
                  InstantDiscount: 0
                  MaximumOrdersNumber: 0
                  MaximumQuantity: 0
                  Name: Promo special price
                  Products:
                  - Code: my_subscription_1
                  PriceMatrix:
                  - ProductCode: test
                    PricingConfigurationCode: "738C6A2049,"
                    OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                    Options:
                    - GroupName: "Units,"
                      OptionText: 1 - maximum
                    Prices:
                    - Value: 50
                      Currency: CAD
                    - Value: 25
                      Currency: EUR
                    - Value: 30
                      Currency: USD
              CumulativePromotion:
                summary: Update a cumulative promotion
                value:
                  Type: CUMULATIVE
                  ApplyRecurring: NONE
                  DefaultCurrency: EUR
                  Coupon:
                    Codes:
                      - code1
                      - code2
                    Type: MULTIPLE
                  Description: Cumulative description
                  Enabled: true
                  Cumulative: true
                  ProductTaxCategoryUUID: d922950c-yyyy-zzzz-963d-342ad6b2295a
                  StartDate: "2019-11-30"
                  EndDate: "2019-12-31"
                  InstantDiscount: 0
                  MaximumOrdersNumber: 0
                  MaximumQuantity: 0
                  Name: Cumulative
                  Products:
                    - Code: my_subscription_1
                  PriceMatrix:
                    - ProductCode: test
                      PricingConfigurationCode: "738C6A2049,"
                      OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                      Options:
                        - GroupName: "Units,"
                          OptionText: 1 - maximum
                      Prices:
                        - Value: 50
                          Currency: CAD
                        - Value: 25
                          Currency: EUR
                        - Value: 30
                          Currency: USD
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                - $ref: "#/components/schemas/PromotionResponse"
                - $ref: "#/components/schemas/GlobalPromotionResponse"
                - $ref: "#/components/schemas/SpecialPricePromotionResponse"
                - $ref: "#/components/schemas/CumulativePromotionResponse"
              examples:
                RegularPromotion:
                  summary: Regular Promotion updated response
                  value:
                    Code: 62B7F22FC5
                    Name: Early Adopter 10%
                    Description: ""
                    StartDate: "2019-09-11"
                    EndDate: "2019-10-10"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: SINGLE
                      Code: EarlyAdopter123456
                    Enabled: true
                    ChannelType: ECOMMERCE
                    Type: REGULAR
                    Discount:
                      Type: PERCENT
                      Value: 10
                    Products:
                    - Code: BKG20193
                    PriceThreshold: {}
                    Translations:
                    - Name: Early Adopter 10%
                      Language: EN
                    PublishToAffiliatesNetwork: 0
                    ApplyRecurring: NONE
                    RecurringChargesNumber: 0
                GlobalPromotion:
                  summary: Global Promotion updated response
                  value:
                    Type: GLOBAL
                    Discount:
                      Type: FIXED
                      Values:
                      - Amount: 7
                        Currency: EUR
                      - Amount: 10
                        Currency: USD
                      DefaultCurrency: EUR
                    PriceThreshold:
                      Values:
                      - Amount: 100
                        Currency: EUR
                      - Amount: 120
                        Currency: USD
                      DefaultCurrency: EUR
                    Code: 0I7BH0SH44
                    Name: Global Promotion with price thresholdand fixed discount
                    Description: ""
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                    Enabled: true
                    ChannelType: ALL
                    Translations:
                      Name: "Global Promotion with multiple coupons,"
                      Language: EN
                    Sources:
                    - source1234_test4
                    - source5678_test8
                    PublishToAffiliatesNetwork: "0,"
                    ApplyRecurring: NONE
                    RecurringChargesNumber: 0
                SpecialPricePromotion:
                  summary: Special price promotion update response
                  value:
                    Type: SPECIAL_PRICE
                    Code: 36232FD883
                    Name: Promo special price
                    Description: Promo special price description
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                      - BB200PROM0491
                      - BB200PROM0580
                    Enabled: true
                    Translations:
                      Name: "Global Promotion with multiple coupons,"
                      Language: EN
                    Sources: null
                    ApplyRecurring: NON
                    RecurringChargesNumber: 0
                    Products:
                    - Code: test
                      PricingOptionCodes: null
                      PricingConfigurationCode: null
                    PriceMatrix:
                    - ProductCode: test
                      PricingConfigurationCode: "738C6A2049,"
                      OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                      Options:
                      - GroupName: "Units,"
                        OptionText: 1 - maximum
                      Prices:
                      - Value: 28.97399999999983
                        Currency: CAD
                      - Value: 20
                        Currency: EUR
                      - Value: 30
                        Currency: USD
                CumulativePromotion:
                  summary: Cumulative promotion update response
                  value:
                    Type: CUMULATIVE
                    Code: 36232FD883
                    Name: Cumulative
                    Description: Cumulative description
                    StartDate: "2019-11-30"
                    EndDate: "2019-12-31"
                    MaximumOrdersNumber: -1
                    MaximumQuantity: -1
                    InstantDiscount: false
                    Cumulative: true
                    ProductTaxCategoryUUID: d922950c-yyyy-zzzz-963d-342ad6b2295a
                    Coupon:
                      Type: MULTIPLE
                      Codes:
                        - BB200PROM0491
                        - BB200PROM0580
                    Enabled: true
                    Translations:
                      Name: "Global Promotion with multiple coupons,"
                      Language: EN
                    Sources:
                      - source1234_test4
                      - source5678_test8
                    ApplyRecurring: NON
                    RecurringChargesNumber: 0
                    Products:
                      - Code: test
                        PricingOptionCodes: null
                        PricingConfigurationCode: null
                    PriceMatrix:
                      - ProductCode: test
                        PricingConfigurationCode: "738C6A2049,"
                        OptionHash: "708e43960c4edc42f14cf388bcb24bde,"
                        Options:
                          - GroupName: "Units,"
                            OptionText: 1 - maximum
                        Prices:
                          - Value: 28.97399999999983
                            Currency: CAD
                          - Value: 20
                            Currency: EUR
                          - Value: 30
                            Currency: USD
  "/promotions/{PromotionCode}/coupons/":
    put:
      tags:
      - Promotions
      summary: "Update promotion coupon"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/PromotionCoupon"
            example:
              Code: CODEGI
              Type: SINGLE
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Code: CODEGI
                    Type: SINGLE
    post:
      tags:
      - Promotions
      summary: "Add promotion coupon"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_14"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Code: CODE
                    Type: SINGLE
    delete:
      tags:
      - Promotions
      summary: "Delete promotion coupons"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8A
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: true
  "/promotions/{PromotionCode}/products/":
    post:
      tags:
      - Promotions
      summary: "Add products to a promotion"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/PromotionProduct"
            example:
            - Code: YOUR_PRODUCT_CODE1
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/PromotionProduct"
              example:
              - Code: YOUR_PRODUCT_CODE1
              - Code: YOUR_PRODUCT_CODE2
                PricingConfigurationCode: YOUR_CONFIGURATION_CODE
              - Code: YOUR_PRODUCT_CODE3
                PricingConfigurationCode: YOUR_CONFIGURATION_CODE2
                PricingOptionCodes:
                - YOUR_PRICING_CODE1
                - YOUR_PRICING_CODE1
    delete:
      tags:
      - Promotions
      summary: "Remove products from a promotion"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      responses:
        "200":
          description: OK
  "/promotions/{PromotionCode}/sources/":
    post:
      tags:
      - Promotions
      summary: "Add promotion sources"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PromotionSources"
            example:
            - SOURCE_1
            - SOURCE_2
            - SOURCE_3
      responses:
        "200":
          description: OK
          content:
            application/json:
              example:
              - SOURCE_1
              - SOURCE_2
              - SOURCE_3
    delete:
      tags:
      - Promotions
      summary: "Delete promotion sources"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: true
  "/promotions/{PromotionCode}/translations/":
    put:
      tags:
      - Promotions
      summary: "Add promotion translations"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PromotionTranslations"
            example:
            - Language: DE
              Name: Promotion DE name
            - Language: ES
              Name: Promotion ES name
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PromotionTranslations"
              example:
              - Language: DE
                Name: Promotion DE name
              - Language: ES
                Name: Promotion ES name
    delete:
      tags:
      - Promotions
      summary: "Delete promotion translations"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: true
  "/{PromotionCode}/discounts/":
    put:
      tags:
      - Promotions
      summary: "Update the discounts for a promotion"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: PromotionCode
        in: path
        description: Unique system generated promotion code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: EF61BCB8AF
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: "#/components/schemas/PromotionDiscountFixed"
              - $ref: "#/components/schemas/PromotionDiscountPercent"
            example:
              FixedDiscount:
                summary: Update a promotion with fixed discount
                value:
                  Discount:
                    Type: FIXED
                    DefaultCurrency: USD
                    Values:
                    - Amount: 7
                      Currency: EUR
                    - Amount: 10
                      Currency: USD
              PercentDiscount:
                summary: Update a promotion with percent discount
                value:
                  Discount:
                    Type: PERCENT
                    Value: 30
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                - $ref: "#/components/schemas/PromotionDiscountFixed"
                - $ref: "#/components/schemas/PromotionDiscountPercent"
              example:
                FixedDiscount:
                  summary: Fixed discount updated response
                  value:
                    Discount:
                      Type: FIXED
                      DefaultCurrency: USD
                      Values:
                      - Amount: 7
                        Currency: EUR
                      - Amount: 10
                        Currency: USD
                PercentDiscount:
                  summary: Percent discount updated response
                  value:
                    Discount:
                      Type: PERCENT
                      Value: 30
  /crosssells:
    get:
      tags:
      - Cross Sell
      summary: Get Cross Sell campaigns by filter
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: CampaignName
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Christmas campaign
      - name: Status
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - ACTIVE
          - INACTIVE
          items:
            type: string
      - name: Type
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - MERCH
          - AFF
        example: MERCH
      - name: Products
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - 34924C876E
          - 34AF4C876S
          items:
            type: string
      - name: RecommendedProducts
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - 34924C876E
          - 34AF4C876S
          items:
            type: string
      - name: StartDate
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2020-09-03T16:28:32+04:00"
      - name: EndDate
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2020-12-03T16:28:32+04:00"
      - name: Page
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 1
      - name: Limit
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 10
      responses:
        "200":
          description: Returns Cross Sell campaign collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellCampaignSearchResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellSearchError"
              example:
              - error_code: INVALID_INPUT
                message: Invalid product code.
              - error_code: CROSS_SELL_CAMPAIGN_PAGINATION_ASSET_INVALID
                message: Invalid pagination asset
              - error_code: CROSS_SELL_CAMPAIGN_TYPE_PARAMETER_INVALID
                message: "Parameter value not allowed: ‘Type’"
              - error_code: CROSS_SELL_CAMPAIGN_ENABLED_PARAMETER_INVALID
                message: "Parameter value not allowed: ‘Enabled’"
    post:
      tags:
      - Cross Sell
      summary: Create a new Cross Sell campaign
      operationId: crossSellCreate
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CrossSellCreate"
      responses:
        "200":
          description: Create campaign response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellResponse"
        "400":
          description: Create campaign response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellResponseException"
    put:
      tags:
      - Cross Sell
      summary: Update a Cross Sell campaign
      operationId: crossSellUpdate
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CrossSellUpdate"
            example:
              CampaignCode: 2Xrl85eSkemBv3G3ea+9fg==
              MasterProducts:
              - PAV2019
              DisplayType: cart
              DisplayInEmail: true
              Name: REST documentation campaign
              StartDate: "2021-03-10"
              EndDate: "2021-04-10"
              CampaignStatus: ACTIVE
              Products:
              - ProductCode: PAV2020
                Discount: 5
                DiscountType: PERCENT
      responses:
        "200":
          description: Update campaign success response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellUpdateResponse"
              example:
                CampaignCode: 2Xrl83KEs6KB1XG3db+9dQ==
                MasterProducts:
                - PAV2019
                DisplayType: cart
                DisplayInEmail: true
                Products:
                - ProductCode: PAV2020
                  Discount: 5
                  DiscountType: PERCENT
                  AutoAdded: false
                  DiscountedPrice:
                  - Currency: EUR
                    Price: 20.19
                  - Currency: USD
                    Price: 19.86
                  Errors: []
                Name: REST documentation campaign
                CampaignStatus: ACTIVE
                StartDate: "2021-03-10"
                EndDate: 2021-10-210
                Errors: []
        "400":
          description: Update campaign error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellResponseException"
              example:
                error_code: INPUT_ERROR
                message: Invalid campaign status
  "/crosssells/{campaignCode}/campaign":
    get:
      tags:
      - Cross Sell
      summary: Get Cross Sell campaigns by code
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: campaignCode
        in: path
        required: true
        style: simple
        explode: true
        schema:
          type: string
        example: 2Xrl83KSnemB5XG3ea+9hQ==
      responses:
        "200":
          description: Returns Cross Sell campaign collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetCrossSellResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellError"
              example:
              - error_code: INVALID_CAMPAIGN_CODE
                message: Invalid campaign code
  /crosssells/settings/:
    post:
      tags:
      - Cross Sell
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      responses:
        "200":
          description: Returns cross sell
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellSetting"
        "500":
          description: Validation errors
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellError"
              example:
              - error_code: CROSS_SELL_SETTING_DISPLAY_PRODUCTS_MAX_NOT_BLANK_VALIDATOR
                message: This value should not be blank.
              - error_code: CROSS_SELL_SETTING_DISPLAY_PRODUCTS_MAX_TYPE_VALIDATOR
                message: This value should be of type numeric.
              - error_code: CROSS_SELL_SETTING_MAX_THUMB_SIZE_NOT_BLANK_VALIDATOR
                message: This value should not be blank.
              - error_code: CROSS_SELL_SETTING_MAX_THUMB_SIZE_TYPE_VALIDATOR
                message: This value should be of type numeric.
              - error_code: CROSS_SELL_SETTING_MAX_THUMB_SIZE_CHOICE_VALIDATOR
                message: "The value you selected is not a valid choice. Only [60, 80, 100, 150] are allowed"
              - error_code: CROSS_SELL_SETTING_DISPLAY_SHORT_DESCRIPTION_TYPE_VALIDATOR
                message: This value should be of type numeric.
  /crosssells/campaignTexts/:
    post:
      tags:
      - Cross Sell
      summary: Add cross-sell campaign texts
      operationId: addCrossSellTexts
      description: |-
        ***

        **Overview**
        Add cross-sell campaigns texts.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CrossSellTextsRequest"
            example:
            - Language: en
              Title: My campaign name
              Description: My campaign description
            - Language: ro
              Title: Numele campaniei mele
              Description: Descrierea campaniei mele
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellTextsResponse"
              examples:
                response:
                  value:
                  - Language: en
                    Title: My campaign name
                    Description: My campaign description
                    Errors: []
                  - Language: ro
                    Title: Numele campaniei mele
                    Description: Descrierea campaniei mele
                    Errors: []
    put:
      tags:
      - Cross Sell
      summary: Edit cross-sell campaign texts
      operationId: editCrossSellTexts
      description: |-
        ***

        **Overview**
        Edit cross-sell campaigns texts.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CrossSellTextsRequest"
            example:
            - Language: en
              Title: My campaign name
              Description: My campaign description
            - Language: ro
              Title: Numele campaniei mele
              Description: Descrierea campaniei mele
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CrossSellTextsResponse"
              examples:
                response:
                  value:
                  - Language: en
                    Title: My campaign name
                    Description: My campaign description
                    Errors:
                    - The campaign text already exists
                  - Language: ro
                    Title: Numele campaniei mele
                    Description: Descrierea campaniei mele
                    Errors: []
  /crossselltexts/:
    get:
      tags:
      - Cross Sell
      summary: "Retrieve cross-sell campaign texts"
      description: |-
        ***

        **Overview**
        Extract information on all cross-sell campaigns texts.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Description: "<p>

                      \tSave up to <em><strong>25%</strong></em> with this special offer!</p>"
                    Language: en
                    Title: "Exclusive, one-time deal!"
                  - Description: "<p>

                      \tSparen Sie bis zu <em><strong>25%</strong></em> mit diesem Angebot.</p>"
                    Language: de
                    Title: Exklusives Angebot!
  "/crossselltexts/{Language}/":
    get:
      tags:
      - Cross Sell
      summary: "Retrieve cross-sell campaign texts"
      description: |-
        ***

        **Overview**
        Extract information on all cross-sell campaigns texts.
      parameters:
      - name: Language
        in: path
        description: ISO 4217 code for the language of the cross-sell campaign text.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: en
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Description: "<p>

                      \tSave up to <em><strong>25%</strong></em> with this special offer!</p>"
                    Language: en
                    Title: "Exclusive, one-time deal!"
  /upsell:
    post:
      tags:
      - Upsell
      summary: Create Upsell campaign
      operationId: UpsellCreate
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpsellCreate"
      responses:
        "200":
          description: Create campaign response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellResponse"
        "400":
          description: Create campaign error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellResponseException"
    get:
      description: Search and filter upsell campaigns
      operationId: search-upsell
      summary: Search and filter upsell campaigns
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchUpsellResponse"
            application/xml:
              schema:
                type: object
                properties: {}
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              examples:
                example-1:
                  value:
                    error_code: string
                    message: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
      parameters:
      - schema:
          type: string
        in: header
        name: X-Avangate-Authentication
        required: true
      - schema:
          type: string
        in: query
        name: Name
        description: The title of the campaign
      - schema:
          type: array
          items:
            type: string
        in: query
        name: PrimaryProductCodes
        description: Array of primary product codes
      - schema:
          type: array
          items:
            type: string
        in: query
        name: RecommendedProductCodes
        description: Array of recommended product codes
      - schema:
          type: array
          items:
            type: string
            enum:
            - Enabled
            - Disabled
            - Expired
          default:
          - Enabled
        in: query
        name: Statuses
        description: Array of upsell statuses
      - schema:
          type: string
          example: "2019-11-05"
        in: query
        name: StartsBefore
        description: The UTC date in Y-m-d format
      - schema:
          type: string
          example: "2019-11-05"
        in: query
        name: StartsAfter
        description: The UTC date in Y-m-d format
      - schema:
          type: string
          example: "2022-11-10"
        in: query
        name: EndsBefore
        description: The UTC date in Y-m-d format
      - schema:
          type: string
          example: "2020-10-02"
        in: query
        name: EndsAfter
        description: The UTC date in Y-m-d format
      - schema:
          type: boolean
        in: query
        name: EnabledForRenewals
        description: Retrieve upsells that are or are not enabled for renewals
      - schema:
          type: array
          items:
            type: string
        in: query
        name: CampaignCodes
        description: Array of campaign UUIDs
      - schema:
          type: number
        in: query
        name: Page
        description: Page number
      - schema:
          type: number
        in: query
        name: Limit
        description: Number of campaigns per page
      tags:
      - Upsell
  /upsell/recommended:
    get:
      tags:
      - Upsell
      summary: Get the recommended campaign based on product settings
      operationId: get-upsell-recommended
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - schema:
          type: string
          example: PC202012
        in: query
        name: ProductCode
        required: true
        description: The primary product code
      - schema:
          type: integer
          example: 1
        in: query
        name: Quantity
        description: The quantity for the primary product
      - schema:
          type: string
        in: query
        name: PriceOptions
        description: The price options for the primary product
      - schema:
          type: boolean
        in: query
        name: EnabledForRenewals
        description: Returns only upsell campaigns that are (or not) enabled for renewals
      responses:
        "200":
          description: Found recommended campaign
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellResponse"
        "400":
          description: Get recommended campaign error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellResponseException"
        "404":
          description: Recommended campaign not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellResponseException"
      description: ""
  "/upsell/{upsellCode}":
    delete:
      tags:
      - Upsell
      summary: Delete an Upsell campaign
      operationId: UpsellDelete
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      - name: upsellCode
        in: path
        description: Unique Upsell campaign code.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce98
      responses:
        "204":
          description: OK
        "400":
          description: Delete campaign error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeleteUpsellResponseException"
      description: Delete Upsell campaign
    put:
      summary: Update Upsell campaign
      operationId: UpsellUpdate
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellResponse"
        "400":
          description: Bad Request
      description: Update Upsell campaign
      parameters:
      - schema:
          type: string
        in: header
        name: X-Avangate-Authentication
        required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpsellCreate"
      tags:
      - Upsell
    parameters:
    - schema:
        type: string
      name: upsellCode
      in: path
      required: true
  /upsell/settings/campaign/:
    get:
      tags:
      - Upsell
      summary: Get Upsell campaig settings by vendor
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: Returns Upsell campaign settings
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellCampaignSettingsResponse"
    put:
      tags:
      - Upsell
      summary: Update Upsell campaign settings
      description: Update Upsell campaign settings displayType
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpsellUpdateSettings"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellCampaignSettingsResponse"
        "400":
          description: Upsell campaign settings error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpsellDisplayTypeResponseException"
  /customers/:
    get:
      tags:
      - Single Sign On
      summary: "Retrieve Single Sign On customer info by SSOToken"
      description: |-
        ***

        **Overview**

        Retrieve the details of a customer entity from the 2Checkout system. Send the SSO token you create by generating tokenized cart payment links.
        Click [here](#reference/single-sign-on/sso-in-cart) to learn how to generate a single-sign-on URL.

        Here's an example of a single-sign-on URL:

        <pre>
        <code>
        https://store.YourCustomDomain.com/order/checkout.php?PRODS=1112233&logintoken=8b74ac97f8277654563c44da6915b054ba0d21be
        </code>
        </pre>

        The SSO token used for retrieving customer information is **8b74ac97f8277654563c44da6915b054ba0d21be**.
      parameters:
      - name: ssotoken
        in: query
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: 9387f43c0c4d52d57f315ef1e3d1c87443f2f4d3
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerInformation"
              example:
                ExternalCustomerReference: Customer127
                FirstName: John
                LastName: Doe
                Company: test company
                FiscalCode: ""
                Address1: Address details
                Address2: "55"
                City: London
                State: London
                Zip: WC1A1AH
                CountryCode: gb
                Phone: "265897456"
                Fax: ""
                Email: john.doe@example.com
                ExistingCards: []
                Enabled: false
                Trial: false
                CustomerReference: "423577932"
    post:
      tags:
      - Customers
      summary: "Create a customer"
      description: |-
        ***

        **Overview**

        Add new customers in the 2Checkout platform. By default, customer status is <strong>Inactive</strong> until you assign a specific subscription to the customer. Following that action, customer status reflects the status of the attached subscription(s).
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomerInformation"
            example:
              ExternalCustomerReference: HotTalks1Customer127
              FirstName: John
              LastName: Doe
              Company: test company
              FiscalCode: ""
              Address1: Address details
              Address2: "55"
              City: London
              State: London
              Zip: WC1A1AH
              CountryCode: gb
              Phone: "265897456"
              Fax: ""
              Email: john.doe@example.com
              ExistingCards: []
              Enabled: false
              Trial: false
              CustomerReference: "423577932"
              Credit:
                Limit: 120
                Remaining: 17
                Currency: "USD"
      responses:
        "200":
          description: OK
  "/customers/{CReference}/":
    get:
      tags:
      - Customers
      summary: "Retrieve a customer"
      description: |-
        ***
        **Overview**
        Retrieve customer information from the 2Checkout platform using either the 2Checkout Customer Reference or the External Customer Reference.
      parameters:
      - name: CReference
        in: path
        description: Internal 2Checkout customer reference or your customer identifier
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: HotTalks1Customer123
      - name: includePaymentData
        in: path
        description: Flag used to indicate if customer payment information should be returned or not
        required: true
        style: simple
        explode: false
        schema:
          type: boolean
        example: true
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerInformation"
              example:
                ExternalCustomerReference: HotTalks1Customer127
                FirstName: John
                LastName: Doe
                Company: test company
                FiscalCode: ""
                Address1: Address details
                Address2: "55"
                City: London
                State: London
                Zip: WC1A1AH
                CountryCode: gb
                Phone: "265897456"
                Fax: ""
                Email: john.doe@example.com
                ExistingCards: []
                Enabled: false
                Trial: false
                CustomerReference: "423577932"
                Credit:
                  Limit: 120
                  Remaining: 17
                  Currency: "USD"
    put:
      tags:
      - Customers
      summary: "Update a customer"
      description: |-
        ***

        **Overview**

        Update customer information from the 2Checkout platform using the 2Checkout Customer Reference.

        ***

        **Method and URL**

        **PUT** `https://api.2checkout.com/rest/5.0/customers/CReference/`

        ***

        **Example URL**

        To update a customer in the 2Checkout system, use this URL:

        - `https://api.2checkout.com/rest/5.0/customers/{CReference}/`

        ***

        **Response**

        200 JSON
      parameters:
      - name: CReference
        in: path
        description: Internal 2Checkout customer reference
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "258113240"
      - name: endUserUpdate
        in: query
        description: Set true to have the changes reflected on the end-user details for all subscriptions.
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: false
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomerInformation"
            example:
              ExternalCustomerReference: HotTalks1Customer127
              FirstName: FirstName
              LastName: LastName
              Company: Test Company
              FiscalCode: ""
              Address1: Address example
              Address2: no 55
              City: Los Angeles
              State: AC
              Zip: 90210
              CountryCode: us
              Phone: 265897456
              Fax: 265897456
              Email: test.customer@testdoc.com
              ExistingCards: []
              Enabled: false
              Trial: false
              Language: ""
              CustomerReference: 449705361
              Credit:
                Limit: 120
                Remaining: 17
                Currency: "USD"
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: true
  "/customers/{CReference}/account/{PageType}/":
    get:
      tags:
      - Single Sign On
      summary: "Single Sign On by customer reference"
      description: |-
        ***

        **Overview**

        Create Single Sign On links into 2Checkout myAccount based on customer references (IDs). Use either the 2Checkout Customer Reference or the External Customer Reference to identify specific customers.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: CReference
        in: path
        description: Internal 2Checkout customer reference or your customer identifier string
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "260015052"
      - name: PageType
        in: path
        description: "The specific myAccount page you want the user to be redirected to. Possible values: index, my_subscription, user_data, order_lookup, faq, payment_methods"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: index
      - name: Lang
        in: query
        description: ISO language codes for the product - ISO 639-1.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: en
      - name: ValidityTime
        in: query
        description: "The time, in seconds, before the single sign-on URL expires. By default, the URL expires after 10 seconds."
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 25
      - name: ValidationIp
        in: query
        description: "The IP address of the shopper, necessary for security purposes. Can be an empty string or a valid IP, or null."
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 127.0.0.1
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: "http://secure.avangate.org/myaccount/?login=38c6110c6c4305e2818425676c264e7e"
  "/customers/{CReference}/cart/":
    get:
      tags:
      - Single Sign On
      summary: "Single Sign On in cart"
      description: "Generate tokenized payment links for returning customers, and display their previously used credit cards in the shopping cart, along with their prefilled billing information. 2Checkout attaches a unique token to links, designed to identify the returning shoppers and support the automatic extraction of payment data and billing information from the 2Checkout system. For example, you can generate <strong>single sign on in cart</strong> links for existing customers logged into your website based on their external or 2Checkout customer IDs."
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: CReference
        in: path
        description: Internal 2Checkout customer reference or your customer identifier string
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "111222333"
      - name: Url
        in: query
        description: The specific shopping cart page you want the user to be redirected to.
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: "https://store.avancart.com/order/checkout.php?PRODS=1234567&QTY=1&CART=1&CARD=2"
      - name: ValidityTime
        in: query
        description: "The time, in seconds, before the single sign-on URL expires. By default, the URL expires after 10 seconds."
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 25
      - name: ValidationIp
        in: query
        description: "The IP address of the shopper, necessary for security purposes. Can be an empty string or a valid IP, or null."
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 127.0.0.1
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: "https://store.avancart.com/order/checkout.php?PRODS=1234567&logintoken=f3387c386650eaedd21c6859b85c5d51df024dc4"
  "/customers/{CReference}/credit-card/{TransientToken}":
    delete:
      tags:
      - Customers
      summary: "Delete customer credit card"
      description: Delete customer credit card
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: CReference
        in: path
        description: Internal 2Checkout customer reference or your customer identifier string
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "260015052"
      - name: TransientToken
        in: path
        description: "Transient Token for card, can be fount in getCustomerInfoBySSOToken string"
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 2hih36ssdf96i8cx4y7868brh5fyi0frmrpvtjgf
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnlinkCustomerCreditCardResponse"
        "400":
          description: Not deleted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnlinkCustomerCreditCard400Response"
  /orders/:
    get:
      tags:
      - Order
      summary: "Search orders using a multitude of filters"
      parameters:
      - name: ApproveStatus
        in: query
        description: "Choose the desired status like WAITING, OK, FRAUD, INVALIDDATA"
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - WAITING
          - OK
          - FRAUD
          - INVALIDDATA
      - name: Newer
        in: query
        description: "Needed timestamp. If not provided, will return by default the data for last 7 days."
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Status
        in: query
        description: "Order status. Some of the available options are COMPLETE, PENDING, CANCELED, REFUND"
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - COMPLETE
          - PENDING
          - CANCELED
          - REFUND
      - name: StartDate
        in: query
        description: Start date in format Y-m-d. Will overwrite Newer if provided.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: EndDate
        in: query
        description: End date in format Y-m-d.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: PartnerOrders
        in: query
        description: Decide if it will also include partner orders
        required: false
        style: form
        explode: true
        schema:
          type: boolean
      - name: ExternalRefNo
        in: query
        description: The external reference number of the order
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: IncludeTestOrders
        in: query
        description: Should test orders be included in the result Values YES -  test orders are included NO - test orders are not included ONLY - only the test orders are included
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Page
        in: query
        description: Needed page
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Limit
        in: query
        description: Number of results per page
        required: false
        style: form
        explode: true
        schema:
          type: integer
      responses:
        "201":
          description: Created
          content:
            application/json:
              examples:
                response:
                  value:
                    Items:
                    - AffiliateCommission: 0
                      Affiliate: {}
                      ApproveStatus: WAITING
                      AvangateCommission: 80.39
                      BillingDetails:
                        Address1: ""
                        Address2: ""
                        City: LA
                        CountryCode: br
                        Email: customer@2Checkout.com
                        FirstName: Customer
                        FiscalCode: 056.027.963-98
                        LastName: 2Checkout
                        Phone: "556133127400"
                        State: Distrito Federal
                        TaxOffice: "null,"
                        Zip: 70403-900
                      Currency: brl
                      DeliveryDetails:
                        Address1: ""
                        Address2: ""
                        City: LA
                        CountryCode: br
                        Email: customer@2Checkout.com
                        FirstName: Customer
                        LastName: 2Checkout
                        Phone: "556133127400"
                        State: Distrito Federal
                        Zip: 70403-900
                      Discount: 0
                      Errors:
                        ORDER_ERROR: GATEWAY_ACCEPT
                      ExternalReference: REST_API_AVANGTE
                      ExtraInformation:
                        RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      HasShipping: false
                      Items:
                      - Code: my_subscription_1
                        Price:
                          AffiliateCommission: 0
                          Currency: brl
                          Discount: 0
                          GrossDiscountedPrice: 384.45
                          GrossPrice: 384.45
                          NetDiscountedPrice: 384.45
                          NetPrice: 384.45
                          UnitAffiliateCommission: 0
                          UnitDiscount: 0
                          UnitGrossDiscountedPrice: 384.45
                          UnitGrossPrice: 384.45
                          UnitNetDiscountedPrice: 384.45
                          UnitNetPrice: 384.45
                          UnitVAT: 0
                          VAT: 0
                        PriceOptions:
                        - Code: USERS
                          Options:
                          - oneuser1
                          Required: false
                        ProductDetails:
                          Name: 2Checkout Subscription
                          RenewalStatus: false
                        Quantity: 1
                        SKU: NewSubscriptionPurchase
                        Promotion:
                          Name: Regular promotion
                          Code: VXVA13JRPM
                          Description: description
                          StartDate: "2022--11-01"
                          EndDate: "2022-11-30"
                          MaximumOrdersNumber: null
                          MaximumQuantity: null
                          InstantDiscount: false
                          Coupon: ""
                          DiscountLabel: "20 EUR"
                          Enabled: true
                          Type: REGULAR
                          Discount: 20
                          DiscountCurrency: "EUR"
                          DiscountType: "FIXED"
                      Language: en
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      OrderDate: "2016-02-08 19:19:53"
                      OrderFlow: REGULAR
                      PODetails: null
                      OrderNo: 0
                      Origin: API
                      PaymentDetails:
                        Currency: brl
                        CustomerIP: 91.220.121.21
                        PaymentMethod:
                          CardType: Visa
                          ExpirationMonth: "12"
                          ExpirationYear: "29"
                          FirstDigits: "4111"
                          InstallmentsNumber: 2
                          LastDigits: "1111"
                          RecurringEnabled: false
                        Type: CC
                      Promotions: []
                      RefNo: "1234567"
                      Source: testAPI.com
                      Status: PENDING
                      TestOrder: false
                      VAT: 0
                      VendorApproveStatus: OK
                    - AffiliateCommission: 0
                      Affiliate: {}
                      ApproveStatus: WAITING
                      AvangateCommission: 80.39
                      BillingDetails:
                        Address1: ""
                        Address2: ""
                        City: LA
                        CountryCode: br
                        Email: customer@2Checkout.com
                        FirstName: Customer
                        FiscalCode: 056.027.963-98
                        LastName: 2Checkout
                        Phone: "556133127400"
                        State: Distrito Federal
                        TaxOffice: "null,"
                        Zip: 70403-900
                      Currency: brl
                      DeliveryDetails:
                        Address1: ""
                        Address2: ""
                        City: LA
                        CountryCode: br
                        Email: customer@2Checkout.com
                        FirstName: Customer
                        LastName: 2Checkout
                        Phone: "556133127400"
                        State: Distrito Federal
                        Zip: 70403-900
                      Discount: 0
                      Errors: null
                      ExternalReference: REST_API_AVANGTE
                      ExtraInformation: null
                      GrossDiscountedPrice: 284.45
                      GrossPrice: 284.45
                      HasShipping: false
                      Items:
                      - Code: my_subscription_2
                        Price:
                          AffiliateCommission: 0
                          Currency: brl
                          Discount: 0
                          GrossDiscountedPrice: 284.45
                          GrossPrice: 284.45
                          NetDiscountedPrice: 284.45
                          NetPrice: 284.45
                          UnitAffiliateCommission: 0
                          UnitDiscount: 0
                          UnitGrossDiscountedPrice: 284.45
                          UnitGrossPrice: 284.45
                          UnitNetDiscountedPrice: 284.45
                          UnitNetPrice: 284.45
                          UnitVAT: 0
                          VAT: 0
                        PriceOptions:
                        - Code: USERS2
                          Options:
                          - oneuser2
                          Required: false
                        ProductDetails:
                          Name: 2Checkout Subscription
                          RenewalStatus: false
                        Quantity: 2
                        SKU: AnotherSubscriptionPurchase
                        Promotion: null
                      Language: en
                      NetDiscountedPrice: 284.45
                      NetPrice: 284.45
                      OrderDate: "2023-02-08 19:19:53"
                      OrderFlow: REGULAR
                      PODetails:
                        Status: AWAITING_UPLOAD
                        AutoApprove: false
                        RequireDocumentUpload": false
                        NetPaymentTerms: "90"
                        CopyPreviousDocuments: false,
                        PdfFormUrl: "https://secure.2checkout.com/order/order_confirmation_pdf.php?e=dXOZXKB4YLcl7Ft"
                        InternalPONumber: 84864848
                      OrderNo: 0
                      Origin: API
                      PaymentDetails:
                        Currency: brl
                        CustomerIP: 91.220.121.21
                        PaymentMethod:
                          CardType: Visa
                          ExpirationMonth: "12"
                          ExpirationYear: "29"
                          FirstDigits: "4111"
                          InstallmentsNumber: 2
                          LastDigits: "1111"
                          RecurringEnabled: false
                        Type: CC
                      Promotions: []
                      RefNo: "1234568"
                      Source: testAPI.com
                      Status: PENDING
                      TestOrder: false
                      VAT: 0
                      VendorApproveStatus: OK
                    Pagination:
                      Page: 1
                      Limit: 10
                      Count: 230
    post:
      tags:
      - Place order
      summary: Place orders using the full range of available payment methods (with examples).
      description: |-
        Create a new orders and collect payments from shoppers using catalog products (products defined in your Control Panel) or dynamic products (products created via API on the fly).

        For orders placed with Credit Card, the 3DS Secure flow needs to be covered by redirecting the shoppers to complet the security flow. The full process is detailed [here](https://verifone.cloud/docs/2checkout/API-Integration/01Start-using-the-2Checkout-API/2Checkout-API-general-information/3D-Secure-Flow).

        For a full list of list of common errors that may arise when using placing order calls  via API version 6 [here](https://verifone.cloud/docs/2checkout/API-Integration/JSON-RPC_API_6.0/API-6.0-Error-Codes/Error-handling-for-API-6.0).

        When placing a new order it generates unique order reference numbers for all orders (purchases). You can use this parameter RefNo sent in the body to retry authorizations for orders with failed transactions by changing the payment method.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PlaceOrder"
            examples:
              DynamicProduct:
                summary: Place an order with a dynamic product
                value:
                  Country: us
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  CheckRenewableProducts: true
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    State: California
                    CountryCode: US
                    Email: testcustomer@2Checkout.com
                    TaxExemptionId: 1b80eecc340e
                    FirstName: Customer
                    LastName: 2Checkout
                    Zip: "12345"
                  Items:
                  - Name: Dynamic product
                    Description: Test description
                    Quantity: 1
                    IsDynamic: true
                    Tangible: false
                    PurchaseType: PRODUCT
                    CrossSell:
                      CampaignCode: CAMPAIGN_CODE
                      ParentCode: MASTER_PRODUCT_CODE
                    Price:
                      Amount: 100
                      Type: CUSTOM
                    ProductTaxCategoryUUID: 2ad5ecfe-508d-4852-bd24-d400c297523b
                    PriceType: GROSS
                    PriceOptions:
                    - Name: OPT1
                      Options:
                      - Name: Name LR
                        Value: Value LR
                        Surcharge: 7
                    RecurringOptions:
                      CycleLength: 2
                      CycleUnit: DAY
                      CycleAmount: 12.2
                      ContractLength: 3
                      ContractUnit: DAY
                  PaymentDetails:
                    Type: CC
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CardNumber: "4111111111111111"
                      CardType: VISA
                      Vendor3DSReturnURL: www.success.com
                      Vendor3DSCancelURL: www.fail.com
                      ExpirationYear: "2020"
                      ExpirationMonth: "12"
                      CCID: "123"
                      HolderName: John Doe
                      RecurringEnabled: true
                      HolderNameTime: 1
                      CardNumberTime: 1
              ManualRenewal:
                summary: Place an order with manual renewal
                value:
                  Country: us
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  CheckRenewableProducts: true
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    State: California
                    CountryCode: US
                    Email: testcustomer@2Checkout.com
                    TaxExemptionId: 1b80eecc340e
                    FirstName: Customer
                    LastName: 2Checkout
                    Zip: "12345"
                  Items:
                  - RenewalInformation:
                      SubscriptionReference: "PZBUW78FLB"
                  - Code: "my_subscription_1"
                  - Quantity: "1"
                  - RenewalInformation:
                      SubscriptionReference: "ABCU212FLL"
                  BillingCycleReset: 1
                  PaymentDetails:
                    Type: CC
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CardNumber: "4111111111111111"
                      CardType: VISA
                      Vendor3DSReturnURL: www.success.com
                      Vendor3DSCancelURL: www.fail.com
                      ExpirationYear: "2020"
                      ExpirationMonth: "12"
                      CCID: "123"
                      HolderName: John Doe
                      RecurringEnabled: true
                      HolderNameTime: 1
                      CardNumberTime: 1
              ManualUpgrade:
                summary: Place an order with manual upgrade
                value:
                  Country: us
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  CheckRenewableProducts: true
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    State: California
                    CountryCode: US
                    Email: testcustomer@2Checkout.com
                    TaxExemptionId: 1b80eecc340e
                    FirstName: Customer
                    LastName: 2Checkout
                    Zip: "12345"
                  Items:
                    Code: my_subscription_1
                    Quantity: "1"
                    UpgradeInformation:
                      SubscriptionReference: "PZBUW78FLB"
                  PaymentDetails:
                    Type: CC
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CardNumber: "4111111111111111"
                      CardType: VISA
                      Vendor3DSReturnURL: www.success.com
                      Vendor3DSCancelURL: www.fail.com
                      ExpirationYear: "2020"
                      ExpirationMonth: "12"
                      CCID: "123"
                      HolderName: John Doe
                      RecurringEnabled: true
                      HolderNameTime: 1
                      CardNumberTime: 1
              PaymentCC:
                summary: Place an order using Credit Card
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  CheckRenewableProducts: true
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Type: CC
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
              PaymentCCWithMultipleCouponType:
                summary: Place an order using Credit Card with multiple coupon type promotion
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  CheckRenewableProducts: true
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  Promotions:
                  - "couponCode1"
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Type: CC
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
              PaymentCCWithSingleCouponType:
                summary: Place an order using Credit Card with single coupon type promotion
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  CheckRenewableProducts: true
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Promotion:
                      Code: "promotionCode"
                  PaymentDetails:
                    Type: CC
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
              TrialPaymentCC:
                summary: Place an trial order using Credit Card
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  CheckRenewableProducts: true
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Trial:
                      Period: 30
                      Price: 0
                  PaymentDetails:
                    Type: CC
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
              CrossSell:
                summary: Place an order with cross sell campaign
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  - Code: my_subscription_2
                    Quantity: "1"
                    CrossSell:
                      ParentCode: my_subscription_1
                      CampaignCode: 2Xrl83KElaWBv3G3dtW9eg
                      AutoAdded: true
                  PaymentDetails:
                    Type: CC
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
              UpSell:
                summary: Place an order with an upsell campaign
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  - Code: recommended_upsell_product_code
                    Quantity: "1"
                    UpSell:
                      ParentCode: parent_upsell_product_code
                      CampaignCode: 2Xrl83KElaWBv3G3dtW9eg
                      PriceOptions:
                      - po1
                      - po2
                      Quantity: 2
                  PaymentDetails:
                    Type: CC
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
              PaymentWithInstallments:
                summary: Place an order using Credit Card with installments
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Type: CC
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      InstallmentsNumber: "3"
                      RecurringEnabled: false
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
              PaymentWire:
                summary: Place an order using Wire Transfer
                value:
                  Country: US
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    Address2: ""
                    City: LA
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: California
                    TaxOffice: "null,"
                    Zip: "90210"
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: usd
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      RecurringEnabled: false
                    Type: WIRE
              PaymentPurchase:
                summary: Place an order using the Purchase Order flow
                value:
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    Address2: ""
                    City: New York City
                    Company: ABC Company
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: NY
                    TaxOffice: "null,"
                    Zip: 70403-900
                    Country: US
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    ExternalReference: REST_API_AVANGTE
                  Items:
                  - Code: my_subscription_1
                    Price:
                      AffiliateCommission: 0
                      Currency: usd
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      AutoApprove: true
                      InternalPONumber: 84864848
                      RecurringEnabled: false
                    Type: PURCHASEORDER
              PaymentWeChat:
                summary: Place an order using WeChat Pay
                value:
                  Country: CN
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Xian Jing Blvd 77
                    Address2: floor 5
                    City: Shanghai
                    CountryCode: CN
                    Email: hujianbing@336699.cn
                    FirstName: Hu
                    LastName: Jianbing
                    Phone: 010-6552-9988
                    TaxOffice: "null,"
                    Zip: 334321
                    TaxExemptionId: 1b80eecc340e
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: cny
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      ReturnURL: "https://example.com"
                      CancelURL: "https://example.com"
                    Type: WE_CHAT_PAY
              PaymentIdeal:
                summary: Place an order using iDEAL
                value:
                  Country: NL
                  Currency: EUR
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Amsterdam street 1
                    Address2: floor 5
                    City: Amsterdam
                    CountryCode: NL
                    Email: shopper@avangate.com
                    FirstName: Edwin
                    LastName: De Jong
                    Phone: "12345"
                    TaxOffice: "null,"
                    Zip: "334321"
                    TaxExemptionId: 1b80eecc340e
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: eur
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Type: IDEAL
                    Currency: EUR
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      ReturnURL: "https://example.com"
                      CancelURL: "https://example.com"
                      BankCode: RABONL2U+RAB
              PaymentTest:
                summary: Place test order using a test Credit Card
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
                    Type: TEST
              PaymentTest2pay:
                summary: Place test order with 2pay.js token
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate:
                    AffiliateCode: Partner123
                    AffiliateSource: MobilePlatform
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      EesToken: 90007562-681b-4df5-9797-53faf8abbc92
                      RecurringEnabled: true
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
                    Type: TEST
              PaymentFree:
                summary: Place an order without requiring any payment information
                value:
                  Country: US
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Test Address
                    City: New York City
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: NY
                    Zip: 70403-900
                  Items:
                  - Quantity: "1"
                    Tangible: false
                    IsDynamic: true
                    Price:
                      Amount: 0
                      Type: CUSTOM
                      Name: Dynamic product
                  PaymentDetails:
                    Type: FREE
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      RecurringEnabled: false
              PaymentPreviousRef:
                summary: Place an order using previous order reference
                value:
                  Country: US
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Test Address
                    Address2: ""
                    City: LA
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: California
                    TaxOffice: "null,"
                    Zip: "90210"
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: usd
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      RecurringEnabled: true
                      RefNo: "11775797"
                    Type: PREVIOUS_ORDER
              PaymentUnionPay:
                summary: Place an order with UnionPay
                value:
                  Country: CN
                  Currency: CNY
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Xian Jing Blvd 77
                    Address2: floor 5
                    City: Shanghai
                    CountryCode: CN
                    Email: hujianbing@336699.cn
                    FirstName: Hu
                    LastName: Jianbing
                    Phone: 010-6552-9988
                    State: ""
                    Zip: "334321"
                    TaxExemptionId: 1b80eecc340e
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Currency: CNY
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      RecurringEnabled: false
                    Type: UNIONPAY
              PaymentStoredCredit:
                summary: Place an order with Stored Credit
                value:
                  Country: CN
                  Currency: CNY
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Xian Jing Blvd 77
                    Address2: floor 5
                    City: Shanghai
                    CountryCode: CN
                    Email: hujianbing@336699.cn
                    FirstName: Hu
                    LastName: Jianbing
                    Phone: 010-6552-9988
                    State: ""
                    Zip: "334321"
                    TaxExemptionId: 1b80eecc340e
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    Type: STORED_CREDIT
              Payment2Pay:
                summary: Place an order with 2pay.js
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Currency: BRL
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      EesToken: 7b88d2cf-6121-4cac-90a1-8eefc4cb3e6e
                      Vendor3DSReturnURL: www.test.com
                      Vendor3DSCancelURL: www.test.com
                    Type: EES_TOKEN_PAYMENT
              Webmoney:
                summary: Place an order with Webmoney
                value:
                  BillingDetails:
                    Address1: Test Address
                    City: Moscow
                    CountryCode: RU
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Country: ru
                  Currency: usd
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Items:
                  - Code: some product
                    Quantity: "1"
                  Language: en
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      RecurringEnabled: false
                    Type: WEBMONEY
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  ExternalCustomerReference: IOUER
                  CustomerReference: GFDFE
              Alipay:
                summary: Place an order with Alipay
                value:
                  BillingDetails:
                    Address1: Test Address
                    City: Taipei
                    CountryCode: TW
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    LastName: 2Checkout
                    Phone: 556133127400
                    State: Taipei
                    Zip: 10460
                    TaxExemptionId: 1b80eecc340e
                  Country: TW
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Items:
                  - Code: some product
                    Quantity: 1
                  Language: EN
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      RecurringEnabled: false
                    Type: ALIPAY
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
              Giropay:
                summary: Place an order with Giropay
                value:
                  Currency: EUR
                  Country: DE
                  Language: EN
                  CustomerIP: 10.5.22.197
                  ExternalReference: REST_API_AVANGTEAS01
                  Items:
                  - Code: DD996A4DB3
                    Quantity: 1
                  BillingDetails:
                    FirstName: John
                    LastName: Doe
                    CountryCode: DE
                    State: Berlin
                    City: Berlin
                    Address1: "Test street "
                    Zip: 10247
                    TaxExemptionId: 1b80eecc340e
                    Email: john.doe@2checkout.com
                    Phone: "0123456789"
                  PaymentDetails:
                    Type: GIROPAY
                    Currency: EUR
                    HadPayPalToken: false
                    CustomerIP: 10.5.22.197
              PaymentPayPal:
                summary: Place an order with PayPal
                value:
                  Country: br
                  Currency: brl
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: BR
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    TaxExemptionId: 1b80eecc340e
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: DF
                    Zip: 70403-900
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  PaymentDetails:
                    Type: PAYPAL
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    FundingSource: Credit
                    PaymentMethod:
                      RecurringEnabled: false
                      Email: customer@example.com
                      ReturnURL: "http://www.success.com"
                      CancelURL: "http://www.cancel.com"
              PaymentPayPalExpress:
                summary: Place an order with PayPalExpress
                value:
                  Country: us
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    State: California
                    CountryCode: US
                    TaxExemptionId: 1b80eecc340e
                    Email: customer@example.com
                    FirstName: Customer
                    LastName: 2Checkout
                    Zip: "12345"
                  Items:
                  - Code: my_subscription_1
                    Quantity: 1
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    FundingSource: Credit
                    PaymentMethod:
                      Email: customer@example.com
                      Token: token-gotten-from-getPayPalExpressCheckoutRedirectURL
                      ReturnURL: "http://www.success.com"
                      CancelURL: "http://www.cancel.com"
                    Type: PAYPAL_EXPRESS
              PaymentGooglePay:
                summary: Place an order using GooglePay
                value:
                  Country: US
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Test Address
                    Address2: ""
                    City: LA
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: California
                    TaxOffice: "null,"
                    Zip: "90210"
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: usd
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      PaymentToken: eyJzaWduYXR1cmUiOiJNRVlDSVFDVDBrek53RDFpcmRqTlYxZDJXT2k4eFplSDBhdnRwNXF
                    Type: GOOGLEPAY
              PaymentApplePay:
                summary: Place an order using ApplePay
                value:
                  Country: US
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Test Address
                    Address2: ""
                    City: LA
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: California
                    TaxOffice: "null,"
                    Zip: "90210"
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: usd
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      ApplePayToken: ApplePayDataToken
                    Type: APPLE_PAY
              PaymentACH:
                summary: Place an order using eCheck/ACH
                value:
                  Country: US
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Test Address
                    Address2: ""
                    City: LA
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: California
                    TaxOffice: "null,"
                    Zip: "90210"
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: usd
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      AccountHolderName: John Doe,
                      BankRoutingNumber: 222371863
                      AccountNumber: 999999999
                      AccountType: S
                      RecurringEnabled: true
                    Type: DIRECT_DEBIT_ACH
              ExistingPaymentData:
                summary: Place an order with existing payment data
                value:
                  Country: US
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  CustomerReference: GFDFE
                  ExternalCustomerReference: IOUER
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  Affiliate: {}
                  BillingDetails:
                    Address1: Test Address
                    Address2: ""
                    City: LA
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    FiscalCode: 056.027.963-98
                    LastName: 2Checkout
                    Phone: "556133127400"
                    State: California
                    TaxOffice: "null,"
                    Zip: "90210"
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                    Price:
                      AffiliateCommission: 0
                      Currency: usd
                      Discount: 0
                      GrossDiscountedPrice: 384.45
                      GrossPrice: 384.45
                      NetDiscountedPrice: 384.45
                      NetPrice: 384.45
                      UnitAffiliateCommission: 0
                      UnitDiscount: 0
                      UnitGrossDiscountedPrice: 384.45
                      UnitGrossPrice: 384.45
                      UnitNetDiscountedPrice: 384.45
                      UnitNetPrice: 384.45
                      UnitVAT: 0
                      VAT: 0
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    Type: EXISTING_PAYMENT_DATA
                    PaymentMethod:
                      CCID: 123,
                      TransientToken: oj5iyozmtkvuirzybvmwyhl3bl3nuxa44rkg5r1h
                      Vendor3DSReturnURL: http://www.success.com
                      Vendor3DSCancelURL: http://www.cancel.com
              RetryOrder:
                summary: Retry an order placement with reference number
                value:
                  RefNo: "241272"
                  Country: us
                  Currency: USD
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Language: en
                  Source: testAPI.com
                  WSOrder: testvendorOrder.com
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    State: California
                    CountryCode: US
                    TaxExemptionId: 1b80eecc340e
                    Email: testcustomer@2Checkout.com
                    FirstName: Customer
                    LastName: 2Checkout
                    Zip: "12345"
                  Items:
                  - Name: Dynamic product
                    Description: Test description
                    Quantity: 1
                    IsDynamic: true
                    Tangible: false
                    PurchaseType: PRODUCT
                    CrossSell:
                      CampaignCode: CAMPAIGN_CODE
                      ParentCode: MASTER_PRODUCT_CODE
                    Price:
                      Amount: 100
                      Type: CUSTOM
                    PriceOptions:
                    - Name: OPT1
                      Options:
                      - Name: Name LR
                        Value: Value LR
                        Surcharge: 7
                    RecurringOptions:
                      CycleLength: 2
                      CycleUnit: DAY
                      CycleAmount: 12.2
                      ContractLength: 3
                      ContractUnit: DAY
                  PaymentDetails:
                    Type: CC
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CardNumber: "4111111111111111"
                      CardType: VISA
                      Vendor3DSReturnURL: www.success.com
                      Vendor3DSCancelURL: www.fail.com
                      ExpirationYear: "2020"
                      ExpirationMonth: "12"
                      CCID: "123"
                      HolderName: John Doe
                      RecurringEnabled: true
                      HolderNameTime: 1
                      CardNumberTime: 1
      responses:
        "201":
          description: Created
          content:
            application/json:
              examples:
                DynamicProuct:
                  summary: Place an order with dynamic product
                  value:
                    RefNo: "11541215"
                    OrderNo: 0
                    ExternalReference: REST_API_AVANGTE
                    Status: AUTHRECEIVED
                    ApproveStatus: WAITING
                    VendorApproveStatus: OK
                    MerchantCode: "120655175030"
                    Language: en
                    OrderDate: "2020-03-11 17:33:46"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Affiliate: {}
                    HasShipping: true
                    ContainsRenewableProducts: true
                    RequestDeliveryData: true
                    BillingDetails:
                      FirstName: Customer
                      LastName: 2Checkout
                      Email: testcustomer@2Checkout.com
                      Address1: Test Address
                      City: LA
                      Zip: "12345"
                      CountryCode: us
                      State: California
                    DeliveryDetails:
                      FirstName: Customer
                      LastName: 2Checkout
                      Email: testcustomer@2Checkout.com
                      Address1: Test Address
                      City: LA
                      Zip: "12345"
                      CountryCode: us
                      State: California
                    PaymentDetails:
                      Type: CC
                      Currency: usd
                      PaymentMethod:
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        CardType: visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        RecurringEnabled: true
                      CustomerIP: 91.220.121.21
                    DeliveryInformation:
                      ShippingMethod: {}
                    Origin: API
                    AvangateCommission: 8.5
                    OrderFlow: REGULAR
                    TestOrder: false
                    FxRate: 1
                    FxMarkup: 0
                    PayoutCurrency: USD
                    DeliveryFinalized: false
                    Items:
                    - ProductDetails:
                        Name: Dynamic product
                        ShortDescription: Test description
                        Tangible: false
                        IsDynamic: true
                        RenewalStatus: false
                        DeliveryInformation:
                          Delivery: NO_DELIVERY
                          DeliveryDescription: ""
                          CodesDescription: ""
                          Codes: []
                      PriceOptions: []
                      CrossSell:
                        CampaignCode: CAMPAIGN_CODE
                        ParentCode: MASTER_PRODUCT_CODE
                      Price:
                        UnitNetPrice: 100
                        UnitGrossPrice: 100
                        UnitVAT: 0
                        UnitDiscount: 0
                        UnitNetDiscountedPrice: 100
                        UnitGrossDiscountedPrice: 100
                        UnitAffiliateCommission: 0
                        ItemUnitNetPrice: 0
                        ItemUnitGrossPrice: 0
                        ItemNetPrice: 0
                        ItemGrossPrice: 0
                        VATPercent: 0
                        HandlingFeeNetPrice: 0
                        HandlingFeeGrossPrice: 0
                        Currency: usd
                        NetPrice: 100
                        GrossPrice: 100
                        NetDiscountedPrice: 100
                        GrossDiscountedPrice: 100
                        Discount: 0
                        VAT: 0
                        AffiliateCommission: 0
                      LineItemReference: 1002325206c9e754a019b752b5bf4f103c0f18f1
                      PurchaseType: PRODUCT
                      ExternalReference: ""
                      Quantity: 1
                      Promotion:
                        Name: Regular promotion
                        Code: VXVA13JRPM
                        Description: description
                        StartDate: "2022--11-01"
                        EndDate: "2022-11-30"
                        MaximumOrdersNumber: null
                        MaximumQuantity: null
                        InstantDiscount: false
                        Coupon: ""
                        DiscountLabel: "20 EUR"
                        Enabled: true
                        Type: REGULAR
                        Discount: 20
                        DiscountCurrency: "EUR"
                        DiscountType: "FIXED"
                        Promotions:
                        - Name: Global promotion
                          Code: C03ZALY2S9
                          Description: description
                          StartDate: "2022--11-01"
                          EndDate: "2022-11-30"
                          MaximumOrdersNumber: null
                          MaximumQuantity: null
                          InstantDiscount: false
                          Coupon: ""
                          DiscountLabel: "30"
                          Enabled: true
                          Type: GLOBAL
                          Discount: 30
                          DiscountCurrency: "USD"
                          DiscountType: "PERCENT"
                        - Name: Order promotion
                          Code: SB8ZMIUXZ5
                          Description: description
                          StartDate: "2022--11-01"
                          EndDate: "2022-11-30"
                          MaximumOrdersNumber: null
                          MaximumQuantity: null
                          InstantDiscount: false
                          Coupon: ""
                          DiscountLabel: "45 USD"
                          Enabled: true
                          Type: ORDER
                          Discount: 45
                          DiscountCurrency: "USD"
                          DiscountType: "FIXED"
                    Currency: usd
                    NetPrice: 100
                    GrossPrice: 100
                    NetDiscountedPrice: 100
                    GrossDiscountedPrice: 100
                    Discount: 0
                    VAT: 0
                    AffiliateCommission: 0
                ManualRenewal:
                  summary: Place an order with manual renewal
                  value:
                    RefNo: "11541215"
                    OrderNo: 0
                    ExternalReference: REST_API_AVANGTE
                    Status: AUTHRECEIVED
                    ApproveStatus: WAITING
                    VendorApproveStatus: OK
                    MerchantCode: "120655175030"
                    Language: en
                    OrderDate: "2020-03-11 17:33:46"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Affiliate: {}
                    HasShipping: true
                    ContainsRenewableProducts: true
                    RequestDeliveryData: true
                    BillingDetails:
                      FirstName: Customer
                      LastName: 2Checkout
                      Email: testcustomer@2Checkout.com
                      Address1: Test Address
                      City: LA
                      Zip: "12345"
                      CountryCode: us
                      State: California
                    DeliveryDetails:
                      FirstName: Customer
                      LastName: 2Checkout
                      Email: testcustomer@2Checkout.com
                      Address1: Test Address
                      City: LA
                      Zip: "12345"
                      CountryCode: us
                      State: California
                    PaymentDetails:
                      Type: CC
                      Currency: usd
                      PaymentMethod:
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        CardType: visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        RecurringEnabled: true
                      CustomerIP: 91.220.121.21
                    DeliveryInformation:
                      ShippingMethod: {}
                    Origin: API
                    AvangateCommission: 8.5
                    OrderFlow: REGULAR
                    TestOrder: false
                    FxRate: 1
                    FxMarkup: 0
                    PayoutCurrency: USD
                    DeliveryFinalized: false
                    Items:
                    - ProductDetails:
                        Name: Manual renewal product
                        ShortDescription: Test description
                        Tangible: false
                        IsDynamic: true
                        RenewalStatus: false
                        DeliveryInformation:
                          Delivery: NO_DELIVERY
                          DeliveryDescription: ""
                          CodesDescription: ""
                          Codes: []
                      PriceOptions: []
                      CrossSell:
                        CampaignCode: CAMPAIGN_CODE
                        ParentCode: MASTER_PRODUCT_CODE
                      Price:
                        UnitNetPrice: 100
                        UnitGrossPrice: 100
                        UnitVAT: 0
                        UnitDiscount: 0
                        UnitNetDiscountedPrice: 100
                        UnitGrossDiscountedPrice: 100
                        UnitAffiliateCommission: 0
                        ItemUnitNetPrice: 0
                        ItemUnitGrossPrice: 0
                        ItemNetPrice: 0
                        ItemGrossPrice: 0
                        VATPercent: 0
                        HandlingFeeNetPrice: 0
                        HandlingFeeGrossPrice: 0
                        Currency: usd
                        NetPrice: 100
                        GrossPrice: 100
                        NetDiscountedPrice: 100
                        GrossDiscountedPrice: 100
                        Discount: 0
                        VAT: 0
                        AffiliateCommission: 0
                      LineItemReference: 1002325206c9e754a019b752b5bf4f103c0f18f1
                      PurchaseType: PRODUCT
                      ExternalReference: ""
                      Quantity: 1
                      Promotion:
                        Name: Regular promotion
                        Code: VXVA13JRPM
                        Description: description
                        StartDate: "2022--11-01"
                        EndDate: "2022-11-30"
                        MaximumOrdersNumber: null
                        MaximumQuantity: null
                        InstantDiscount: false
                        Coupon: ""
                        DiscountLabel: "20 EUR"
                        Enabled: true
                        Type: REGULAR
                        Discount: 20
                        DiscountCurrency: "EUR"
                        DiscountType: "FIXED"
                        Promotions:
                        - Name: Global promotion
                          Code: C03ZALY2S9
                          Description: description
                          StartDate: "2022--11-01"
                          EndDate: "2022-11-30"
                          MaximumOrdersNumber: null
                          MaximumQuantity: null
                          InstantDiscount: false
                          Coupon: ""
                          DiscountLabel: "30"
                          Enabled: true
                          Type: GLOBAL
                          Discount: 30
                          DiscountCurrency: "USD"
                          DiscountType: "PERCENT"
                        - Name: Order promotion
                          Code: SB8ZMIUXZ5
                          Description: description
                          StartDate: "2022--11-01"
                          EndDate: "2022-11-30"
                          MaximumOrdersNumber: null
                          MaximumQuantity: null
                          InstantDiscount: false
                          Coupon: ""
                          DiscountLabel: "45 USD"
                          Enabled: true
                          Type: ORDER
                          Discount: 45
                          DiscountCurrency: "USD"
                          DiscountType: "FIXED"
                    Currency: usd
                    NetPrice: 100
                    GrossPrice: 100
                    NetDiscountedPrice: 100
                    GrossDiscountedPrice: 100
                    Discount: 0
                    VAT: 0
                    AffiliateCommission: 0
                PaymentCC:
                  summary: Place an order using Credit Card
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: true
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        RecurringEnabled: false
                        Vendor3DSReturnURL: www.test.com
                        Vendor3DSCancelURL: www.test.com
                      Type: CC
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                TrialPaymentCC:
                  summary: Place an order using Credit Card
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: true
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                      Trial:
                        Period: 30,
                        GrossPrice: 0
                        VAT: 0
                        NetPrice: 0
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        RecurringEnabled: false
                        Vendor3DSReturnURL: www.test.com
                        Vendor3DSCancelURL: www.test.com
                      Type: CC
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                CrossSell:
                  summary: Place an order with cross sell campaign
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: false
                    RequestDeliveryData: false
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    - Code: my_subscription_2
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      CrossSell:
                        ParentCaode: my_subscription_1
                        CampaignCode: 2Xrl83KElaWBv3G3dtW9eg
                        AutoAdded: true
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        RecurringEnabled: false
                        Vendor3DSReturnURL: www.test.com
                        Vendor3DSCancelURL: www.test.com
                      Type: CC
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                UpSell:
                  summary: Place an order with an upsell campaign
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    - Code: recommended_upsell_product_code
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      UpSell:
                        ParentCode: parent_upsell_product_code
                        CampaignCode: 2Xrl83KElaWBv3G3dtW9eg
                        PriceOptions:
                        - po1
                        - po2
                        Quantity: 2
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        RecurringEnabled: false
                        Vendor3DSReturnURL: www.test.com
                        Vendor3DSCancelURL: www.test.com
                      Type: CC
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentWithInstallments:
                  summary: Place an order using Credit Card with installments
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        FirstDigits: "4111"
                        InstallmentsNumber: "3"
                        LastDigits: "1111"
                        RecurringEnabled: false
                        Vendor3DSReturnURL: www.test.com
                        Vendor3DSCancelURL: www.test.com
                      Type: CC
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentWire:
                  summary: Place an order using Wire Transfer
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Test Address
                      Address2: ""
                      City: LA
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: California
                      TaxOffice: "null,"
                      Zip: "90210"
                    Currency: usd
                    DeliveryDetails:
                      Address1: Test Address
                      Address2: ""
                      City: LA
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: California
                      TaxOffice: "null,"
                      Zip: "90210"
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    GrossDiscountedPrice: 0
                    GrossPrice: 0
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        Amount: 100
                        Currency: usd
                        PaymentReference: "11459568"
                      Type: WIRE
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentPurchase:
                  summary: Place an order using the Purchase Order flow
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Test Address
                      Address2: ""
                      City: New York City
                      Company: ABC Company
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: NY
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: usd
                    DeliveryDetails:
                      Address1: Test Address
                      Address2: ""
                      City: New York City
                      Company: ABC Company
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: NY
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    GrossDiscountedPrice: 0
                    GrossPrice: 0
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: PURCHASE_ORDER
                    OrderNo: 0
                    Origin: API
                    PODetails:
                      Status: AWAITING_UPLOAD
                      AutoApprove: false
                      RequireDocumentUpload": false
                      NetPaymentTerms: "90"
                      CopyPreviousDocuments: false,
                      PdfFormUrl: "https://secure.2checkout.com/order/order_confirmation_pdf.php?e=dXOZXKB4YLcl7Ft"
                      InternalPONumber: 84864848
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        Amount: 100
                        Currency: usd
                        PaymentReference: "11459568"
                      Type: WIRE
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    WSOrder: testvendorOrder.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentWeChat:
                  summary: Place an order using WeChat Pay
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Xian Jing Blvd 77
                      Address2: floor 5
                      City: Shanghai
                      CountryCode: CN
                      Email: hujianbing@336699.cn
                      FirstName: Hu
                      LastName: Jianbing
                      Phone: 010-6552-9988
                      TaxOffice: "null,"
                      Zip: 334321
                    Currency: usd
                    DeliveryDetails:
                      Address1: Xian Jing Blvd 77
                      Address2: floor 5
                      City: Shanghai
                      CountryCode: CN
                      Email: hujianbing@336699.cn
                      FirstName: Hu
                      LastName: Jianbing
                      Phone: 010-6552-9988
                      TaxOffice: "null,"
                      Zip: 334321
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 0
                    GrossPrice: 0
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: cny
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        Authorize:
                          Href: "http://2checkout/we_chat_pay/authorize"
                          Method: GET
                          Params:
                            avng8apitoken: 9df961de0654c753
                        ReturnURL: "https://example.com"
                        CancelURL: "https://example.com"
                        RecurringEnabled: false
                      Type: WE_CHAT_PAY
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentIdeal:
                  summary: Place an order using iDEAL
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Amsterdam street 1
                      Address2: floor 5
                      City: Amsterdam
                      CountryCode: NL
                      Email: shopper@avangate.com
                      FirstName: Edwin
                      LastName: De Jong
                      Phone: "12345"
                      TaxOffice: "null,"
                      Zip: "334321"
                    Currency: eur
                    DeliveryDetails:
                      Address1: Amsterdam street 1
                      Address2: floor 5
                      City: Amsterdam
                      CountryCode: NL
                      Email: shopper@avangate.com
                      FirstName: Edwin
                      LastName: De Jong
                      Phone: "12345"
                      TaxOffice: "null,"
                      Zip: "334321"
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    GrossDiscountedPrice: 0
                    GrossPrice: 0
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: eur
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: eur
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        Authorize:
                          Href: "http://2checkout/ideal/authorize"
                          Method: GET
                          Params:
                            avng8apitoken: 9df961de0654c753
                        ReturnURL: "https://example.com"
                        CancelURL: "https://example.com"
                        BankCode: RABONL2U+RAB
                        RecurringEnabled: false
                      Type: IDEAL
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentTest:
                  summary: Place test order with credit card
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        RecurringEnabled: false
                        Vendor3DSReturnURL: www.test.com
                        Vendor3DSCancelURL: www.test.com
                      Type: TEST
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: true
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentFree:
                  summary: Place an order without requiring any payment information
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Test Address
                      Address2: ""
                      City: New York City
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: NY
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: Test Address
                      Address2: ""
                      City: New York City
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: NY
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 0
                    GrossPrice: 0
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 0
                        GrossPrice: 0
                        NetDiscountedPrice: 0
                        NetPrice: 0
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 0
                        UnitGrossPrice: 0
                        UnitNetDiscountedPrice: 0
                        UnitNetPrice: 0
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        Tangible: false
                        IsDynamic: true
                        RenewalStatus: false
                      Quantity: 0
                    Language: en
                    NetDiscountedPrice: 0
                    NetPrice: 0
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        RecurringEnabled: false
                      Type: FREE
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: AUTHRECEIVED
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentPreviousRef:
                  summary: Place an order using previous order reference
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Test Address
                      Address2: ""
                      City: LA
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: California
                      TaxOffice: "null,"
                      Zip: "90210"
                    Currency: usd
                    DeliveryDetails:
                      Address1: Test Address
                      Address2: ""
                      City: LA
                      CountryCode: US
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: California
                      TaxOffice: "null,"
                      Zip: "90210"
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    GrossDiscountedPrice: 0
                    GrossPrice: 0
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        CardType: visa
                        RecurringEnabled: false
                      Type: CC
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: AUTHRECEIVED
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentUnionPay:
                  summary: Place an order with UnionPay
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Xian Jing Blvd 77
                      Address2: floor 5
                      City: Shanghai
                      CountryCode: CN
                      Email: hujianbing@336699.cn
                      FirstName: Hu
                      LastName: Jianbing
                      Phone: 010-6552-9988
                      TaxOffice: "null,"
                      Zip: 334321
                    Currency: cny
                    DeliveryDetails:
                      Address1: Xian Jing Blvd 77
                      Address2: floor 5
                      City: Shanghai
                      CountryCode: CN
                      Email: hujianbing@336699.cn
                      FirstName: Hu
                      LastName: Jianbing
                      Phone: 010-6552-9988
                      Zip: "334321"
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: cny
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: cny
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        Amount: 0.01
                        Currency: cny
                        Redirect:
                          Url: "https://unionpaysecure.com:443/api/Pay.action"
                          Method: POST
                          Params:
                            acqCode: "29680528"
                            merCode: "5734"
                            version: 1.0.0
                            transTimeout: 1800000
                            signMethod: MD5
                            backEndUrl: "https://na.gcsip.com/wpl/wpl"
                            merAbbr: 2co.com
                            orderAmount: 1
                            frontEndUrl: "https://na.gcsip.com/orb/orb?REF=000000880000118065360000100001"
                            signature: cd646417d3b413d7003f12c9ff4570c9
                            merId: "968052800008800"
                            orderTime: 20200316183712
                            orderCurrency: 156
                            customerIp: 91.220.121.111
                            transType: "01"
                            merReserved: "{orderTimeoutDate=20200316190712}"
                            orderNumber: "200000004302000000000025154223"
                          FullHtml: <!DOCTYPE html><html><body><form action="unionpay.com" method="POST"></form></body></html>
                      Type: UNIONPAY
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentStoredCredit:
                  summary: Place an order with Stored Credit
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: Xian Jing Blvd 77
                      Address2: floor 5
                      City: Shanghai
                      CountryCode: CN
                      Email: hujianbing@336699.cn
                      FirstName: Hu
                      LastName: Jianbing
                      Phone: 010-6552-9988
                      TaxOffice: "null,"
                      Zip: 334321
                    Currency: cny
                    DeliveryDetails:
                      Address1: Xian Jing Blvd 77
                      Address2: floor 5
                      City: Shanghai
                      CountryCode: CN
                      Email: hujianbing@336699.cn
                      FirstName: Hu
                      LastName: Jianbing
                      Phone: 010-6552-9988
                      Zip: "334321"
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: cny
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      Type: STORED_CREDIT
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                Payment2Pay:
                  summary: Place an order with 2pay.js
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        RecurringEnabled: false
                        Vendor3DSReturnURL: www.test.com
                        Vendor3DSCancelURL: www.test.com
                      Type: CC
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentWebmoney:
                  summary: Place an order with Webmoney
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: USD
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        RecurringEnabled: false
                      Type: WEBMONEY
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentAlipay:
                  summary: Place an order with Alipay
                  value:
                    Currency: cny
                    NetPrice: 82.04
                    GrossPrice: 82.04
                    NetDiscountedPrice: 73.84
                    GrossDiscountedPrice: 73.84
                    Discount: 8.2
                    VAT: 0
                    AffiliateCommission: 0
                    RefNo: 129274361
                    OrderNo: 0
                    OrderFlow: REGULAR
                    Status: PENDING
                    ApproveStatus: WAITING
                    VendorApproveStatus: OK
                    MerchantCode: AVLRNG
                    Language: en
                    OrderDate: "2020-07-29 22:51:55"
                    Source: Website
                    Origin: API
                    Affiliate: {}
                    AvangateCommission: 21.12
                    TestOrder: false
                    HasShipping: true
                    BillingDetails:
                      FirstName: Customer First Name
                      LastName: Customer Last Name
                      CountryCode: hk
                      State: Hong Kong
                      City: Hong Kong
                      Address1: Example Street
                      Zip: 999077
                      Email: example@email.com
                    DeliveryDetails:
                      FirstName: Customer First Name
                      LastName: Customer Last Name
                      CountryCode: hk
                      State: Hong Kong
                      City: Hong Kong
                      Address1: Example Street
                      Zip: 999077
                      Email: example@email.com
                    DeliveryInformation:
                      ShippingMethod: {}
                    PaymentDetails:
                      Type: ALIPAY
                      Currency: cny
                      PaymentMethod:
                        Amount: "73.84"
                        Currency: cny
                      Redirect:
                        Url: "https://intlmapi.alipay.com/gateway.do?_input_charset=utf-8&currency=USD&notify_url=https%3A%2F%2Fsecure.2checkout.com%2Falipay%2Fipn.php&out_trade_no=129274361&partner=2088201540985859&refer_url=avangatelearningcenter.com&return_url=https%3A%2F%2F2checkout.com%2Forder%2Fgateway_return.php&rmb_fee=73.84&service=create_forex_trade&subject=2Checkout%E7%92%81%E3%88%A0%E5%B4%9F+%E9%8D%97%E6%9B%9E%E5%BD%BF%3A+%23129274361&trade_information%5Bbusiness_type%5D=4&trade_information%5Bgoods_info%5D=DD996A4DB3%5E1&trade_information%5Btotal_quantity%5D=1&sign=cce75db1f33aeb51b7f0f509ce0c690e&sign_type=MD5"
                        Method: GET
                        _input_charset: utf-8
                        currency: USD
                        notify_url: "https://secure.2checkout.com/alipay/ipn.php"
                        out_trade_no: 129274361
                        partner: 2088201540985859
                        refer_url: avangatelearningcenter.com
                        return_url: "https://2checkout.com/order/gateway_return.php"
                        rmb_fee: "73.84"
                        service: create_forex_trade
                        subject: "2Checkout??? ???: #129274361"
                        business_type: 4
                        goods_info: DD996A4DB3^1
                        total_quantity: 1
                        sign: cce75db1f33aeb51b7f0f509ce0c690e
                        sign_type: MD5
                        FullHtml: |-
                          <!DOCTYPE html>
                          <html lang="EN"><body><script type="text/javascript">window.location.replace("https://intlmapi.alipay.com/gateway.do?_input_charset=utf-8&currency=USD&notify_url=https%3A%2F%2Fsecure.2checkout.com%2Falipay%2Fipn.php&out_trade_no=129274361&partner=2088201540985859&refer_url=avangatelearningcenter.com&return_url=https%3A%2F%2F2checkout.com%2Forder%2Fgateway_return.php&rmb_fee=73.84&service=create_forex_trade&subject=2Checkout%E7%92%81%E3%88%A0%E5%B4%9F+%E9%8D%97%E6%9B%9E%E5%BD%BF%3A+%23129274361&trade_information%5Bbusiness_type%5D=4&trade_information%5Bgoods_info%5D=DD996A4DB3%5E1&trade_information%5Btotal_quantity%5D=1&sign=cce75db1f33aeb51b7f0f509ce0c690e&sign_type=MD5");</script></body></html>
                        CustomerIP: 86.124.23.26
                      CustomerDetails:
                        FirstName: Customer First Name
                        LastName: Customer Last Name
                        CountryCode: us
                        State: California
                        City: San Francisco
                        Address1: Example Street
                        Address2: ""
                        Zip: 90210
                        Email: example@email.com
                        Phone: ""
                        Company: ""
                      CustomerReference: 646428626
                      ExternalCustomerReference: externalCustomerId
                      FiscalCode: ""
                      Fax: ""
                      Enabled: true
                      Trial: false
                    DeliveryFinalized: false
                    Items:
                    - Code: DD996A4DB3
                      ExternalReference: ""
                      LineItemReference: 85092ec43e40267859ed38b901abb42ee687dc8a
                      Quantity: 1
                      Price:
                        Currency: cny
                        NetPrice: 82.04
                        GrossPrice: 82.04
                        NetDiscountedPrice: 73.84
                        GrossDiscountedPrice: 73.84
                        Discount: 8.2
                        VAT: 0
                        AffiliateCommission: 0
                        UnitNetPrice: 82.04
                        UnitGrossPrice: 82.04
                        UnitVAT: 0
                        UnitDiscount: 8.2
                        UnitNetDiscountedPrice: 73.84
                        UnitGrossDiscountedPrice: 73.84
                        UnitAffiliateCommission: 0
                        VATPercent: 0
                        HandlingFeeNetPrice: 0
                        HandlingFeeGrossPrice: 0
                      ProductDetails:
                        Name: Demo
                        ShortDescription: ""
                        Tangible: false
                        IsDynamic: false
                        RenewalStatus: false
                      Delivery: NO_DELIVERY
                      DeliveryDescription: ""
                      CodesDescription: ""
                      Promotion:
                        Name: 10%OFF
                        Code: 5D5F6390CF
                        Description: ""
                        StartDate: "2018-03-01"
                        EndDate: "2025-07-10"
                        InstantDiscount: true
                        Coupon: ""
                        DiscountLabel: 10%
                        Enabled: true
                        Type: REGULAR
                      PurchaseType: PRODUCT
                    FxRate: 0.18458752331152
                    FxMarkup: 3.5
                    PayoutCurrency: CAD
                PaymentGiropay:
                  summary: Place an order with Giropay
                  value:
                    Currency: eur
                    NetPrice: 10
                    GrossPrice: 11.44
                    NetDiscountedPrice: 9
                    GrossDiscountedPrice: 10.44
                    Discount: 1
                    VAT: 1.44
                    AffiliateCommission: 0
                    RefNo: 129155794
                    OrderNo: 0
                    ExternalReference: REST_API_AVANGTEAS01
                    OrderFlow: REGULAR
                    Status: PENDING
                    ApproveStatus: WAITING
                    VendorApproveStatus: OK
                    MerchantCode: AVLRNG
                    Language: en
                    OrderDate: "2020-07-30 03:45:52"
                    Origin: API
                    Affiliate: {}
                    AvangateCommission: 2.65
                    TestOrder: false
                    HasShipping: true
                    BillingDetails:
                      FirstName: John
                      LastName: Doe
                      CountryCode: de
                      State: Berlin
                      City: Berlin
                      Address1: Test street
                      Zip: 10247
                      Email: john.doe@2checkout.com
                      Phone: "0123456789"
                    DeliveryDetails:
                      FirstName: John
                      LastName: Doe
                      CountryCode: de
                      State: Berlin
                      City: Berlin
                      Address1: Test street
                      Zip: 10247
                      Email: john.doe@2checkout.com
                      Phone: "0123456789"
                    DeliveryInformation:
                      ShippingMethod: {}
                    PaymentDetails:
                      Type: GIROPAY
                      Currency: eur
                      PaymentMethod:
                        Amount: "10.44"
                        Currency: eur
                        Redirect:
                          Url: "https://www.skrill.com/app/payment.pl"
                          Method: GET
                          Params:
                            sid: 0cd0dd958a848593db17d88f5fe84b8b
                          FullHtml: '<!DOCTYPE html><html><body><form action="https://www.skrill.com/app/payment.pl" method="GET" id="postform"><input type="hidden" name="sid" value="0cd0dd958a848593db17d88f5fe84b8b" /></form><script type="text/javascript">document.getElementById("postform").submit();</script></body></html>'
                      CustomerIP: 10.5.22.197
                      DeliveryFinalized: false
                      Items:
                      - Code: DD996A4DB3
                        ExternalReference: ""
                        LineItemReference: 49aedbbc112e3c43514158db996c933e4e0e7d72
                        Quantity: 1
                        Price:
                          Currency: eur
                          NetPrice: 10
                          GrossPrice: 11.44
                          NetDiscountedPrice: 9
                          GrossDiscountedPrice: 10.44
                          Discount: 1
                          VAT: 1.44
                          AffiliateCommission: 0
                          UnitNetPrice: 10
                          UnitGrossPrice: 11.44
                          UnitVAT: 1.44
                          UnitDiscount: 1
                          UnitNetDiscountedPrice: 9
                          UnitGrossDiscountedPrice: 10.44
                          UnitAffiliateCommission: 0
                          VATPercent: 16
                          HandlingFeeNetPrice: 0
                          HandlingFeeGrossPrice: 0
                        ProductDetails:
                          Name: Demo
                          ShortDescription: ""
                          Tangible: false
                          IsDynamic: false
                          RenewalStatus: false
                          DeliveryInformation:
                            Delivery: NO_DELIVERY
                            DeliveryDescription: ""
                            CodesDescription: ""
                        Promotion:
                          Name: 10%OFF
                          Code: 5D5F6390CF
                          Description: ""
                          StartDate: "2018-03-01"
                          EndDate: "2025-07-10"
                          InstantDiscount: true
                          Coupon: ""
                          DiscountLabel: 10%
                          Enabled: true
                          Type: REGULAR
                        PurchaseType: PRODUCT
                      FxRate: 1
                      FxMarkup: 0
                      PayoutCurrency: EUR
                PaymentPayPal:
                  summary: Place an order with PayPal
                  value:
                    AdditionalFields: null
                    AffiliateCommission: 0
                    Affiliate:
                      AffiliateCode: null
                      AffiliateSource: null
                      AffiliateName: null
                      AffiliateUrl: null
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      Company: null
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    CustomerDetails: null
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      Company: null
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraDiscount: null
                    ExtraDiscountPercent: null
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    ExtraMargin: null
                    ExtraMarginPercent: null
                    FinishDate: null
                    GiftDetails: null
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - AdditionalFields: null
                      Code: my_subscription_1
                      CrossSell: null
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        ExtraInfo: null
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                        Subscriptions: null
                      Promotion:
                        Name: Regular promotion
                        Code: F07GBYJ2F6
                        Description: description
                        StartDate: "2022--11-01"
                        EndDate: "2022-11-30"
                        MaximumOrdersNumber: null
                        MaximumQuantity: null
                        InstantDiscount: false
                        Coupon: ""
                        DiscountLabel: "30"
                        Enabled: true
                        Type: REGULAR
                        Discount: 30
                        DiscountCurrency: "USD"
                        DiscountType: "PERCENT"
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                      Trial: null
                    Language: en
                    LocalTime: null
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PODetails: null
                    PartnerCode: null
                    PartnerMargin: null
                    PartnerMarginPercent: null
                    PaymentDetails:
                      Type: PAYPAL
                      Currency: USD
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        RedirectUrl: "http://www.success.com"
                        RecuringEnabled: false
                        Vendor3DSReturnURL: null
                        Vendor3DSCancelURL: null
                        InstallmentsNumber: null
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    ShopperRefNo: null
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentPayPalExpress:
                  summary: Place an order with PayPalExpress
                  value:
                    AdditionalFields: null
                    AffiliateCommission: 0
                    Affiliate:
                      AffiliateCode: null
                      AffiliateSource: null
                      AffiliateName: null
                      AffiliateUrl: null
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      Company: null
                      CountryCode: br
                      Email: customer@example.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: brl
                    CustomerDetails: null
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      Company: null
                      CountryCode: br
                      Email: customer@example.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    Errors:
                      ORDER_ERROR: GATEWAY_ACCEPT
                    ExternalReference: REST_API_AVANGTE
                    ExtraDiscount: null
                    ExtraDiscountPercent: null
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    ExtraMargin: null
                    ExtraMarginPercent: null
                    FinishDate: null
                    GiftDetails: null
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - AdditionalFields: null
                      Code: my_subscription_1
                      CrossSell: null
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        ExtraInfo: null
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                        Subscriptions: null
                      Promotion:
                        Name: Regular promotion
                        Code: F07GBYJ2F6
                        Description: description
                        StartDate: "2022--11-01"
                        EndDate: "2022-11-30"
                        MaximumOrdersNumber: null
                        MaximumQuantity: null
                        InstantDiscount: false
                        Coupon: ""
                        DiscountLabel: "30"
                        Enabled: true
                        Type: REGULAR
                        Discount: 30
                        DiscountCurrency: "USD"
                        DiscountType: "PERCENT"
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                      Trial: null
                    Language: en
                    LocalTime: null
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PODetails: null
                    PartnerCode: null
                    PartnerMargin: null
                    PartnerMarginPercent: null
                    PaymentDetails:
                      Type: PAYPAL_EXPRESS
                      Currency: USD
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        RedirectUrl: "http://www.success.com"
                        RecuringEnabled: false
                        Vendor3DSReturnURL: null
                        Vendor3DSCancelURL: null
                        InstallmentsNumber: null
                    Promotions:
                    - Name: global promotion
                      Code: F07GBYJ2F6
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    RefNo: "1234567"
                    ShopperRefNo: null
                    Source: testAPI.com
                    Status: PENDING
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentGooglePay:
                  summary: Place an order with GooglePay
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: USD
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    ExternalReference: REST_API_AVANGTE
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      Type: GOOGLEPAY
                      PaymentMethod:
                        FirstDigits: 123456
                        LastDigits: 7890
                        Type: MASTERCARD
                        ExpirationMonth: 01
                        ExpirationYear: 2030
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: AUTHRECEIVED
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentApplePay:
                  summary: Place an order with ApplePay
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: USD
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    ExternalReference: REST_API_AVANGTE
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      Type: APPLE_PAY
                      PaymentMethod:
                        FirstDigits: 123456
                        LastDigits: 7890
                        Type: MASTERCARD
                        ExpirationMonth: 01
                        ExpirationYear: 2030
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: AUTHRECEIVED
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                PaymentACH:
                  summary: Place an order with eCheck/ACH
                  value:
                    AffiliateCommission: 0
                    Affiliate: {}
                    ApproveStatus: WAITING
                    AvangateCommission: 80.39
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    Currency: USD
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    Discount: 0
                    ExternalReference: REST_API_AVANGTE
                    GrossDiscountedPrice: 384.45
                    GrossPrice: 384.45
                    HasShipping: false
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                    Language: en
                    NetDiscountedPrice: 384.45
                    NetPrice: 384.45
                    OrderDate: "2016-02-08 19:19:53"
                    OrderFlow: REGULAR
                    OrderNo: 0
                    Origin: API
                    PaymentDetails:
                      Currency: usd
                      CustomerIP: 91.220.121.21
                      Type: DIRECT_DEBIT_ACH
                    RefNo: "1234567"
                    Source: testAPI.com
                    Status: AUTHRECEIVED
                    TestOrder: false
                    VAT: 0
                    VendorApproveStatus: OK
                RetryOrder:
                  summary: Retry an order placement with reference number
                  value:
                    RefNo: "241272"
                    OrderNo: 0
                    ExternalReference: REST_API_AVANGTE
                    Status: AUTHRECEIVED
                    ApproveStatus: WAITING
                    VendorApproveStatus: OK
                    MerchantCode: "120655175030"
                    Language: en
                    OrderDate: "2020-03-11 17:33:46"
                    Source: testAPI.com
                    Affiliate: {}
                    HasShipping: true
                    BillingDetails:
                      FirstName: Customer
                      LastName: 2Checkout
                      Email: testcustomer@2Checkout.com
                      Address1: Test Address
                      City: LA
                      Zip: "12345"
                      CountryCode: us
                      State: California
                    DeliveryDetails:
                      FirstName: Customer
                      LastName: 2Checkout
                      Email: testcustomer@2Checkout.com
                      Address1: Test Address
                      City: LA
                      Zip: "12345"
                      CountryCode: us
                      State: California
                    PaymentDetails:
                      Type: CC
                      Currency: usd
                      PaymentMethod:
                        FirstDigits: "4111"
                        LastDigits: "1111"
                        CardType: visa
                        RecurringEnabled: true
                      CustomerIP: 91.220.121.21
                    DeliveryInformation:
                      ShippingMethod: {}
                    Origin: API
                    AvangateCommission: 8.5
                    OrderFlow: REGULAR
                    TestOrder: false
                    FxRate: 1
                    FxMarkup: 0
                    PayoutCurrency: USD
                    DeliveryFinalized: false
                    Items:
                    - ProductDetails:
                        Name: Dynamic product
                        ShortDescription: Test description
                        Tangible: false
                        IsDynamic: true
                        RenewalStatus: false
                        DeliveryInformation:
                          Delivery: NO_DELIVERY
                          DeliveryDescription: ""
                          CodesDescription: ""
                          Codes: []
                      PriceOptions: []
                      CrossSell:
                        CampaignCode: CAMPAIGN_CODE
                        ParentCode: MASTER_PRODUCT_CODE
                      Price:
                        UnitNetPrice: 100
                        UnitGrossPrice: 100
                        UnitVAT: 0
                        UnitDiscount: 0
                        UnitNetDiscountedPrice: 100
                        UnitGrossDiscountedPrice: 100
                        UnitAffiliateCommission: 0
                        ItemUnitNetPrice: 0
                        ItemUnitGrossPrice: 0
                        ItemNetPrice: 0
                        ItemGrossPrice: 0
                        VATPercent: 0
                        HandlingFeeNetPrice: 0
                        HandlingFeeGrossPrice: 0
                        Currency: usd
                        NetPrice: 100
                        GrossPrice: 100
                        NetDiscountedPrice: 100
                        GrossDiscountedPrice: 100
                        Discount: 0
                        VAT: 0
                        AffiliateCommission: 0
                      LineItemReference: 1002325206c9e754a019b752b5bf4f103c0f18f1
                      PurchaseType: PRODUCT
                      ExternalReference: ""
                      Quantity: 1
                    Promotions:
                    - Name: Global promotion
                      Code: F07GBYJ2F6
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    Currency: usd
                    NetPrice: 100
                    GrossPrice: 100
                    NetDiscountedPrice: 100
                    GrossDiscountedPrice: 100
                    Discount: 0
                    VAT: 0
                    AffiliateCommission: 0
        "400":
          description: Error
          content:
            application/json:
              examples:
                response:
                  value:
                    Error:
                      code: ORDER_PRODUCT_PRICE_AMOUNT_INVALID
                      message: The price amount is not valid.
        "500":
          description: Error
          content:
            application/json:
              examples:
                response:
                  value:
                    Error:
                      message: "ORDER_CURRENCY_INVALID: The currency [CIU] is not supported by the vendor"
  /orders/0/:
    put:
      tags:
      - Cart settings
      summary: "Retrieve session for dynamic products"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_1"
            examples:
              request:
                value:
                  CheckRenewableProducts: true
                  BillingDetails:
                    Address1: Test Address
                    City: LA
                    CountryCode: US
                    Email: customer@2Checkout.com
                    FirstName: Customer
                    LastName: 2Checkout
                    State: CA
                    Zip: "12345"
                  Country: us
                  Currency: usd
                  CustomerIP: 91.220.121.21
                  ExternalReference: REST_API_AVANGTE
                  Affiliate: {}
                  ExternalCustomerReference: IOUER
                  CustomerReference: GFDFE
                  Items:
                  - Code: my_subscription_1
                    Quantity: "1"
                  Language: en
                  PaymentDetails:
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      CCID: "123"
                      CardNumber: "4111111111111111"
                      CardNumberTime: "12"
                      CardType: VISA
                      ExpirationMonth: "12"
                      ExpirationYear: "2020"
                      HolderName: John Doe
                      HolderNameTime: "12"
                      RecurringEnabled: true
                    Type: TEST
                  Source: testAPI.com
              WithCrossSellCampaign:
                value:
                  Currency: USD
                  Language: EN
                  Country: US
                  CustomerIP: 91.220.121.21
                  Source: sourceAPI.net
                  LocalTime: "2020-03-30 12:27:33"
                  CustomerReference: ""
                  CheckRenewableProducts: true
                  Items:
                  - Code: PAV2019
                    Quantity: 1
                  - Code: PAV2020
                    Quantity: 1
                    CrossSell:
                      ParentCode: PAV2019
                      CampaignCode: 2Xrl83KEs6KB1XG3db%2B9dQ%3D%3D
                      AutoAdded: false
                  BillingDetails:
                    Address1: BigOak Lane 33
                    Address2: ""
                    City: Phoenix
                    State: Arizona
                    CountryCode: US
                    Phone: "12345"
                    Email: shopper@avangate.com
                    FirstName: Willie
                    LastName: Kane
                    Zip: "12345"
                  DeliveryDetails:
                    Address1: BigOak Lane 33
                    Address2: ""
                    City: Phoenix
                    State: Arizona
                    CountryCode: US
                    Phone: "12345"
                    Email: shopper@avangate.com
                    FirstName: Willie
                    LastName: Kane
                    Zip: 12345
                  PaymentDetails:
                    Type: CC
                    Currency: USD
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      Vendor3DSReturnURL: "https://example.com"
                      Vendor3DSCancelURL: "https://example.com"
                      CardNumber: "4111111111111111"
                      CardType: VISA
                      ExpirationYear: "2021"
                      ExpirationMonth: "12"
                      CCID: "123"
                      HolderName: Willie Kane
                      RecurringEnabled: true
                      HolderNameTime: 1
                      CardNumberTime: 1
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    AffiliateCommission: 0
                    Currency: usd
                    Discount: 0
                    GrossDiscountedPrice: 99
                    GrossPrice: 99
                    ContainsRenewableProducts: true
                    RequestDeliveryData: true
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: usd
                        Discount: 0
                        GrossDiscountedPrice: 99
                        GrossPrice: 99
                        NetDiscountedPrice: 99
                        NetPrice: 99
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 99
                        UnitGrossPrice: 99
                        UnitNetDiscountedPrice: 99
                        UnitNetPrice: 99
                        UnitVAT: 0
                        VAT: 0
                      CrossSell:
                        ParentCode: MASTER_PRODUCT_CODE
                        CampaignCode: CROSS_SELL_CAMPAIGN_CODE
                      PriceOptions:
                      - Code: SUPPORT
                        Options:
                        - emailsupport
                        Required: false
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription 1
                        RenewalStatus: false
                      Quantity: 1
                      SKU: NewSubscriptionPurchase
                      Promotion:
                        Name: Regular promotion
                        Code: VXVA13JRPM
                        Description: description
                        StartDate: "2022--11-01"
                        EndDate: "2022-11-30"
                        MaximumOrdersNumber: null
                        MaximumQuantity: null
                        InstantDiscount: false
                        Coupon: ""
                        DiscountLabel: "20 EUR"
                        Enabled: true
                        Type: REGULAR
                        Discount: 20
                        DiscountCurrency: "EUR"
                        DiscountType: "FIXED"
                    NetDiscountedPrice: 99
                    NetPrice: 99
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    - Name: Order promotion
                      Code: SB8ZMIUXZ5
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "45 USD"
                      Enabled: true
                      Type: ORDER
                      Discount: 45
                      DiscountCurrency: "USD"
                      DiscountType: "FIXED"
                    VAT: 0
                    Affiliate: {}
                WithCrossSellCampaign:
                  value:
                    Errors: null
                    Items:
                    - ProductDetails:
                        Name: Pipera AntiVirus 2019
                        ShortDescription: ""
                        Tangible: false
                        IsDynamic: false
                        ExtraInfo: null
                        RenewalStatus: false
                        Subscriptions: null
                        DeliveryInformation:
                          Delivery: NO_DELIVERY
                          DownloadFile: null
                          DeliveryDescription: ""
                          CodesDescription: ""
                          Codes: []
                      PriceOptions: []
                      Price:
                        UnitNetPrice: 42.51
                        UnitGrossPrice: 45
                        UnitVAT: 2.49
                        UnitDiscount: 0
                        UnitNetDiscountedPrice: 42.51
                        UnitGrossDiscountedPrice: 45
                        UnitAffiliateCommission: 0
                        ItemUnitNetPrice: null
                        ItemUnitGrossPrice: null
                        ItemNetPrice: null
                        ItemGrossPrice: null
                        VATPercent: 5.85
                        HandlingFeeNetPrice: 0
                        HandlingFeeGrossPrice: 0
                        Currency: usd
                        NetPrice: 42.51
                        GrossPrice: 45
                        NetDiscountedPrice: 42.51
                        GrossDiscountedPrice: 45
                        Discount: 0
                        VAT: 2.49
                        AffiliateCommission: 0
                      LineItemReference: 7fe4770c0c95d44dec5c02ee1bc752b568b47808
                      PurchaseType: PRODUCT
                      Code: PAV2019
                      ExternalReference: PAV2019QWE
                      Quantity: 1
                      SKU: null
                      CrossSell: null
                      Trial: null
                      AdditionalFields: null
                      Promotion: null
                      RecurringOptions: null
                      SubscriptionStartDate: null
                      SubscriptionCustomSettings: null
                    - ProductDetails:
                        Name: Pipera Antivirus 2020
                        ShortDescription: ""
                        Tangible: false
                        IsDynamic: false
                        ExtraInfo: null
                        RenewalStatus: false
                        Subscriptions: null
                        DeliveryInformation:
                          Delivery: NO_DELIVERY
                          DownloadFile: null
                          DeliveryDescription: ""
                          CodesDescription: ""
                          Codes: []
                      PriceOptions: []
                      Price:
                        UnitNetPrice: 35
                        UnitGrossPrice: 36.99
                        UnitVAT: 1.99
                        UnitDiscount: 1.05
                        UnitNetDiscountedPrice: 33.95
                        UnitGrossDiscountedPrice: 35.94
                        UnitAffiliateCommission: 0
                        ItemUnitNetPrice: null
                        ItemUnitGrossPrice: null
                        ItemNetPrice: null
                        ItemGrossPrice: null
                        VATPercent: 5.85
                        HandlingFeeNetPrice: 0
                        HandlingFeeGrossPrice: 0
                        Currency: usd
                        NetPrice: 35
                        GrossPrice: 36.99
                        NetDiscountedPrice: 33.95
                        GrossDiscountedPrice: 35.94
                        Discount: 1.05
                        VAT: 1.99
                        AffiliateCommission: 0
                      LineItemReference: 7fe4770c0c95d44dec5c02ee1bc752b568b47808
                      PurchaseType: PRODUCT
                      Code: PAV2020
                      ExternalReference: ""
                      Quantity: 1
                      SKU: null
                      CrossSell:
                        ParentCode: PAV2019
                        CampaignCode: 2Xrl83KEs6KB1XG3db+9dQ==
                        AutoAdded: false
                      Trial: null
                      AdditionalFields: null
                      Promotion: null
                      RecurringOptions: null
                      SubscriptionStartDate: null
                      SubscriptionCustomSettings: null
                    Promotions:
                    - Name: Global promotion
                      Code: C03ZALY2S9
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "30"
                      Enabled: true
                      Type: GLOBAL
                      Discount: 30
                      DiscountCurrency: "USD"
                      DiscountType: "PERCENT"
                    - Name: Order promotion
                      Code: SB8ZMIUXZ5
                      Description: description
                      StartDate: "2022--11-01"
                      EndDate: "2022-11-30"
                      MaximumOrdersNumber: null
                      MaximumQuantity: null
                      InstantDiscount: false
                      Coupon: ""
                      DiscountLabel: "45 USD"
                      Enabled: true
                      Type: ORDER
                      Discount: 45
                      DiscountCurrency: "USD"
                      DiscountType: "FIXED"
                    AdditionalFields: null
                    BillingDetails:
                      FiscalCode: null
                      TaxOffice: null
                      Phone: "12345"
                      FirstName: Willie
                      LastName: Kane
                      Company: null
                      Email: shopper@avangate.com
                      Address1: BigOak Lane 33
                      Address2: null
                      City: Phoenix
                      Zip: "12345"
                      CountryCode: us
                      State: Arizona
                    DeliveryDetails:
                      Phone: "12345"
                      FirstName: Willie
                      LastName: Kane
                      Company: null
                      Email: shopper@avangate.com
                      Address1: BigOak Lane 33
                      Address2: null
                      City: Phoenix
                      Zip: "12345"
                      CountryCode: us
                      State: Arizona
                    DeliveryInformation:
                      ShippingMethod:
                        Code: null
                        TrackingUrl: null
                        TrackingNumber: null
                        Comment: null
                    CustomParameters: null
                    Affiliate:
                      AffiliateCode: null
                      AffiliateSource: null
                      AffiliateName: null
                      AffiliateUrl: null
                    Currency: usd
                    NetPrice: 77.51
                    GrossPrice: 81.99
                    NetDiscountedPrice: 76.46
                    GrossDiscountedPrice: 80.94
                    Discount: 1.05
                    VAT: 4.48
                    AffiliateCommission: 0
                    ContainsRenewableProducts: null
                    RequestDeliveryData: true
  /orders/0/installments/:
    get:
      tags:
      - Payment methods
      summary: Retrieve installment settings used to place orders with installments
      description: |-
        Retrieve information about the number of installments available for a specific selection of products or services.


        Once the installment information is retrieved, it can be used in the POST call on the order resource to place an order with a installments
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - schema:
          type: number
        in: query
        name: Amount
        description: Amount
        required: true
      - schema:
          type: string
        in: query
        name: Country
        description: 2 letters country code
        required: true
      - schema:
          type: string
        in: query
        name: Currency
        description: 3 letters currency code
        required: true
      - schema:
          type: string
        in: query
        name: FiscalCode
        description: Fiscal code. Required for Brasil or if CardBin or EesToken is not provided
      - schema:
          type: string
        in: query
        name: CardBin
        description: Card number. Required if Fiscal code or EesToken is not provided
      - schema:
          type: string
        in: query
        name: EesToken
        description: Ees token.  Required if Fiscal code or CardBin is not provided
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    "0":
                      Amount: "384.45"
                      Currency: BRL
                      Number: "1"
                    "1":
                      Amount: "192.23"
                      Currency: BRL
                      Number: "2"
                    "2":
                      Amount: "128.15"
                      Currency: BRL
                      Number: "3"
                    "3":
                      Amount: "96.11"
                      Currency: BRL
                      Number: "4"
                    "4":
                      Amount: "76.89"
                      Currency: BRL
                      Number: "5"
                    "5":
                      Amount: "64.08"
                      Currency: BRL
                      Number: "6"
        "500":
          description: ERROR
          content:
            application/json:
              examples:
                response:
                  value:
                    Error:
                      Code: INSTALLMENTS_UNKNOWN
                      Message: An unknown error has occurred while retrieving installments options.
  /tokens/:
    post:
      tags:
      - Payment methods
      summary: Create an EES token for placing orders using 2pay.js
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateEesToken"
      responses:
        "200":
          description: Create token response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateEesTokenResponse"
  /orders/0/sale/:
    get:
      tags:
      - Order
      summary: Get order reference by sale id
      parameters:
      - in: query
        name: SaleId
        description: Unique code that identifies a sale
        required: true
        schema:
          type: integer
      responses:
        "200":
          description: Get order reference by sale id
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderReference"
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderReferenceSaleBadRequest"
  /orders/0/invoice/:
    get:
      tags:
      - Order
      summary: Get order reference by invoice id
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: InvoiceId
        in: query
        description: Unique code that identifies an invoice
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: Get order reference by invoice id
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderReference"
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderReferenceInvoiceBadRequest"
  /orders/0/price/:
    put:
      tags:
      - Cart settings
      summary: Retrieve price information using a multitude of filters
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GetPrice"
            example:
              BillingDetails:
                Address1: Test Address
                City: Beijing
                CountryCode: CN
                Email: customer@2Checkout.com
                FirstName: Customer
                FiscalCode: 056.027.963-98
                LastName: 2Checkout
                Phone: "556133127400"
                State: DF
                Zip: 70403-900
              Currency: EUR
              Item:
                Code: some product
                Quantity: "1"
      responses:
        "201":
          description: Successful request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetPriceResponse"
              examples:
                response:
                  value:
                    Currency: eur
                    UnitNetPrice: 15
                    UnitGrossPrice: 15
                    UnitVAT: 0
                    UnitDiscount: 0
                    UnitNetDiscountedPrice: 0
                    UnitGrossDiscountedPrice: 0
                    UnitAffiliateCommission: 0
                    VATPercent: 0
                    HandlingFeeNetPrice: 0
                    HandlingFeeGrossPrice: 0
                    NetPrice: 15
                    GrossPrice: 15
                    NetDiscountedPrice: 15
                    GrossDiscountedPrice: 15
                    Discount: 0
                    VAT: 0
                    AffiliateCommission: 0
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetPriceError"
  "/orders/{OrderReference}/":
    get:
      tags:
      - Order
      summary: Retrieve an order by reference
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: OrderReference
        in: path
        description: Reference number for approved/paid orders.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "12345678"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                Order with dynamic products:
                  value:
                    RefNo: "1234567"
                    OrderNo: 0
                    ExternalReference: REST_API_AVANGTE
                    ShopperRefNo: null
                    Status: PENDING
                    ApproveStatus: WAITING
                    VendorApproveStatus: OK
                    MerchantCode: MEARCHNT_CODE
                    Language: en
                    OrderDate: "2016-02-08 19:19:53"
                    FinishDate: null
                    Source: testAPI.com
                    WSOrder: null
                    Affiliate:
                      AffiliateCode: null
                      AffiliateSource: null
                      AffiliateName: null
                      AffiliateUrl: null
                    HasShipping: false
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        FirstDigits: "4111"
                        InstallmentsNumber: 2
                        LastDigits: "1111"
                        RecurringEnabled: false
                      Type: CC
                    DeliveryInformation:
                      ShippingMethod:
                        Code: null
                        TrackingUrl: null
                        TrackingNumber: null
                        Comment: null
                    CustomerDetails: null,
                    Origin: API
                    AvangateCommission: 80.39
                    OrderFlow: REGULAR
                    GiftDetails: null
                    PODetails: null
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    PartnerCode: null
                    PartnerMargin: null
                    ExtraMargin: null
                    ExtraMarginPercent: null
                    ExtraDiscount: null
                    ExtraDiscountPercent: null
                    LocalTime: null
                    TestOrder: false
                    FxRate: 1
                    PayoutCurrency: USD
                    DeliveryFinalized: false
                    Errors: null
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                        IsDynamic: true
                      Quantity: 1
                      Trial:
                        Perion: 30
                        GrossPrice: 5
                        VAT: 0
                        NetPrice: 5
                      SKU: NewSubscriptionPurchase
                      Promotion:
                        Name: Regular promotion
                        Code: VXVA13JRPM
                        Description: description
                        StartDate: "2022--11-01"
                        EndDate: "2022-11-30"
                        MaximumOrdersNumber: null
                        MaximumQuantity: null
                        InstantDiscount: false
                        Coupon: ""
                        DiscountLabel: "20 EUR"
                        Enabled: true
                        Type: REGULAR
                        Discount: 20
                        DiscountCurrency: "EUR"
                        DiscountType: "FIXED"
                    Promotions: []
                    AdditionalFields: null
                    Currency: brl
                    NetPrice: 384.45
                    GrossPrice: 384.45
                    NetDiscountedPrice: 384.45
                    GrossDiscountedPrice: 384.45
                    Discount: 0
                    VAT: 0
                    AffiliateCommission: 0
                    CustomParameters: null
                    Refunds:
                    - "RequestStatus": "APPROVED"
                      "RequestDate": "2022-07-18 20:09:37"
                      "RequestApprovedDate": "2022-07-18 20:09:37"
                      "RequestAmount": 99
                      "RequestReason": ""
                      "Type": "PARTIAL"
                    - "RequestStatus": "APPROVED"
                      "RequestDate": "2022-07-18 20:09:37"
                      "RequestApprovedDate": "2022-07-18 20:09:37"
                      "RequestAmount": 9
                      "RequestReason": ""
                      "Type": "PARTIAL"
                    ContainsRenewableProducts: null
                    RequestDeliveryData: false
                Order with catalog products:
                  value:
                    RefNo: "1234567"
                    OrderNo: 0
                    ExternalReference: REST_API_AVANGTE
                    ShopperRefNo: null
                    Status: PENDING
                    ApproveStatus: WAITING
                    VendorApproveStatus: OK
                    MerchantCode: MEARCHANT_CODE
                    Language: en
                    OrderDate: "2016-02-08 19:19:53"
                    FinishDate: null
                    Source: testAPI.com
                    WSOrder: null
                    Affiliate:
                      AffiliateCode: null
                      AffiliateSource: null
                      AffiliateName: null
                      AffiliateUrl: null
                    HasShipping: false
                    BillingDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      FiscalCode: 056.027.963-98
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      TaxOffice: "null,"
                      Zip: 70403-900
                    DeliveryDetails:
                      Address1: ""
                      Address2: ""
                      City: LA
                      CountryCode: br
                      Email: customer@2Checkout.com
                      FirstName: Customer
                      LastName: 2Checkout
                      Phone: "556133127400"
                      State: Distrito Federal
                      Zip: 70403-900
                    PaymentDetails:
                      Currency: brl
                      CustomerIP: 91.220.121.21
                      PaymentMethod:
                        CardType: Visa
                        ExpirationMonth: "12"
                        ExpirationYear: "29"
                        FirstDigits: "4111"
                        InstallmentsNumber: 2
                        LastDigits: "1111"
                        RecurringEnabled: false
                      Type: CC
                    DeliveryInformation:
                      ShippingMethod:
                        Code: null
                        TrackingUrl: null
                        TrackingNumber: null
                        Comment: null
                    CustomerDetails: null,
                    Origin: API
                    AvangateCommission: 80.39
                    OrderFlow: REGULAR
                    GiftDetails: null
                    PODetails:
                      Status: AWAITING_UPLOAD
                      AutoApprove: false
                      RequireDocumentUpload": false
                      NetPaymentTerms: "90"
                      CopyPreviousDocuments: false,
                      PdfFormUrl: "https://secure.2checkout.com/order/order_confirmation_pdf.php?e=dXOZXKB4YLcl7Ft"
                      InternalPONumber: 84864848
                    ExtraInformation:
                      RetryFailedPaymentLink: "https://store.avancart.com/order/finish.php?id=2Xrl83GEleyOsn3tfdXcZXKBy4sdasdas"
                    PartnerCode: null
                    PartnerMargin: null
                    ExtraMargin: null
                    ExtraMarginPercent: null
                    ExtraDiscount: null
                    ExtraDiscountPercent: null
                    LocalTime: null
                    TestOrder: false
                    FxRate: 1
                    PayoutCurrency: USD
                    DeliveryFinalized: false
                    Errors: null
                    Items:
                    - Code: my_subscription_1
                      Price:
                        AffiliateCommission: 0
                        Currency: brl
                        Discount: 0
                        GrossDiscountedPrice: 384.45
                        GrossPrice: 384.45
                        NetDiscountedPrice: 384.45
                        NetPrice: 384.45
                        UnitAffiliateCommission: 0
                        UnitDiscount: 0
                        UnitGrossDiscountedPrice: 384.45
                        UnitGrossPrice: 384.45
                        UnitNetDiscountedPrice: 384.45
                        UnitNetPrice: 384.45
                        UnitVAT: 0
                        VAT: 0
                      PriceOptions:
                      - Code: USERS
                        Options:
                        - oneuser1
                        Required: false
                      ProductDetails:
                        Name: 2Checkout Subscription
                        RenewalStatus: false
                        IsDynamic: false
                      Quantity: 1
                      Trial:
                        Perion: 30
                        GrossPrice: 5
                        VAT: 0
                        NetPrice: 5
                      SKU: NewSubscriptionPurchase
                      Promotion:
                        Name: Regular promotion
                        Code: VXVA13JRPM
                        Description: description
                        StartDate: "2022--11-01"
                        EndDate: "2022-11-30"
                        MaximumOrdersNumber: null
                        MaximumQuantity: null
                        InstantDiscount: false
                        Coupon: ""
                        DiscountLabel: "20 EUR"
                        Enabled: true
                        Type: REGULAR
                        Discount: 20
                        DiscountCurrency: "EUR"
                        DiscountType: "FIXED"
                    Promotions: []
                    AdditionalFields: null
                    Currency: brl
                    NetPrice: 384.45
                    GrossPrice: 384.45
                    NetDiscountedPrice: 384.45
                    GrossDiscountedPrice: 384.45
                    Discount: 0
                    VAT: 0
                    AffiliateCommission: 0
                    CustomParameters: null
                    Refunds:
                    - "RequestStatus": "APPROVED"
                      "RequestDate": "2022-07-18 20:09:37"
                      "RequestApprovedDate": "2022-07-18 20:09:37"
                      "RequestAmount": 99
                      "RequestReason": ""
                      "Type": "PARTIAL"
                    - "RequestStatus": "APPROVED"
                      "RequestDate": "2022-07-18 20:09:37"
                      "RequestApprovedDate": "2022-07-18 20:09:37"
                      "RequestAmount": 9
                      "RequestReason": ""
                      "Type": "PARTIAL"
                    ContainsRenewableProducts: null
                    RequestDeliveryData: false
    delete:
      tags:
      - Order
      summary: Cancel a purchase order
      description: Cancel order with purchase order type
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: OrderReference
        in: path
        description: Reference number for purchase order type orders.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "12345678"
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: '"true"'
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: PRODUCT_CODE
                message: Invalid product code 123456
        "404":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_404"
              example:
                error_code: INVALID_REFERENCE
                message: The reference number does not match any existing order
  "/orders/{OrderReference}/upload":
    post:
      tags:
      - Order
      summary: Order form upload
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: OrderReference
        in: path
        description: "Unique, system-generated order identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "734881310"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ordersUpload"
      responses:
        "200":
          description: OK
          content:
            application/json:
              example: '"true"'
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: ORDER_FORM_TYPE_ERROR
                message: Unsupported file type
  "/orders/{RefNo}/refund/":
    post:
      tags:
      - Refunds
      summary: "Issue a partial refund"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: RefNo
        in: path
        description: "Unique, system-generated order identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "734881310"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_3"
      responses:
        "200":
          description: OK
    delete:
      tags:
      - Refunds
      summary: "Working example: Cancel a refund request"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: RefNo
        in: path
        description: "Unique, system-generated order identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "734881310"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CancelRefundReference200"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CancelRefundReference400"
  /payments/startapplepaysession/:
    post:
      tags:
      - Payment methods
      summary: Initiate an ApplePay session
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_24"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/applePaySession200"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/applePaySession400"
  /payments/decryptApplePayData/:
    post:
      tags:
      - Payment methods
      summary: Decrypt the ApplePay data
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_25"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/decryptApplePayData200"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/decryptApplePayData400"
  /paymentmethods/IDEAL/issuerbanks/:
    get:
      tags:
      - Payment methods
      summary: Retrieve the list of banks that support iDEAL
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Code: ABNANL2A+ABN
                    Name: ABN AMRO
                  - Code: RABONL2U+RAB
                    Name: Rabobank
                  - Code: INGBNL2A+ING
                    Name: ING
                  - Code: SNSBNL2A+SNS
                    Name: SNS Bank
                  - Code: ASNBNL21+ASN
                    Name: ASN BANK
                  - Code: KNABNL2H+KNA
                    Name: Knab
                  - Code: RBRBNL21+REG
                    Name: SNS Regio Bank
                  - Code: TRIONL2U+TRI
                    Name: Triodos bank
                  - Code: FVLBNL22+VAN
                    Name: Van Lanschot
                  - Code: BUNQNL2A+BUN
                    Name: Bunq
  /paymentmethods/PAYPAL_EXPRESS/redirecturl/:
    put:
      tags:
      - Payment methods
      summary: Retrieve PayPal Express redirect URL
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_4"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "http://api.2checkout.com/6.0/scripts/paypalexpress/request?avng8apitoken=a211b606e9a62202"
  "/paymentmethods/PREVIOUS_ORDER/refno/{OrderReference}/":
    get:
      tags:
      - Payment methods
      summary: Validate previous order as payment reference
      description: |-
        2Checkout supports 1-click purchases for returning customers who paid for their previous orders with credit card, Paypal or iDeal.

        Once a order reference has been validated, it can be used in the POST call on an order to place an order with a previous order reference.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: OrderReference
        in: path
        description: Reference number for approved/paid orders.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "1234567"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
  "/invoices/{OrderReference}/":
    get:
      tags:
      - Invoices
      summary: Retrieve invoices for specific orders.
      description: The output contains the binary code for invoices in the PDF file format, Base64 encoded (Base64 is used to represent binary data in the ASCII string format).
      parameters:
      - name: OrderReference
        in: path
        description: Reference number for approved/paid orders.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "1234567"
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_4"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: FORBIDDEN
                message: Invalid reference number
              - error_code: INVOICE_ERROR
                message: This Order reference does not have an invoice
  "/invoices/{OrderReference}/{Type}/{Count}/":
    get:
      tags:
      - Invoices
      summary: Retrieve invoices for specific refunds.
      description: The output contains the binary code for invoices in the PDF file format, Base64 encoded (Base64 is used to represent binary data in the ASCII string format).
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: OrderReference
        in: path
        description: Reference number for approved/paid orders.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: "1234567"
      - name: Type
        in: path
        description: "One of the following: sale or refunds."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: refunds
      - name: Count
        in: path
        description: Choose a specific item out of multiple invoices.
        required: true
        style: simple
        explode: false
        schema:
          type: number
        example: "0"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_4"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: FORBIDDEN
                message: Invalid reference number
              - error_code: INVOICE_ERROR
                message: This Order reference does not have a refund invoice
  /orders/0/shipping/:
    put:
      tags:
      - Shipping fees
      summary: "Retrieve shipping price"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body_2"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                  - Code: 8A3AA7B463
                    Currency: USD
                    Name: US_Shipping_Method
                    PriceDetails:
                      Gross:
                        BasePrice: 4
                        CountrySurcharge: 2
                        OrderSurcharge: 0
                        OverweightAmount: 320
                        TotalAmount: 336
                        WeightSurcharge: 10
                      Net:
                        BasePrice: 4
                        CountrySurcharge: 2
                        OrderSurcharge: 0
                        OverweightAmount: 320
                        TotalAmount: 336
                        WeightSurcharge: 10
                    TrackingUrl: ""
        "500":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value:
                    Error:
                      code: PARAMETERS_INVALID
                      message: The country code BU does not have a currency that is in your account's transactional currencies.
  /proposals/:
    get:
      tags:
      - Proposal
      summary: Search proposals
      description: Search proposals
      operationId: search-proposals
      parameters:
      - name: Name
        in: query
        description: Proposal name
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Email
        in: query
        description: The bill to or sell to email
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: UpdatedAfter
        in: query
        description: The UTC date and time in ISO 8601 format
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: UpdatedBefore
        in: query
        description: The UTC date and time in ISO 8601 format
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: UpdatedBy
        in: query
        description: The unique external system user identifier
        required: false
        style: form
        explode: true
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: CreatedBy
        in: query
        description: The unique external system user identifier
        required: false
        style: form
        explode: true
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: Source
        in: query
        description: The source from where the proposal was created
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: CreatedAfter
        in: query
        description: The UTC date and time in ISO 8601 format
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: CreatedBefore
        in: query
        description: The UTC date and time in ISO 8601 format
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Locked
        in: query
        description: Retrieve proposals that are locked or not
        required: false
        style: form
        explode: true
        schema:
          type: boolean
      - name: Page
        in: query
        description: The page at which the proposals should be returned
        required: true
        style: form
        explode: true
        schema:
          maximum: 9999
          minimum: 1
          maxLength: 9999
          minLength: 1
          type: integer
          default: 1
      - name: Limit
        in: query
        description: The maximum number of proposals to return
        required: true
        style: form
        explode: true
        schema:
          maximum: 100
          minimum: 1
          maxLength: 9999
          minLength: 0
          type: integer
          default: 10
      - name: LinkId
        in: query
        description: The link id for any status
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_10"
              examples:
                Search proposals response with aquisition type example:
                  value:
                    Proposals:
                    - ProposalId: 2c0a8b3a-54fe-4ff9-ac19-a48e49d90298
                      Name: testName
                      SentBy:
                        FirstName: Marcus
                        LastName: Aurelius
                        Email: marcus.aurelius@sharklasers.io
                      ExpirationDate: "2022-05-20T17:21:42+00:00"
                      Version: 3
                      CreatedDate: "2020-06-26T11:35:04+00:00"
                      UpdatedDate: "2020-06-26T11:35:13+00:00"
                      CreatedBy: john.doe@customer.com
                      UpdatedBy: ""
                      Locked: false
                      Source: MERCHANT_API
                      Type: acquisition
                      Status: accepted
                      StatusComment: ""
                      Content:
                        Language: ro
                        Currency: ron
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54
                          DiscountedPrice: 50.6
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                          NextContractRenewalPeriod: 0
                          ProrationDate: "2020-01-04T12:32:22Z"
                          MerchantDealAutoRenewal: false
                          ClientDealAutoRenewal: false
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                      SellTo:
                        Company: Randcomp
                        VatCode: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                        TaxExemptionId: ""
                      Tac:
                        Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                        AcceptedDate: "2020-06-26T11:35:13+00:00"
                      Links:
                      - LinkId: d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7"
                        Status: sent
                      - LinkId: 971be349-31f6-4177-ad7f-c78e61ec7702
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/971be349-31f6-4177-ad7f-c78e61ec7702"
                        Status: accepted
                    - ProposalId: 4b66ca42-5944-45df-8ec6-b1ca9228df0e
                      Name: Renewal of antivirus
                      Version: 1
                      CreatedDate: "2020-06-26T11:28:04+00:00"
                      UpdatedDate: "2020-06-26T11:28:04+00:00"
                      CreatedBy: john.doe@customer.com
                      Locked: false
                      Source: salesforce_cpq
                      Type: acquisition
                      Status: opened
                      Content:
                        Language: ro
                        Currency: ron
                        Terms: 1
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54.2
                          DiscountedPrice: 50
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                          NextContractRenewalPeriod: 0
                          ProrationDate: "2020-01-04T12:32:22Z"
                          MerchantDealAutoRenewal: false
                          ClientDealAutoRenewal: false
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: John
                        LastName: Doe
                      SellTo:
                        Company: Randcomp
                        VatCode: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: John
                        LastName: Doe
                        TaxExemptionId: ""
                      Tac:
                        Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                      Links: []
                    - ProposalId: 5eec0d50-4a86-423e-b793-0fba49737a0e
                      Name: testName
                      SentBy:
                        FirstName: Marcus
                        LastName: Aurelius
                        Email: marcus.aurelius@sharklasers.io
                      ExpirationDate: "2022-05-20T17:21:42+00:00"
                      Version: 2
                      CreatedDate: "2020-06-26T11:28:28+00:00"
                      UpdatedDate: "2020-06-26T11:32:36+00:00"
                      CreatedBy: john.doe@customer.com
                      UpdatedBy: Jonathan2
                      Locked: false
                      Source: MERCHANT_API
                      Type: acquisition
                      Status: sent
                      StatusComment: ""
                      Content:
                        Language: ro
                        Currency: ron
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54
                          DiscountedPrice: 50.6
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                          NextContractRenewalPeriod: 0
                          MerchantDealAutoRenewal: false
                          ClientDealAutoRenewal: false
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                      SellTo:
                        Company: Randcomp
                        VatCode: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                        TaxExemptionId: ""
                      Tac:
                        Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                      Links:
                      - LinkId: b0dfea4c-ff0f-4a35-be9e-36eed4142218
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/b0dfea4c-ff0f-4a35-be9e-36eed4142218"
                        Status: sent
                    Page: 1
                    Limit: 100
                    ProposalsCount: 3
                    PagesCount: 1
                Search proposals response with ProrationDate in example:
                  value:
                    Proposals:
                    - ProposalId: 2c0a8b3a-54fe-4ff9-ac19-a48e49d90298
                      Name: testName
                      SentBy:
                        FirstName: Marcus
                        LastName: Aurelius
                        Email: marcus.aurelius@sharklasers.io
                      ExpirationDate: "2022-05-20T17:21:42+00:00"
                      Version: 3
                      CreatedDate: "2020-06-26T11:35:04+00:00"
                      UpdatedDate: "2020-06-26T11:35:13+00:00"
                      CreatedBy: john.doe@customer.com
                      UpdatedBy: ""
                      Locked: false
                      Source: MERCHANT_API
                      Type: amendment
                      Status: accepted
                      StatusComment: ""
                      Content:
                        Language: ro
                        Currency: ron
                        Terms: 30
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54
                          DiscountedPrice: 50.6
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                          NextContractRenewalPeriod: 0
                          ProrationDate: "2020-06-26T11:35:04+00:00"
                          SubscriptionReference: "1234567890"
                          MerchantDealAutoRenewal: false
                          ClientDealAutoRenewal: false
                          AmendmentScenario: prolong
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                      SellTo:
                        Company: Randcomp
                        TaxExemptionId: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                        VatCode: ""
                      Tac:
                        Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                        AcceptedDate: "2020-06-26T11:35:13+00:00"
                      Links:
                      - LinkId: d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7"
                        Status: sent
                      - LinkId: 971be349-31f6-4177-ad7f-c78e61ec7702
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/971be349-31f6-4177-ad7f-c78e61ec7702"
                        Status: accepted
                    - ProposalId: 4b66ca42-5944-45df-8ec6-b1ca9228df0e
                      Name: Renewal of antivirus
                      Version: 1
                      CreatedDate: "2020-06-26T11:28:04+00:00"
                      UpdatedDate: "2020-06-26T11:28:04+00:00"
                      CreatedBy: john.doe@customer.com
                      Locked: false
                      Source: salesforce_cpq
                      Type: amendment
                      Status: opened
                      Content:
                        Language: ro
                        Currency: ron
                        Terms: 30
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54.2
                          DiscountedPrice: 50
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                          NextContractRenewalPeriod: 0
                          ProrationDate: "2020-06-26T11:35:04+00:00"
                          SubscriptionReference: "1234567890"
                          MerchantDealAutoRenewal: false
                          ClientDealAutoRenewal: false
                          AmendmentScenario: prolong
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: John
                        LastName: Doe
                      SellTo:
                        Company: Randcomp
                        TaxExemptionId: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: John
                        LastName: Doe
                        VatCode: ""
                      Tac:
                        Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                      Links: []
                    - ProposalId: 5eec0d50-4a86-423e-b793-0fba49737a0e
                      Name: testName
                      SentBy:
                        FirstName: Marcus
                        LastName: Aurelius
                        Email: marcus.aurelius@sharklasers.io
                      ExpirationDate: "2022-05-20T17:21:42+00:00"
                      Version: 2
                      CreatedDate: "2020-06-26T11:28:28+00:00"
                      UpdatedDate: "2020-06-26T11:32:36+00:00"
                      CreatedBy: john.doe@customer.com
                      UpdatedBy: Jonathan2
                      Locked: false
                      Source: MERCHANT_API
                      Type: amendment
                      Status: sent
                      StatusComment: ""
                      Content:
                        Language: ro
                        Currency: ron
                        terms: 30
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54
                          DiscountedPrice: 50.6
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                          NextContractRenewalPeriod: 0
                          ProrationDate: "2020-06-26T11:35:04+00:00"
                          SubscriptionReference: "1234567890"
                          MerchantDealAutoRenewal: false
                          ClientDealAutoRenewal: false
                          AmendmentScenario: prolong
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                      SellTo:
                        Company: Randcomp
                        TaxExemptionId: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                        VatCode: ""
                      Tac:
                        Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                      Links:
                      - LinkId: b0dfea4c-ff0f-4a35-be9e-36eed4142218
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/b0dfea4c-ff0f-4a35-be9e-36eed4142218"
                        Status: sent
                    Page: 1
                    Limit: 100
                    ProposalsCount: 3
                    PagesCount: 1
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
    post:
      tags:
      - Proposal
      summary: Create proposal
      description: Create proposal
      operationId: create-proposal
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProposalCreateRequest"
            examples:
              CreateProposalWithAquisitionType:
                summary: Create a proposal with type aquisition
                value:
                  Name: testName
                  Source: salesforce_cpq
                  Type: acquisition
                  Content:
                    Language: ro
                    Currency: ron
                    LineItems:
                    - ProductName: Antivirus
                      ProductCode: FP10
                      Quantity: 2
                      Price: 54
                      DiscountedPrice: 50.6
                      PriceType: gross
                      PriceOptions: []
                      AdditionalFields: []
                      ImmediateAction: now
                      ContractPeriod: 0
                      NextContractRenewalPeriod: 0
                      MerchantDealAutoRenewal: false
                      ClientDealAutoRenewal: false
                    AdditionalFields: []
                  BillTo:
                    Company: Randcomp
                    Phone: "12172196850"
                    Email: y2hzhca4pc@groupbuff.com
                    Country: US
                    City: Carthage
                    State: Illinois
                    Zip: "62321"
                    Address: 1849  Cardinal Lane
                    FirstName: FirstRandcomp
                    LastName: Last Randcomp
                  SellTo:
                    Company: ReceiverCompany
                    VatCode: "854234564"
                    Phone: "12172196850"
                    Email: y2hzhca4pc@gmial.com
                    Country: FR
                    City: Paris
                    State: Not
                    Zip: "61321"
                    Address: Rue du Elegance 43B
                    FirstName: Lucy
                    LastName: Lucky-Jean
                    taxExemptionId: ""
                  Tac:
                    Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                  Links: []
              CreateProposalWithAmendmentResponseExample:
                summary: Create proposal with amendment and proration response example
                value:
                  Name: Amendment of antivirus
                  Source: salesforce_cpq
                  Type: amendment
                  Scope: autorenewal
                  Content:
                    Language: ro
                    Currency: ron
                    LineItems:
                    - ProductName: Antivirus
                      ProductCode: FP10
                      Quantity: 2
                      Price: 54.2
                      DiscountedPrice: 50
                      PriceType: gross
                      PriceOptions: []
                      AdditionalFields: []
                      ImmediateAction: now
                      ContractPeriod: 0
                      NextContractRenewalPeriod: 0
                      SubscriptionReference: FDG223XVGG
                      ProrationDate: "2020-01-04T12:32:22Z"
                      MerchantDealAutoRenewal: false
                      ClientDealAutoRenewal: false
                      AmendmentScenario: prolong
                    AdditionalFields: []
                  BillTo:
                    Company: Randcomp
                    Phone: "12172196850"
                    Email: y2hzhca4pc@groupbuff.com
                    Country: US
                    City: Carthage
                    State: Illinois
                    Zip: "62321"
                    Address: 1849  Cardinal Lane
                    FirstName: John
                    LastName: Doe
                  SellTo:
                    Company: Randcomp
                    VatCode: "85421564"
                    Phone: "12172196850"
                    Email: y2hzhca4pc@groupbuff.com
                    Country: US
                    City: Carthage
                    State: Illinois
                    Zip: "62321"
                    Address: 1849  Cardinal Lane
                    FirstName: John
                    LastName: Doe
                    TaxExemptionId: ""
                  Tac:
                    Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                  Links: []
      responses:
        "201":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Proposal"
              examples:
                CreateProposalWithAquisitionType:
                  summary: Create a proposal with type aquisition
                  value:
                    ProposalId: cd92f92b-1b41-4f36-b6c3-4f862c0ac550
                    Name: Renewal of antivirus
                    SentBy:
                      FirstName: ""
                      LastName: ""
                      Email: ""
                    Version: 1
                    CreatedDate: "2020-06-26T12:14:14+00:00"
                    UpdatedDate: "2020-06-26T12:14:14+00:00"
                    CreatedBy: john.doe@customer.com
                    Locked: false
                    Source: salesforce_cpq
                    Type: acquisition
                    Status: opened
                    Content:
                      Language: ro
                      Currency: ron
                      Terms: 1
                      LineItems:
                      - ProductName: Antivirus
                        ProductCode: FP10
                        Quantity: 2
                        Price: 54.2
                        DiscountedPrice: 50
                        PriceType: gross
                        PriceOptions: []
                        AdditionalFields: []
                        ImmediateAction: now
                        ContractPeriod: 0
                        NextContractRenewalPeriod: 0
                      AdditionalFields: []
                    BillTo:
                      Company: Randcomp
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                    SellTo:
                      Company: Randcomp
                      VatCode: "85421564"
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                      TaxExemptionId: ""
                    Tac:
                      Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                    Links: []
                CreateProposalWithAmendmentResponseExample:
                  summary: Create proposal with amendment and proration response example
                  value:
                    proposalId: cd92f92b-1b41-4f36-b6c3-4f862c0ac550
                    name: Amendment of antivirus
                    sentBy:
                      firstName: ""
                      lastName: ""
                      email: ""
                    expirationDate: null
                    version: 1
                    createdDate: "2020-06-26T12:14:14+00:00"
                    updatedDate: "2020-06-26T12:14:14+00:00"
                    createdBy: john.doe@customer.com
                    updatedBy: null
                    locked: false
                    source: salesforce_cpq
                    type: amendment
                    status: opened
                    statusComment: null
                    content:
                      language: ro
                      currency: ron
                      terms: 30
                      lineItems:
                      - productName: Antivirus
                        productCode: FP10
                        quantity: 2
                        price: 54.2
                        discountedPrice: 50
                        priceType: gross
                        priceOptions: []
                        additionalFields: []
                        immediateAction: now
                        contractPeriod: 0
                        NextContractRenewalPeriod: 0
                        subscriptionReference: FDG223XVGG
                        prorationDate: "2020-01-04T12:32:22Z"
                        merchantDealAutoRenewal: false
                        clientDealAutoRenewal: false
                        amendmentScenario: prolong
                      additionalFields: []
                    billTo:
                      company: Randcomp
                      phone: "12172196850"
                      email: y2hzhca4pc@groupbuff.com
                      country: US
                      city: Carthage
                      state: Illinois
                      zip: "62321"
                      address: 1849  Cardinal Lane
                      firstName: John
                      lastName: Doe
                    sellTo:
                      company: Randcomp
                      vatCode: "85421564"
                      phone: "12172196850"
                      email: y2hzhca4pc@groupbuff.com
                      country: US
                      city: Carthage
                      state: Illinois
                      zip: "62321"
                      address: 1849  Cardinal Lane
                      firstName: John
                      lastName: Doe
                      taxExemptionId: ""
                    tac:
                      content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                      acceptedDate: null
                    links: []
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
  "/proposals/{proposalId}":
    get:
      tags:
      - Proposal
      summary: Retrieve a proposal
      description: Retrieve a proposal
      operationId: get-proposal-by-id
      parameters:
      - name: proposalId
        in: path
        description: The unique merchant proposal id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Proposal"
              examples:
                Get proposal by id response with amendment type:
                  value:
                    ProposalId: cd92f92b-1b41-4f36-b6c3-4f862c0ac550
                    Name: Renewal of antivirus
                    SentBy:
                      FirstName: ""
                      LastName: ""
                      Email: ""
                    Version: 1
                    CreatedDate: "2020-06-26T12:14:14+00:00"
                    UpdatedDate: "2020-06-26T12:14:14+00:00"
                    CreatedBy: john.doe@customer.com
                    Locked: false
                    Source: salesforce_cpq
                    Type: amendment
                    Status: opened
                    Content:
                      Language: ro
                      Currency: ron
                      Terms: 30
                      LineItems:
                      - ProductName: Antivirus
                        ProductCode: FP10
                        Quantity: 2
                        Price: 54.2
                        DiscountedPrice: 50
                        PriceType: gross
                        PriceOptions: []
                        AdditionalFields: []
                        ImmediateAction: now
                        ContractPeriod: 0
                        NextContractRenewalPeriod: 0
                        ProrationDate: "2020-01-04T12:32:22Z"
                        SubscriptionReference: "1234567890"
                        MerchantDealAutoRenewal: false
                        ClientDealAutoRenewal: false
                        AmendmentScenario: prolong
                      AdditionalFields: []
                    BillTo:
                      Company: Randcomp
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                    SellTo:
                      Company: Randcomp
                      VatCode: "85421564"
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                      taxExemptionId: ""
                    Tac:
                      Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                    Links: []
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Internal Server Error
    patch:
      tags:
      - Proposal
      summary: Update proposal
      description: Update proposal
      operationId: update-proposal-by-id
      parameters:
      - name: proposalId
        in: path
        description: The unique merchant proposal id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        description: Proposal with the needed updated fields
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProposalUpdateRequest"
            examples:
              UpdateProposalWithAquisitionTypeRequest:
                summary: Update proposal with type aquisition
                value:
                  ProposalId: cd92f92b-1b41-4f36-b6c3-4f862c0ac550
                  Name: Renewal of antivirus
                  SentBy:
                    FirstName: ""
                    LastName: ""
                    Email: ""
                  Version: 1
                  CreatedDate: "2020-06-26T12:14:14+00:00"
                  UpdatedDate: "2020-06-26T12:14:14+00:00"
                  CreatedBy: john.doe@customer.com
                  Locked: false
                  Source: salesforce_cpq
                  Type: acquisition
                  Status: opened
                  Content:
                    Language: ro
                    Currency: ron
                    Terms: 1
                    LineItems:
                    - ProductName: Antivirus
                      ProductCode: FP10
                      Quantity: 2
                      Price: 54.2
                      DiscountedPrice: 50
                      PriceType: gross
                      PriceOptions: []
                      AdditionalFields: []
                      ImmediateAction: now
                      ContractPeriod: 0
                      NextContractRenewalPeriod: 0
                      ProrationDate: "2020-01-04T12:32:22Z"
                      MerchantDealAutoRenewal: false
                      ClientDealAutoRenewal: false
                    AdditionalFields: []
                  BillTo:
                    Company: Randcomp
                    Phone: "12172196850"
                    Email: y2hzhca4pc@groupbuff.com
                    Country: US
                    City: Carthage
                    State: Illinois
                    Zip: "62321"
                    Address: 1849  Cardinal Lane
                    FirstName: John
                    LastName: Doe
                  SellTo:
                    Company: Randcomp
                    VatCode: "85421564"
                    Phone: "12172196850"
                    Email: y2hzhca4pc@groupbuff.com
                    Country: US
                    City: Carthage
                    State: Illinois
                    Zip: "62321"
                    Address: 1849  Cardinal Lane
                    FirstName: John
                    LastName: Doe
                  Tac:
                    Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                  Links: []
              ProposalUpdateWithProrationDateRequest:
                summary: Proposal update with proration Date
                value:
                  ProposalId: cd92f92b-1b41-4f36-b6c3-4f862c0ac550
                  Name: Renewal of antivirus
                  SentBy:
                    FirstName: ""
                    LastName: ""
                    Email: ""
                  ExpirationDate: null
                  Version: 1
                  CreatedDate: "2020-06-26T12:14:14+00:00"
                  UpdatedDate: "2020-06-26T12:14:14+00:00"
                  CreatedBy: john.doe@customer.com
                  UpdatedBy: null
                  Locked: false
                  Source: salesforce_cpq
                  Type: amendment
                  Status: opened
                  StatusComment: null
                  Content:
                    Language: ro
                    Currency: ron
                    Terms: 30
                    LineItems:
                    - ProductName: Antivirus
                      ProductCode: FP10
                      Quantity: 2
                      Price: 54.2
                      DiscountedPrice: 50
                      PriceType: gross
                      PriceOptions: []
                      AdditionalFields: []
                      ImmediateAction: now
                      ContractPeriod: 0
                      NextContractRenewalPeriod: 0
                      ProrationDate: "2020-01-04T12:32:22Z"
                      SubscriptionReference: "1234567890"
                      MerchantDealAutoRenewal: false
                      ClientDealAutoRenewal: false
                      AmendmentScenario: prolong
                    AdditionalFields: []
                  BillTo:
                    Company: Randcomp
                    Phone: "12172196850"
                    Email: y2hzhca4pc@groupbuff.com
                    Country: US
                    City: Carthage
                    State: Illinois
                    Zip: "62321"
                    Address: 1849  Cardinal Lane
                    FirstName: John
                    LastName: Doe
                  SellTo:
                    Company: Randcomp
                    VatCode: "85421564"
                    Phone: "12172196850"
                    Email: y2hzhca4pc@groupbuff.com
                    Country: US
                    City: Carthage
                    State: Illinois
                    Zip: "62321"
                    Address: 1849  Cardinal Lane
                    FirstName: John
                    LastName: Doe
                  Tac:
                    Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                    AcceptedDate: null
                  Links: []
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Proposal"
              examples:
                UpdateProposalWithAquisitionType:
                  summary: Update proposal with aquisition type
                  value:
                    ProposalId: cd92f92b-1b41-4f36-b6c3-4f862c0ac550
                    Name: Renewal of antivirus
                    SentBy:
                      FirstName: ""
                      LastName: ""
                      Email: ""
                    Version: 1
                    CreatedDate: "2020-06-26T12:14:14+00:00"
                    UpdatedDate: "2020-06-26T12:14:14+00:00"
                    CreatedBy: john.doe@customer.com
                    Locked: false
                    Source: salesforce_cpq
                    Type: acquisition
                    Status: opened
                    Content:
                      Language: ro
                      Currency: ron
                      Terms: 1
                      LineItems:
                      - ProductName: Antivirus
                        ProductCode: FP10
                        Quantity: 2
                        Price: 54.2
                        DiscountedPrice: 50
                        PriceType: gross
                        PriceOptions: []
                        AdditionalFields: []
                        ImmediateAction: now
                        ContractPeriod: 0
                        NextContractRenewalPeriod: 0
                        MerchantDealAutoRenewal: false
                        ClientDealAutoRenewal: false
                      AdditionalFields: []
                    BillTo:
                      Company: Randcomp
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                    SellTo:
                      Company: Randcomp
                      VatCode: "85421564"
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                      TaxExemptionId: ""
                    Tac:
                      Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                    Links: []
                ProposalUpdateWithProrationDate:
                  summary: Proposal update with proration Date
                  value:
                    ProposalId: cd92f92b-1b41-4f36-b6c3-4f862c0ac550
                    Name: Renewal of antivirus
                    SentBy:
                      FirstName: ""
                      LastName: ""
                      Email: ""
                    ExpirationDate: null
                    Version: 1
                    CreatedDate: "2020-06-26T12:14:14+00:00"
                    UpdatedDate: "2020-06-26T12:14:14+00:00"
                    CreatedBy: john.doe@customer.com
                    UpdatedBy: null
                    Locked: false
                    Source: salesforce_cpq
                    Type: amendment
                    Status: opened
                    StatusComment: null
                    Content:
                      Language: ro
                      Currency: ron
                      Terms: 30
                      LineItems:
                      - ProductName: Antivirus
                        ProductCode: FP10
                        Quantity: 2
                        Price: 54.2
                        DiscountedPrice: 50
                        PriceType: gross
                        PriceOptions: []
                        AdditionalFields: []
                        ImmediateAction: now
                        ContractPeriod: 0
                        NextContractRenewalPeriod: 0
                        ProrationDate: "2020-01-04T12:32:22Z"
                        SubscriptionReference: "1234567890"
                        MerchantDealAutoRenewal: false
                        ClientDealAutoRenewal: false
                        AmendmentScenario: prolong
                      AdditionalFields: []
                    BillTo:
                      Company: Randcomp
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                    SellTo:
                      Company: Randcomp
                      VatCode: "85421564"
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: John
                      LastName: Doe
                      TaxExemptionId: ""
                    Tac:
                      Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
                      AcceptedDate: null
                    Links: []
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
  "/proposals/{proposalId}/action":
    post:
      tags:
      - Proposal
      summary: Execute an action on the proposal
      description: Execute an action on the proposal
      operationId: action-proposal-by-id
      parameters:
      - name: proposalId
        in: path
        description: The unique merchant proposal id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProposalActionRequest"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Proposal"
              examples:
                Change proposal by action response example for type aquisition:
                  value:
                    ProposalId: 56dc44d4-732a-4415-9c58-bce149aa9c7f
                    Name: testName
                    SentBy:
                      FirstName: Marcus
                      LastName: Aurelius
                      Email: marcus.aurelius@sharklasers.io
                    ExpirationDate: "2022-05-20T17:21:42+00:00"
                    Version: 3
                    CreatedDate: "2020-06-26T12:15:52+00:00"
                    UpdatedDate: "2020-06-26T12:16:00+00:00"
                    CreatedBy: john.doe@customer.com
                    UpdatedBy: ""
                    Locked: false
                    Source: MERCHANT_API
                    Type: acquisition
                    Status: accepted
                    StatusComment: ""
                    Content:
                      Language: ro
                      Currency: ron
                      LineItems:
                      - ProductName: Antivirus
                        ProductCode: FP10
                        Quantity: 2
                        Price: 54
                        DiscountedPrice: 50.6
                        PriceType: gross
                        PriceOptions: []
                        AdditionalFields: []
                        ImmediateAction: now
                        ContractPeriod: 0
                        NextContractRenewalPeriod: 0
                        ProrationDate: "2020-01-04T12:32:22Z"
                        MerchantDealAutoRenewal: false
                        ClientDealAutoRenewal: false
                      AdditionalFields: []
                    BillTo:
                      Company: Randcomp
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: Marcus
                      LastName: Aurelius
                    SellTo:
                      Company: Randcomp
                      VatCode: "85421564"
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: Marcus
                      LastName: Aurelius
                      taxExemptionId: ""
                    Tac:
                      Content: phase7
                      AcceptedDate: "2020-06-26T12:16:00+00:00"
                    Links:
                    - LinkId: 8e5c039e-106e-44bd-893a-d0d0276b0587
                      Url: "https://proposal.2checkout.com/merchant-code/test/link-id/8e5c039e-106e-44bd-893a-d0d0276b0587"
                      Status: sent
                    - LinkId: 7b9fb5fa-6aaa-42e5-aee2-afef873c495a
                      Url: "https://proposal.2checkout.com/merchant-code/test/link-id/7b9fb5fa-6aaa-42e5-aee2-afef873c495a"
                      Status: accepted
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
  "/proposals/{proposalId}/history":
    get:
      tags:
      - Proposal history
      summary: Search proposal versions
      description: Search proposal versions
      operationId: search-proposal-history-by-id
      parameters:
      - name: proposalId
        in: path
        description: The unique merchant proposal id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Page
        in: query
        description: The page at which the proposal versions should be returned
        required: true
        style: form
        explode: true
        schema:
          maximum: 0
          minimum: 0
          maxLength: 9999
          minLength: 0
          type: integer
          default: 0
      - name: Limit
        in: query
        description: The maximum number of proposal versions to return
        required: true
        style: form
        explode: true
        schema:
          maximum: 100
          minimum: 1
          maxLength: 9999
          minLength: 0
          type: integer
          default: 10
      - name: HasStatusComment
        in: query
        description: Filters the history version by statusComment field. It can be "true" or "false"
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchProposalHistoryById"
              examples:
                Search proposal histroy by id:
                  value:
                    Versions:
                    - ProposalId: 2c0a8b3a-54fe-4ff9-ac19-a48e49d90298
                      Name: testName
                      SentBy:
                        FirstName: Marcus
                        LastName: Aurelius
                        Email: marcus.aurelius@sharklasers.io
                      ExpirationDate: "2022-05-20T17:21:42+00:00"
                      Version: 3
                      CreatedDate: "2020-06-26T11:35:04+00:00"
                      UpdatedDate: "2020-06-26T11:35:13+00:00"
                      CreatedBy: john.doe@customer.com
                      UpdatedBy: ""
                      Locked: false
                      Source: MERCHANT_API
                      Type: acquisition
                      Status: accepted
                      StatusComment: ""
                      Content:
                        Language: ro
                        Currency: ron
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54
                          DiscountedPrice: 50.6
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                      SellTo:
                        Company: Randcomp
                        VatCode: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                        taxExemptionId: ""
                      Tac:
                        Content: phase7
                        AcceptedDate: "2020-06-26T11:35:13+00:00"
                      Links:
                      - LinkId: d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7"
                        Status: sent
                      - LinkId: 971be349-31f6-4177-ad7f-c78e61ec7702
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/971be349-31f6-4177-ad7f-c78e61ec7702"
                        Status: accepted
                    - ProposalId: 2c0a8b3a-54fe-4ff9-ac19-a48e49d90298
                      Name: testName
                      SentBy:
                        FirstName: Marcus
                        LastName: Aurelius
                        Email: marcus.aurelius@sharklasers.io
                      ExpirationDate: "2022-05-20T17:21:42+00:00"
                      Version: 2
                      CreatedDate: "2020-06-26T11:35:04+00:00"
                      UpdatedDate: "2020-06-26T11:35:13+00:00"
                      CreatedBy: john.doe@customer.com
                      UpdatedBy: ""
                      Locked: false
                      Source: MERCHANT_API
                      Type: acquisition
                      Status: accepted
                      StatusComment: ""
                      Content:
                        Language: ro
                        Currency: ron
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54
                          DiscountedPrice: 50.6
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                      SellTo:
                        Company: Randcomp
                        VatCode: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                        taxExemptionId: ""
                      Tac:
                        Content: phase7
                        AcceptedDate: "2020-06-26T11:35:13+00:00"
                      Links:
                      - LinkId: d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7"
                        Status: sent
                      - LinkId: 971be349-31f6-4177-ad7f-c78e61ec7702
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/971be349-31f6-4177-ad7f-c78e61ec7702"
                        Status: accepted
                    - ProposalId: 2c0a8b3a-54fe-4ff9-ac19-a48e49d90298
                      Name: testName
                      SentBy:
                        FirstName: Marcus
                        LastName: Aurelius
                        Email: marcus.aurelius@sharklasers.io
                      ExpirationDate: "2022-05-20T17:21:42+00:00"
                      Version: 1
                      CreatedDate: "2020-06-26T11:35:04+00:00"
                      UpdatedDate: "2020-06-26T11:35:13+00:00"
                      CreatedBy: john.doe@customer.com
                      UpdatedBy: ""
                      Locked: false
                      Source: MERCHANT_API
                      Type: acquisition
                      Status: accepted
                      StatusComment: ""
                      Content:
                        Language: ro
                        Currency: ron
                        LineItems:
                        - ProductName: Antivirus
                          ProductCode: FP10
                          Quantity: 2
                          Price: 54
                          DiscountedPrice: 50.6
                          PriceType: gross
                          PriceOptions: []
                          AdditionalFields: []
                          ImmediateAction: now
                          ContractPeriod: 0
                        AdditionalFields: []
                      BillTo:
                        Company: Randcomp
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                      SellTo:
                        Company: Randcomp
                        VatCode: "85421564"
                        Phone: "12172196850"
                        Email: y2hzhca4pc@groupbuff.com
                        Country: US
                        City: Carthage
                        State: Illinois
                        Zip: "62321"
                        Address: 1849  Cardinal Lane
                        FirstName: Marcus
                        LastName: Aurelius
                        taxExemptionId: ""
                      Tac:
                        Content: phase7
                        AcceptedDate: "2020-06-26T11:35:13+00:00"
                      Links:
                      - LinkId: d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7"
                        Status: sent
                      - LinkId: 971be349-31f6-4177-ad7f-c78e61ec7702
                        Url: "https://proposal.2checkout.com/merchant-code/test/link-id/971be349-31f6-4177-ad7f-c78e61ec7702"
                        Status: accepted
                    Page: 1
                    Limit: 100
                    Count: 3
                    PagesCount: 1
  "/proposals/{proposalId}/history/{versionNumber}":
    get:
      tags:
      - Proposal history
      summary: Retrieve a proposal version
      description: Retrieve a proposal version
      operationId: get-proposal-version
      parameters:
      - name: proposalId
        in: path
        description: The unique merchant proposal id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: versionNumber
        in: path
        description: The proposal version
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          minimum: 1
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Proposal"
              examples:
                response:
                  value:
                  - ProposalId: 2c0a8b3a-54fe-4ff9-ac19-a48e49d90298
                    Name: testName
                    SentBy:
                      FirstName: Marcus
                      LastName: Aurelius
                      Email: marcus.aurelius@sharklasers.io
                    ExpirationDate: "2022-05-20T17:21:42+00:00"
                    Version: 3
                    CreatedDate: "2020-06-26T11:35:04+00:00"
                    UpdatedDate: "2020-06-26T11:35:13+00:00"
                    CreatedBy: john.doe@customer.com
                    UpdatedBy: ""
                    Locked: false
                    Source: MERCHANT_API
                    Type: acquisition
                    Status: accepted
                    StatusComment: ""
                    Content:
                      Language: ro
                      Currency: ron
                      LineItems:
                      - ProductName: Antivirus
                        ProductCode: FP10
                        Quantity: 2
                        Price: 54
                        DiscountedPrice: 50.6
                        PriceType: gross
                        PriceOptions: []
                        AdditionalFields: []
                        ImmediateAction: now
                        ContractPeriod: 0
                      AdditionalFields: []
                    BillTo:
                      Company: Randcomp
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: Marcus
                      LastName: Aurelius
                    SellTo:
                      Company: Randcomp
                      VatCode: "85421564"
                      Phone: "12172196850"
                      Email: y2hzhca4pc@groupbuff.com
                      Country: US
                      City: Carthage
                      State: Illinois
                      Zip: "62321"
                      Address: 1849  Cardinal Lane
                      FirstName: Marcus
                      LastName: Aurelius
                      taxExemptionId: ""
                    Tac:
                      Content: phase7
                      AcceptedDate: "2020-06-26T11:35:13+00:00"
                    Links:
                    - LinkId: d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7
                      Url: "https://proposal.2checkout.com/merchant-code/test/link-id/d6311c81-8f1a-4381-8d9d-fd6f12e3c0b7"
                      Status: sent
                    - LinkId: 971be349-31f6-4177-ad7f-c78e61ec7702
                      Url: "https://proposal.2checkout.com/merchant-code/test/link-id/971be349-31f6-4177-ad7f-c78e61ec7702"
                      Status: accepted
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Internal Server Error
  /subscriptions/deal/change/:
    post:
      tags:
      - ChangeDeal
      summary: Change a deal license and create amendment order
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ChangeDealRequest"
            examples:
              EesTokenPayment:
                summary: Change deal with 2payJs token
                value:
                  Currency: usd
                  Country: us
                  Language: en
                  CustomerIp: 91.220.121.21
                  Source: salesforce_cpq
                  Items:
                  - DealDate: "2021-03-05 12:23:08"
                    SubscriptionReference: 3VS69GNF0C
                    ProductCode: PAV2019
                    Quantity: 1
                    DealPriceScenario: using_last_order_price
                    DealSubscriptionScenario: prolong
                    Price:
                      Amount: 30
                      Type: CUSTOM
                      AmountType: GROSS
                    PriceOptions:
                    - Code: PO_GR1
                      Options:
                      - Value: PO_GR1_O1
                    SubscriptionCustomSettings:
                      CycleLength: 1
                      CycleUnit: MONTH
                      CycleAmount: 30
                      CycleAmountType: NET
                      ContractLength: 12
                      ClientDealAutoRenewal: true
                      MerchantDealAutoRenewal: true
                  BillingDetails:
                    FirstName: Mark
                    LastName: Owen
                    CountryCode: us
                    State: Texas
                    City: Dallas
                    Address1: 4519 BlueBridge Road
                    Zip: "02199"
                    Email: dusterm@yahoo.com
                    Phone: "6172938133"
                    Company: Integra Wealth
                    FiscalCode: "85421564"
                  DeliveryDetails:
                    FirstName: Mark
                    LastName: Owen
                    CountryCode: us
                    State: Texas
                    City: Dallas
                    Address1: 4519 BlueBridge Road
                    Zip: "02199"
                    Email: dusterm@yahoo.com
                    Phone: "6172938133"
                    Company: Integra Wealth
                  PaymentDetails:
                    Type: EES_TOKEN_PAYMENT
                    Currency: usd
                    CustomerIP: 91.220.121.21
                    PaymentMethod:
                      EesToken: 18998501-daa4-4bad-8699-5f29a1c56d6a
                      RecurringEnabled: true
                  ExtraInformation:
                    ProposalId: 1de36a0a-a7b6-4cb7-9de5-34c802e4243b
                    PurchaseOrderDownloadLink: "https://secure.2checkout.com/proposal/po/342322/dl"
                    AssistedSaleAccountManagerEmail: test@email.org
                    RetryFailedPaymentLink: "https://secure.2checkout.com/proposal/po/342322/retry?ref=[REFNO]"
        required: true
      responses:
        "200":
          description: Change deal success response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ChangeDealResponse"
              examples:
                SampleResponse:
                  value:
                    Items:
                    - SubscriptionReference: 3VS69GNF0C
                      DealPriceScenario: using_last_order_price
                      DealSubscriptionScenario: prolong
                      DealDate: "2021-03-05 12:23:08"
                      DealDueNowPriceNet: 30
                      DealDueNowPriceGross: 31.875
                      DealTaxAmount: 1.875
                      DealTaxPercent: 6.25
                      CurrentInfo:
                        ProductCode: BKG20193
                        ProductName: Backgammon 2019.3
                        ProductDescription: ""
                        BillingPriceNet: 25
                        BillingPriceGross: 26.5625
                        NoOfBillingCycles: 13
                        CurrentBillingCycle: 1
                        PayedBillingCycles: 1
                        RemainingBillingCycles: 11
                        CurrentBillingCycleEndDate: "2021-02-18 13:26:51"
                        TaxAmount: 1.5625
                        TaxPercent: 6.25
                        BillingCyclesFrequency: 1
                        BillingCycleFrequencyUnit: MONTH
                        ContractLength: 12
                        ContractLengthUnit: MONTH
                        ProductOptions:
                        - null
                      NewDealInfo:
                        ProductCode: PAV2019
                        ProductName: Pipera AntiVirus 2019
                        ProductDescription": ""
                        BillingPriceNet": 30
                        BillingPriceGross: 31.875
                        NoOfBillingCycles: 12
                        CurrentBillingCycle: 1
                        PayedBillingCycles: 0
                        RemainingBillingCycles: 12
                        CurrentBillingCycleEndDate: "2021-04-05 12:23:08"
                        TaxAmount: 1.875
                        TaxPercent: 6.25
                        BillingCyclesFrequency: 1
                        BillingCycleFrequencyUnit: MONTH
                        ContractLength: 12
                        ContractLengthUnit: MONTH
                        ProductOptions:
                        - Code: PO_GR1
                          Options:
                          - Value: PO_GR1_O1
                      TotalsDealInfo:
                        DealsNumber: 0
                        ContractsNumber: 1
                        PaidBillingCycles: 1
                        ElapsedBillingCycles: 1
                    Currency: usd
                    DealDueNowPriceNet: 30
                    DealDueNowPriceGross: 31.875
                    DealTaxAmount: 1.875
                    DealOrder:
                      RefNo: 11832146
                      ExternalReference: null
                      Status: AUTHRECEIVED
                      ApproveStatus: WAITING
                      VendorApproveStatus: OK
                      MerchantCode: 120000589445
                      Language: en
                      OrderDate: "2021-02-15 14:25:28"
                      FinishDate: null
                      Source: null
                      BillingDetails:
                        FirstName: Mark
                        LastName: Owen
                        CountryCode: us
                        State: Texas
                        City: Dallas
                        Address1: 4519 BlueBridge Road
                        Zip: "02199"
                        Email: dusterm@yahoo.com
                        Phone: "6172938133"
                        Company: Integra Wealth
                        FiscalCode: "85421564"
                      DeliveryDetails:
                        FirstName: Mark
                        LastName: Owen
                        CountryCode: us
                        State: Texas
                        City: Dallas
                        Address1: 4519 BlueBridge Road
                        Zip: "02199"
                        Email: dusterm@yahoo.com
                        Phone: "6172938133"
                        Company: Integra Wealth
                      PaymentDetails:
                        Type: CC
                        Currency: usd
                        PaymentMethod:
                          FirstDigits: 4111
                          LastDigits: 1111
                          CardType: visa
                          RecurringEnabled: true
                          Vendor3DSReturnURL: null
                          Vendor3DSCancelURL: null
                          InstallmentsNumber: null
                      CustomerDetails: "null,"
                      Origin: API
                      AvangateCommission: 4.4
                      OrderFlow: REGULAR
                      GiftDetails: null
                      PODetails: null
                      ExtraInformation:
                        RetryFailedPaymentLink: "http://secure.avangate.local/proposal/po/342322/retry?ref=11827720"
                        ProposalId: 1de36a0a-a7b6-4cb7-9de5-34c802e4243b
                        PurchaseOrderDownloadLink: "http://secure.avangate.local/proposal/po/342322/dl"
                        AssistedSale: true
                        AssistedSaleAccountManagerEmail: test@email.org
                      Items:
                      - ProductDetails:
                          Name: Pipera AntiVirus 2019
                          ShortDescription: ""
                          Tangible: false
                          IsDynamic: false
                          RenewalStatus: false
                          DeliveryInformation:
                            Delivery: NO_DELIVERY
                            DownloadFile: null
                            DeliveryDescription: ""
                            CodesDescription: ""
                            Codes:
                            - null
                        PriceOptions:
                        - null
                        Price:
                          UnitNetPrice: 47.06
                          UnitGrossPrice: 50
                          UnitVAT: 2.94
                          UnitDiscount: 0
                          UnitNetDiscountedPrice: 47.06
                          UnitGrossDiscountedPrice: 50
                          UnitAffiliateCommission: 0
                          ItemUnitNetPrice: null
                          ItemUnitGrossPrice: null
                          ItemNetPrice: null
                          ItemGrossPrice: null
                          VATPercent: 6.25
                          HandlingFeeNetPrice: 0
                          HandlingFeeGrossPrice: 0
                          Currency: usd
                          NetPrice: 47.06
                          GrossPrice: 50
                          NetDiscountedPrice: 47.06
                          GrossDiscountedPrice: 50
                          Discount: 0
                          VAT: 2.94
                          AffiliateCommission: 0
                        LineItemReference: 195253b498f70bd2ef652904793ef69bc119c80f
                        PurchaseType: PRODUCT
                        Code: PAV2019
                        ExternalReference: PAV2019QWE
                        Quantity: 1
                        SKU: null
                        CrossSell: null
                        Trial: null
                        AdditionalFields: null
                        Promotion: null
                        RecurringOptions: null
                        SubscriptionStartDate: null
                        SubscriptionCustomSettings:
                          CycleUnit: MONTH
                          CycleLength: 1
                          CycleAmount: 50
                          CycleAmountType: GROSS
                          ContractLength: 12
                          MerchantDealAutoRenewal: true
                          ClientDealAutoRenewal: true
                      Promotions:
                      - null
                      AdditionalFields: null
                      CustomParameters: null
                      Currency: usd
                      NetPrice: 47.06
                      GrossPrice: 50
                      NetDiscountedPrice: 47.06
                      GrossDiscountedPrice: 50
                      Discount: 0
                      VAT: 2.94
                      AffiliateCommission: 0
        "400":
          description: Change deal validation error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealErrorResponse"
              example:
                InvalidSubscriptionOperation:
                  value:
                    error_code: INVALID_SUBSCRIPTION_OPERATION
                    message: "Sorry, we are unable to upgrade the subscription at this time because a refund request is still processing. Please try again later."
        "500":
          description: Change deal internal error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealErrorResponse"
  /subscriptions/{SubscriptionReference}/deal/:
    delete:
      tags:
      - cancelDeal
      summary: Cancel deal
      description: "Disables recurrence, automated billing, schedules for cancel, issues refunds"
      operationId: cancel-deal
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CancelDealResponse"
              examples:
                Cancel today end of day success:
                  value:
                    AssistedSaleCancelTime: TODAY_END_OF_DAY
                    AssistedSaleRefunds:
                    - RefundCurrency: USD
                      RefundId: 12345
                      RefundAmount: "123.5"
                      Refunded: true
                Cancel at end of billing cycle:
                  value:
                    AssistedSaleCancelTime: END_OF_BILLING_CYCLE
                    AssistedSaleRefunds:
                    - RefundCurrency: string
                      RefundId: 0
                      RefundAmount: null
                      Refunded: null
                      RefundFailReason: string
                "Cancel deal succes, but refund request failed":
                  value:
                    AssistedSaleCancelTime: TODAY_END_OF_DAY
                    AssistedSaleRefunds:
                    - RefundCurrency: USD
                      RefundAmount: "123.5"
                      Refunded: "false"
                      RefundFailReason: Cancel deal refund request failed
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CancelDealErrorResponse"
              examples:
                Invalid cancel time:
                  value:
                    error_code: DEAL_INVALID_CANCEL_TIME
                    message: "Cancel deal failed: cancel time is invalid"
                Cancel deal failed(already canceled):
                  value:
                    error_code: DEAL_CANCEL_DISABLE_FAILED
                    message: "Cancel deal failed: cancellation not set for subscription 96JW9BQ1PB"
    parameters:
    - name: SubscriptionReference
      in: path
      description: Unique code which represents a subscription
      required: true
      style: simple
      explode: false
      schema:
        type: string
  /paymentmethods/:
    get:
      tags:
      - Cart settings
      summary: "Get the list of payment methods available for your shoppers."
      description: Get the list of payment methods enabled on your account, available for your shoppers, with currencies and countries. The result can be filtered by PaymentMethod and CountryCode.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: CountryCode
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: ro
      - name: PaymentMethod
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - CC
          - WIRE
          - PAYPAL
          - PURCHASEORDER
          - CHECK
          - DIRECT_EBANKING
          - FREE
          - ALIPAY
          - DIRECTDEBIT
          - GIROPAY
          - IDEAL
          - WEBMONEY
          - BOLETO
          - UNIONPAY
          - WE_CHAT_PAY
          - APPLE_PAY
          - GOOGLEPAY
        example: CC
      responses:
        "200":
          description: Returns a payment methods collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAvailablePaymentMethodsResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                InvalidCountryCode:
                  value:
                    error_code: INVALID_COUNTRY_CODE
                    message: CountryCode parameter should be string
  /additionalfields/:
    get:
      tags:
      - Additional fields
      summary: "Retrieve additional fields"
      description: Extract information about additional fields you set up for your account.
      parameters:
      - name: Enabled
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: true
      - name: Required
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: boolean
        example: true
      - name: ApplyTo
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Order
      - name: Type
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "[HIDDEN]"
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      responses:
        "200":
          description: Get information about additional fields
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAdditionalFieldsResponse"
    post:
      tags:
      - Additional fields
      summary: Create new additional fields
      parameters:
      - name: X-Avangate-Authentication
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/body"
          application/xml:
            schema:
              type: object
              properties: {}
      responses:
        "200":
          description: OK
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: ADDITIONAL_FIELD
                message: Invalid additional field label
              - error_code: ADDITIONAL_FIELD
                message: Invalid additional field code
              - error_code: ADDITIONAL_FIELD
                message: "Invalid additional field type. Valid types [HIDDEN, TEXTBOX, CHECKBOX, LISTBOX]"
              - error_code: ADDITIONAL_FIELD
                message: "Invalid additional field type. Valid types [ORDER, PRODUCT]"
              - error_code: INVALID_PARAMETERS
                message: "Additional field [NewsletterPolicy] already exists."
  "/additionalfields/{FieldCode}/":
    get:
      tags:
      - Additional fields
      summary: Get information about an additional field
      parameters:
      - name: FieldCode
        in: path
        description: "Field identifier. Alpha-numeric chars, underscores and dashes."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: NewsletterPolicy
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdditionalFieldsResponseItems"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INVALID_INPUT
                message: Invalid additional field code.
  "/additionalfields/{FieldCode}/translations/{ISOcode}/":
    get:
      tags:
      - Additional fields
      summary: Retrieve additional field texts and translations
      parameters:
      - name: FieldCode
        in: path
        description: "Field identifier. Alpha-numeric chars, underscores and dashes."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: NewsletterPolicy1234576
      - name: ISOcode
        in: path
        description: ISO 639-1 two-letter code. Case sensitive.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: DE
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_3"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INVALID_INPUT
                message: Invalid additional field code.
              - error_code: INVALID_INPUT
                message: Invalid additional field translation.
  /channelmanager/partners/{UUID}:
    put:
      tags:
      - Partners
      summary: Update partner user by UUID
      description: Update partner user by UUID
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: UUID
        in: path
        description: Unique partner id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce98
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePartnerRequest"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Partner"
        "400":
          description: Update partner error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
    get:
      tags:
      - Partners
      summary: Get partner by UUID
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: UUID
        in: path
        description: Unique partner id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce98
      responses:
        "200":
          description: Returns partner object
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnersGetResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnersSearchError"
              example:
              - error_code: PARTNER_NOT_FOUND
                message: Partner not found
              - error_code: PARTNER_UNAUTHORIZED
                message: Partner is unauthorized
              - error_code: INVALID_ACCOUNT_MANAGER
                message: Invalid account manager
              - error_code: PARTNER_ALREADY_EXISTS
                message: Partner already exists
  /channelmanager/partners:
    post:
      tags:
      - Partners
      summary: Create partner
      description: Create partner
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePartnerRequest"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Partner"
        "400":
          description: Update partner user error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: PARTNER_NOT_FOUND
                message: Partner not found
              - error_code: PARTNER_USER_NOT_FOUND
                message: Partner user not found
              - error_code: INVALID_CONTACT_EMAIL
                message: Invalid email
              - error_code: EMPTY_FIRST_NAME
                message: FirstName cannot be
              - error_code: EMPTY_LAST_NAME
                message: LastName cannot be empty
              - error_code: EMPTY_PHONE
                message: PhoneNumber cannot be empty
              - error_code: INVALID_STATUS
                message: Invalid status
              - error_code: PARTNER_UNAUTHORIZED
                message: Partner is unauthorized
                value:
                  error_code: string
                  message: string
    get:
      tags:
      - Partners
      summary: Search partners by filter
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: partnerCode
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: ABC123
      - name: companyName
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Blue Sky Company
      - name: address
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Elm Street 112
      - name: city
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Toronto
      - name: country
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: ca
      - name: state
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Ontario
      - name: zip
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 5514
      - name: firstName
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Jonathan
      - name: lastName
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Smith
      - name: position
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: manager
      - name: communicationLanguage
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: en
      - name: email
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: jonathan.smith@mail.com
      - name: website
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: bluesky.com
      - name: phone
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 2345612
      - name: mobile
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: 237785612
      - name: page
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 3
      - name: limit
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 15
      responses:
        "200":
          description: Returns crossSell campaign collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnersSearchResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnersSearchError"
              example:
              - error_code: INVALID_ADDRESS
                message: Address can not be empty
              - error_code: EMPTY_PARTNER_CODE
                message: PartnerCode is not valid
              - error_code: EMPTY_COMPANY_NAME
                message: CompanyCommercialName cannot be empty
  /channelmanager/partners/{UUID}/users:
    post:
      tags:
      - Partners
      summary: Create partner user
      description: Create partner user
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: UUID
        in: path
        description: Unique partner id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce98
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePartnerUserRequest"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnerUser"
        "400":
          description: Create partner user error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: PARTNER_NOT_FOUND
                message: Partner not found
              - error_code: INVALID_CONTACT_EMAIL
                message: Invalid email
              - error_code: EMPTY_FIRST_NAME
                message: FirstName cannot be
              - error_code: EMPTY_LAST_NAME
                message: LastName cannot be empty
              - error_code: EMPTY_PHONE
                message: PhoneNumber cannot be empty
              - error_code: INVALID_STATUS
                message: Invalid status
              - error_code: PARTNER_UNAUTHORIZED
                message: Partner is unauthorized
  /channelmanager/partners/{UUID}/users/{partnerUserUUID}:
    put:
      tags:
      - Partners
      summary: Update partner user by UUID
      description: Update partner user by UUID
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: UUID
        in: path
        description: Unique partner id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce98
      - name: partnerUserUUID
        in: path
        description: Unique partner user id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce77
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePartnerUserRequest"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnerUser"
        "400":
          description: Update partner user error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: PARTNER_NOT_FOUND
                message: Partner not found
              - error_code: PARTNER_USER_NOT_FOUND
                message: Partner user not found
              - error_code: INVALID_CONTACT_EMAIL
                message: Invalid email
              - error_code: EMPTY_FIRST_NAME
                message: FirstName cannot be
              - error_code: EMPTY_LAST_NAME
                message: LastName cannot be empty
              - error_code: EMPTY_PHONE
                message: PhoneNumber cannot be empty
              - error_code: INVALID_STATUS
                message: Invalid status
              - error_code: PARTNER_UNAUTHORIZED
                message: Partner is unauthorized
    delete:
      tags:
      - Partners
      summary: Delete partner user
      description: Delete partner user
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: UUID
        in: path
        description: Unique partner id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce98
      - name: partnerUserUUID
        in: path
        description: Unique partner user id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce77
      responses:
        "200":
          description: Response of the partner delete
          content:
            application/json:
              schema:
                type: boolean
        "400":
          description: Not deleted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: PARTNER_NOT_FOUND
                message: Partner not found
              - error_code: PARTNER_USER_NOT_FOUND
                message: Partner user not found
              - error_code: PARTNER_UNAUTHORIZED
                message: Partner is unauthorized
  /channelmanager/partners/{UUID}/users/{email}:
    get:
      tags:
      - Partners
      summary: Get User for a Partner by email
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: UUID
        in: path
        description: Unique partner user id.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 76914d95-f2a9-47aa-9090-de90e529ce77
      - name: email
        in: path
        required: true
        style: simple
        explode: true
        schema:
          type: string
        example: jonathan.smith@mail.com
      responses:
        "200":
          description: Returns the user of partners
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnerUser"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: PARTNER_NOT_FOUND
                message: Partner not found
              - error_code: PARTNER_USER_NOT_FOUND
                message: Partner user not found
  /channelmanager/orders/reseller:
    put:
      tags:
      - Resellers
      summary: Update order reseller
      description: Update order reseller
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateOrderResellerRequest"
            example:
              OrderRefNo: 73152235
              PartnerCode: bhdgh46b
              ResellerCode: Q6WSZXXAA7
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Reseller"
        "400":
          description: Update order reseller error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: MISSING_PARAMETER
                message: Missing required parameter PartnerCode
              - error_code: MISSING_PARAMETER
                message: Missing required parameter OrderRefNo
              - error_code: MISSING_PARAMETER
                message: Missing required parameter ResellerCode
              - error_code: INVALID_ID_SALE
                message: Order not found
  /channelmanager/resellers:
    post:
      tags:
      - Resellers
      summary: Create reseller
      description: Create reseller
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateResellerRequest"
            example:
              FirstName: John
              LastName: Doe
              Company: test company
              Email: john.doe@example.com
              Address: Address details
              City: Los Angeles
              PostalCode: "12354"
              Country: us
              State: California
              Phone: "265897456"
              Fax: ""
              PartnerCode: bhdgh46b
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Reseller"
        "400":
          description: Create reseller error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: EMPTY_RESELLER_CODE
                message: Reseller code cannot be empty
              - error_code: INVALID_COMPANY
                message: Invalid company name
              - error_code: EMPTY_ADDRESS
                message: Address cannot be empty
              - error_code: EMPTY_FIRST_NAME
                message: First name cannot be empty
              - error_code: EMPTY_LAST_NAME
                message: Last name cannot be empty
              - error_code: INVALID_EMAIL
                message: Email is not valid
              - error_code: EMPTY_PHONE
                message: Phone number cannot be empty
              - error_code: INVALID_COUNTRY
                message: Country code is not valid
    put:
      tags:
      - Resellers
      summary: Update reseller
      description: Update reseller
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateResellerRequest"
            example:
              FirstName: John
              LastName: Doe
              Company: test company
              Email: john.doe@example.com
              Address: Address details
              City: Los Angeles
              PostalCode: "12354"
              Country: us
              State: California
              Phone: "265897456"
              Fax: ""
              PartnerCode: bhdgh46b
              ResellerCode: Q6WSZXXAA7
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Reseller"
        "400":
          description: Create reseller error response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: EMPTY_RESELLER_CODE
                message: Reseller code cannot be empty
              - error_code: INVALID_COMPANY
                message: Invalid company name
              - error_code: EMPTY_ADDRESS
                message: Address cannot be empty
              - error_code: EMPTY_FIRST_NAME
                message: First name cannot be empty
              - error_code: EMPTY_LAST_NAME
                message: Last name cannot be empty
              - error_code: INVALID_EMAIL
                message: Email is not valid
              - error_code: EMPTY_PHONE
                message: Phone number cannot be empty
              - error_code: INVALID_COUNTRY
                message: Country code is not valid
    get:
      tags:
      - Resellers
      summary: Search resellers by filter
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: partnerCode
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: PARTNER1
      - name: page
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 1
      - name: limit
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 20
      responses:
        "200":
          description: Returns reseller collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResellerSearchResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: INVALID_ADDRESS
                message: Address cannot be empty
              - error_code: EMPTY_RESELLER_CODE
                message: Reseller code is not valid
              - error_code: EMPTY_COMPANY_NAME
                message: Company name cannot be empty
  /channelmanager/languages:
    get:
      tags:
      - Channel Manager settings
      summary: Retrieve Channel Manager languages
      description: Retrieve Channel Manager languages
      operationId: get-language-list
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LanguageLineItems"
              examples:
                Get channel manager available languages:
                  value:
                  - Code: fr
                    Name: French
                  - Code: en
                    Name: English
                  - Code: de
                    Name: German
        "201":
          description: Created
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /channelmanager/invoice-templates:
    get:
      tags:
      - Channel Manager settings
      summary: Retrieve Channel Manager invoice templates
      description: Retrieve Channel Manager invoice templates
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvoiceTemplates"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
  "/channelmanager/partners/{uuid}/sso":
    post:
      tags:
      - Channel Manager settings
      summary: Channel Manager Single Sign On
      description: Returns an URL with a token to allow authentification from external domains for custom domain vendors
      operationId: get-single-signon
      parameters:
      - name: uuid
        in: path
        description: Partner unique id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SSOCreateRequest"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SSOCreateResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Server Error

  /channelmanager/partners/{uuid}/requestProformaRefund:
    post:
      tags:
      - Channel Manager settings
      summary: Channel Manager Partner Proforma Refund Request
      description: Create refund request for a specific proforma number
      operationId: partner-proforma-refund-request
      parameters:
      - name: uuid
        in: path
        description: Partner unique id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProformaRefundRequest"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /channelmanager/subscriptions/renewalPrice:
    post:
      tags:
        - Partner subscriptions
      summary: Calculate Partner Subscription Renewal Price
      description: |
        Calculate the renewal price for partner subscriptions including discounts, margins, and pricing options.
        This endpoint allows partners to get accurate pricing before placing a renewal order.
      operationId: getPartnerSubscriptionsRenewalPrice
      parameters:
        - name: Accept
          in: header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: application/json
            default: application/json
            enum:
              - application/json
        - name: X-Avangate-Authentication
          in: header
          description: Authentication header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PartnerSubscriptionRenewalPriceRequest"
            example:
              Items:
                - SubscriptionReference: "SUB123456789"
                  Quantity: 5
                  PricingOptions:
                    - Code: "option1"
                    - Code: "option2"
              ExtraMargin:
                Value: 15
                Type: "PERCENT"
              ExtraDiscount:
                Value: 10
                Type: "PERCENT"
      responses:
        "200":
          description: Renewal price calculated successfully
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnerSubscriptionPriceResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Internal Server Error

  /channelmanager/subscriptions/placeRenewalOrder:
    post:
      tags:
        - Partner subscriptions
      summary: Place Partner Subscription Renewal Order
      description: |
        Place a renewal order for partner subscriptions. Returns the order reference number upon successful creation.
      operationId: renewPartnerSubscriptions
      parameters:
        - name: Accept
          in: header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: application/json
            default: application/json
            enum:
              - application/json
        - name: X-Avangate-Authentication
          in: header
          description: Authentication header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PartnerSubscriptionRenewalOrderRequest"
            example:
              Items:
                - SubscriptionReference: "SUB123456789"
                  Quantity: 5
                  PricingOptions:
                    - Code: "option1"
                    - Code: "option2"
              ExtraMargin:
                Value: 15
                Type: "PERCENT"
              ExtraDiscount:
                Value: 10
                Type: "PERCENT"
              ExternalReferenceNumber: "PO-2024-001"
              Comment: "Annual renewal for enterprise customer"
      responses:
        "200":
          description: Renewal order placed successfully
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnerSubscriptionOrderResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Internal Server Error

  /channelmanager/subscriptions/upgradePrice:
    post:
      tags:
        - Partner subscriptions
      summary: Calculate Partner Subscription Upgrade Price
      description: |
        Calculate the upgrade price for partner subscriptions to a different product including price differentials, discounts, and margins.
      operationId: getPartnerSubscriptionsUpgradePrice
      parameters:
        - name: Accept
          in: header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: application/json
            default: application/json
            enum:
              - application/json
        - name: X-Avangate-Authentication
          in: header
          description: Authentication header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PartnerSubscriptionUpgradePriceRequest"
            example:
              Items:
                - SubscriptionReference: "SUB123456789"
                  ProductCode: "ENTERPRISE_PLAN"
                  Quantity: 5
                  PricingOptions:
                    - Code: "option1"
                    - Code: "option2"
              ExtraMargin:
                Value: 15
                Type: "PERCENT"
              ExtraDiscount:
                Value: 5
                Type: "PERCENT"
      responses:
        "200":
          description: Upgrade price calculated successfully
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnerSubscriptionPriceResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Internal Server Error

  /channelmanager/subscriptions/placeUpgradeOrder:
    post:
      tags:
        - Partner subscriptions
      summary: Place Partner Subscription Upgrade Order
      description: |
        Place an upgrade order for partner subscriptions to a different product. Returns the order reference number upon successful creation.
      operationId: upgradePartnerSubscriptions
      parameters:
        - name: Accept
          in: header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: application/json
            default: application/json
            enum:
              - application/json
        - name: X-Avangate-Authentication
          in: header
          description: Authentication header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PartnerSubscriptionUpgradeOrderRequest"
            example:
              Items:
                - SubscriptionReference: "SUB123456789"
                  ProductCode: "ENTERPRISE_PLAN"
                  Quantity: 5
                  PricingOptions:
                    - Code: "option1"
                    - Code: "option2"
              ExtraMargin:
                Value: 15
                Type: "PERCENT"
              ExtraDiscount:
                Value: 5
                Type: "PERCENT"
              ExternalReferenceNumber: "UPG-2024-001"
              Comment: "Upgrade to enterprise plan"
      responses:
        "200":
          description: Upgrade order placed successfully
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PartnerSubscriptionOrderResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Internal Server Error
  /affiliates/{AffiliateCode}:
    get:
      tags:
      - Affiliates
      summary: Get Affiliate
      parameters:
      - name: AffiliateCode
        in: path
        description: Unique code which represents an affiliate
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      responses:
        "200":
          description: Get affiliate
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_1"
  /affiliates:
    get:
      tags:
      - Affiliates
      summary: Search Affiliates
      parameters:
      - name: AffiliateCode
        in: query
        description: Affiliate's code
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: FD86FD98
      - name: Name
        in: query
        description: Affiliate's name
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Softy Company
      - name: Status
        in: query
        description: Affiliate's status
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Active
      - name: RequestDateStart
        in: query
        description: Affiliate Request date start
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-01-01"
      - name: RequestDateEnd
        in: query
        description: Affiliate Request date end
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-09-01"
      - name: Country
        in: query
        description: Affiliate's country
        required: false
        style: form
        explode: true
        schema:
          type: string
        example:
        - US
        - UK
        - DK
      - name: TargetCountry
        in: query
        description: Countries where affiliates sell into
        required: false
        style: form
        explode: true
        schema:
          type: string
        example:
        - BG
        - RO
        - GR
      - name: CommissionList
        in: query
        description: Affiliate commission list
        required: false
        style: form
        explode: true
        schema:
          type: string
        example:
        - Default
        - CommissionList1
      - name: Type
        in: query
        description: Affiliate type
        required: false
        style: form
        explode: true
        schema:
          type: string
        example:
        - Email marketing
      - name: Page
        in: query
        description: Page number
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 3
      - name: Limit
        in: query
        description: Number of results on a page
        required: false
        style: form
        explode: true
        schema:
          type: number
        example: 25
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      responses:
        "200":
          description: Get affiliates
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_2"
        "400":
          description: Invalid data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchAffiliatesError"
              example:
              - error_code: SEARCH_TYPE_INVALID
                message: "The Type parameter invalid_type is not valid, allowed types are [Content & Reviews, Coupons & Discounts, Loyalty & Cashback, Email marketing, Search Engine Marketing, Social Media, Display & Retargeting, VAR/ Reseller]"
              - error_code: SEARCH_STATUS_INVALID
                message: "The Status parameter is not valid, allowed statuses are [ACTIVE, DISABLED, PENDING]"
              - error_code: SEARCH_STARTDATE_INVALID
                message: "The RequestDateStart parameter is not a valid date, accepted format is [YYYY-MM-DD]"
              - error_code: SEARCH_ENDDATE_INVALID
                message: "The EndDate parameter is not a valid date, accepted format is [YYYY-MM-DD]"
              - error_code: SEARCH_DATES_INVALID
                message: The StartDate cannot be greater than the EndDate
              - error_code: SEARCH_PAGE_INVALID
                message: The Page parameter is invalid
              - error_code: SEARCH_LIMIT_INVALID
                message: The Limit parameter is invalid
  /currencies/:
    get:
      tags:
      - Cart settings
      summary: "Get the list of available currencies"
      description: Retrieve the list of available currencies enabled on your account, available for your shoppers. If the country and payment method parameters are received, will be returned just the currencies for the specific country and payment method.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: CountryCode
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: ro
      - name: PaymentMethod
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - CC
          - WIRE
          - PAYPAL
          - PURCHASEORDER
          - CHECK
          - DIRECT_EBANKING
          - FREE
          - ALIPAY
          - DIRECTDEBIT
          - GIROPAY
          - IDEAL
          - WEBMONEY
          - BOLETO
          - UNIONPAY
          - WE_CHAT_PAY
          - APPLE_PAY
          - GOOGLEPAY
        example: CC
      responses:
        "200":
          description: Returns currencies collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAvailableCurrenciesResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                UnsupportedCountryCode:
                  value:
                    error_code: UNSUPPORTED_COUNTRY_CODE
                    message: "CountryCode [ro] is not supported."
                InvalidCountryCode:
                  value:
                    error_code: INVALID_COUNTRY_CODE
                    message: CountryCode parameter should be string
  /countries/:
    get:
      tags:
      - Cart settings
      summary: "Get the list of available countries"
      description: Retrieve the list of available countries enabled on your account, from which your shoppers can purchase. If the language parameter is received, the country names will be translated.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: language
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: nl
      responses:
        "200":
          description: Returns countries collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAvailableCountriesResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                InvalidProperty:
                  value:
                    error_code: VENDOR_LANGUAGE_INVALID
                    message: Invalid property Language.
                InvalidLanguage:
                  value:
                    error_code: VENDOR_LANGUAGE_INVALID
                    message: Language is not supported by current vendor settings
  /countries/{countryCode}/states/:
    get:
      tags:
      - Cart settings
      summary: "Get the list of states for a specific country"
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: countryCode
        in: path
        description: Country code
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: fr
      responses:
        "200":
          description: Returns states collection
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetCountryStatesResponse"
        "400":
          description: Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
  /payouts/:
    get:
      tags:
      - Accounting
      summary: "Retrieve payouts"
      description: Retrieve list of payouts for your merchant account and their status.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Reference
        in: query
        description: InvoicePrefix (PREFIX) + InvoiceNo (00000) will search for transfers containing an invoice with prefix + number
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: CR130222
      - name: Status
        in: query
        description: "Payout status. Array of strings. Possible values: PAID,PARTIALLY_PAID,CANCELED"
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - PAID
          - PARTIALLY_PAID
          - CANCELED
        example:
        - PAID
        - PARTIALLY_PAID
        - CANCELED
      - name: Currency
        in: query
        description: 3 letter ISO currency code
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: USD
      - name: StartDate
        in: query
        description: "Start payment date. Format: yyyy-mm-dd"
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2019-02-14"
      - name: EndDate
        in: query
        description: "End payment date. Format: yyyy-mm-dd"
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2019-11-14"
      - name: PaymentType
        in: query
        description: 'Payment type. Can be one of "WIRE", "PAYPAL", "CHECK", "PAYONEER", "WEBMONEY" or "INTERNATIONAL_WIRE"'
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - WIRE
          - PAYPAL
          - CHECK
          - PAYONEER
          - WEBMONEY
          - INTERNATIONAL_WIRE
        example: WIRE
      - name: OrderBy
        in: query
        description: 'This parameter orders payouts. The only parameter allowed is "TransferCompletionDate". The preceding "-" sign means order by DESC, ommit it for searching ASC'
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - TransferCompletionDate
          - "-TransferCompletionDate"
        example: "-TransferCompletionDate"
      - name: Page
        in: query
        description: Page number
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 3
      - name: Limit
        in: query
        description: Number of results on a page
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 25
      responses:
        "200":
          description: Search payouts object
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchPayouts"
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: PAYOUT_REFERENCE_PARAMETER_INVALID
                message: "Invalid parameters: ‘reference’"
              - error_code: PAYOUT_STATUS_PARAMETER_INVALID
                message: "Invalid parameters: ‘status’"
              - error_code: PAYOUT_PRODUCT_CODE_INVALID
                message: Invalid status
              - error_code: PAYOUT_CURRENCY_PARAMETER_INVALID
                message: "Invalid parameters: ‘currency’"
              - error_code: PAYOUT_START_DATE_PARAMETER_INVALID
                message: Invalid StartDate search parameter
              - error_code: PAYOUT_END_DATE_PARAMETER_INVALID
                message: Invalid EndDate search parameter
              - error_code: PAYOUT_INTERVAL_INVALID
                message: Invalid search interval
              - error_code: PAYOUT_PAYMENTTYPE_PARAMETER_INVALID
                message: "Invalid parameters: ‘paymenttype’"
              - error_code: PAYOUT_ORDERBY_PARAMETER_INVALID
                message: "Invalid parameter: ‘orderby’"
              - error_code: PAYOUT_ORDERBY_ITEM_INVALID
                message: "Invalid parameter: ‘items’"
              - error_code: SHIPPING_METHOD_PAGINATION_LIMIT_PARAMETER_INVALID
                message: Invalid limit parameter
              - error_code: SHIPPING_METHOD_PAGINATION_PAGE_PARAMETER_INVALID
                message: Invalid page parameter
              - error_code: SHIPPING_METHOD_PAGINATION_OBJECT_INVALID
                message: Invalid pagination object
  /payouts/pending/:
    get:
      tags:
      - Accounting
      summary: "Retrieve account balance"
      description: Retrieve the account balance situation for your merchant account.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Currency
        in: query
        description: "Use this parameter to show the balance only for a single order currency. If not sent, or sent as NULL, 2Checkout sends the balance for all order currencies"
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: USD
      - name: TotalCurrency
        in: query
        description: "Use this parameter to show the total account balance in the preferred currency. If not sent, or sent as NULL, 2Checkout sends the total balance in the default account currency"
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: EUR
      responses:
        "200":
          description: Pending payout object
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PendingPayouts"
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
              - error_code: PAYOUT_CURRENCY_PARAMETER_INVALID
                message: "Invalid parameters: ‘Currency’"
              - error_code: PAYOUT_CURRENCY_PARAMETER_INVALID
                message: This is not a supported currency.
              - error_code: PAYOUT_TOTAL_CURRENCY_PARAMETER_INVALID
                message: "Invalid parameters: ‘TotalCurrency’"
              - error_code: PAYOUT_TOTAL_CURRENCY_PARAMETER_INVALID
                message: This currency is not supported for your vendor.
  /leads/{LeadCode}:
    description: |-
      2Checkout's lead management is a smart and easy way to reduce customer churn and gain useful insights into what drives customers to cancel automatic renewals. Use the Lead object to configure lead management campaigns via JSON-RPC API 6.0 to reduce unfinished payments and cart abandonment.

      You can use lead management to:
      * run a report on unfinished payments
      * send abandoned shopping cart follow-up emails    
    get:
      tags:
      - Leads
      summary: "Get Lead"
      description: Retrieve information about your leads.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: LeadCode
        in: path
        description: Unique code which represents an existing lead
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        "200":
          description: Get Lead
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetLeadResponse"
    put:
      tags:
      - Leads
      summary: "Update a Lead"
      description: Be aware that when updating a lead, all the existing data for that lead will be overwritten with the provided parameters.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: LeadCode
        in: path
        description: Lead's code
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: FD86FD98
      - name: CartId
        in: query
        description: Id of the cart
        required: false
        style: form
        explode: true
        schema:
          type: string
          example: du8945jgd
      - name: GeneratedFrom
        in: query
        description: Source
        required: false
        style: form
        explode: true
        schema:
          type: string
          example: du8945jgd
      - name: Currency
        in: query
        description: Currency
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: EUR
      - name: Language
        in: query
        description: Lead's language
        required: false
        style: form
        explode: true
        schema:
          type: string
          example: EN
      - name: ExternalReference
        in: query
        description: Vendor's reference
        required: false
        style: form
        explode: true
        schema:
          type: string
          example: REST_API_AVANGTE
      - name: MachineId
        in: query
        description: Machine id
        required: false
        style: form
        explode: true
        schema:
          type: string
          example: 7df4s
      - name: FollowedUp
        in: query
        description: Followed up
        required: false
        style: form
        explode: true
        schema:
          type: boolean
          example: false
      - name: LocalTime
        in: query
        description: Local time
        required: false
        style: form
        explode: true
        schema:
          type: string
          example: "2019-01-08 11:46:12"
      - name: Items
        in: query
        description: Purchased products
        required: true
        style: form
        explode: true
        schema:
          type: array
          example:
          - Code: my_subscription_1
            Quantity: "1"
            SKU: df1
            IsDynamic: false
            Tangible: false
            PurchaseType: ""
            Name: asd
            Description: asd
            PriceOptions:
            - Name: sdfsd
              Options:
              - Name: fsdfsdf
                Value: fsdfsdf
                Surcharge: 10.36
            RecurringOptions:
              CycleLength: 23
              CycleUnit: m
              CycleAmount: 23
              ContractLength: 23
              ContractUnit: m
            MarketingCampaigns:
              Type: 23
              ParentCode: m
              CampaignCode: 23
            Price:
              Amount: 23
              Type: m
            AdditionalFields:
            - Code: f
              Text: m
              Value: m
            SubscriptionStartDate: e
            Trial:
              Period: 2
              GrossPrice: 5
              VAT: 0.83
              NetPrice: 4.17
          items:
            type: object
      - name: BillingDetails
        in: query
        description: Billing details
        required: true
        style: form
        explode: true
        schema:
          type: object
          example:
            FirstName: Customer
            LastName: Avangate
            FiscalCode: "32423423"
            Email: customer@avangate.com
            Address1: Test Address
            City: LA
            Zip: "12345"
            CountryCode: us
            State: CA
      - name: DeliveryDetails
        in: query
        description: Delivery details
        required: false
        style: form
        explode: true
        schema:
          type: object
          example:
            FirstName: Customer
            LastName: Avangate
            FiscalCode: "32423423"
            Email: customer@avangate.com
            Address1: Test Address
            City: LA
            Zip: "12345"
            CountryCode: us
            State: CA
      - name: DeliveryInformation
        in: query
        description: Delivery informations
        required: false
        style: form
        explode: true
        schema:
          type: object
          example:
            ShippingMethod:
              Code: sdfsd
      - name: PaymentDetails
        in: query
        description: Details about payment
        required: false
        style: form
        explode: true
        schema:
          type: object
          example:
            Type: CC
            Currency: EUR
            RecurringEnabled: true
            PaymentMethod:
              CardPayment:
                InstallmentsNumber: 32
            CustomerIP: 1.2.3.4
      - name: Promotions
        in: query
        description: Promotion codes
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - FJ34JK9
          - OIU546KH0
          items:
            type: string
      responses:
        "200":
          description: Add lead
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_5"
  /leads/:
    get:
      tags:
      - Leads
      summary: "Search Leads"
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: LeadCode
        in: query
        description: Unique code which represents an existing lead
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - FJE349FG
          items:
            type: string
      - name: Email
        in: query
        description: Shopper\'s email address
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: test@2checkout.com
      - name: Type
        in: query
        description: Lead type
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: Used
      - name: StartDate
        in: query
        description: Start date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2018-01-02"
      - name: EndDate
        in: query
        description: End date
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2019-01-02"
      - name: ProductCode
        in: query
        description: Product code. This can be a string and contain only one code or an array with multiple codes
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - 653465fYVYR
          items:
            type: string
      - name: Language
        in: query
        description: Shopper cart language code
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: FR
      - name: Country
        in: query
        description: Shopper billing country code
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: BG
      - name: GeneratedFrom
        in: query
        description: Source of the generated Lead
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: API
      - name: Page
        in: query
        description: Page number
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 2
      - name: Limit
        in: query
        description: Number of results on a page
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 25
      responses:
        "200":
          description: Get Lead
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_6"
    put:
      tags:
      - Leads
      summary: "Mark leads as used and stop follow-ups"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: Array of objects
        in: query
        description: Array of objects
        required: true
        style: form
        explode: true
        schema:
          type: array
          example:
          - LeadCode: FD454FDG
            Used: false
            StopFollowups: true
          - LeadCode: JI143FYU
            Used: false
            StopFollowups: true
          items:
            type: object
      responses:
        "200":
          description: Mark Leads Response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MarkLeadsResponse"
    post:
      tags:
      - Leads
      summary: "Add Leads for catalog products"
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: LeadCode
        in: query
        description: Lead's code
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: FD86FD98
      - name: CartId
        in: query
        description: Id of the cart
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: du8945jgd
      - name: Currency
        in: query
        description: Currency
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: EUR
      - name: Language
        in: query
        description: Lead's language
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: EN
      - name: ExternalReference
        in: query
        description: Vendor's reference
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: REST_API_AVANGTE
      - name: Source
        in: query
        description: Lead's source
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: testAPI.com
      - name: CustomerReference
        in: query
        description: Customer reference
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: asdf1
      - name: MachineId
        in: query
        description: Machine id
        required: false
        style: form
        explode: true
        schema:
          type: integer
        example: 132
      - name: LocalTime
        in: query
        description: Local time
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: "2019-01-08 11:46:12"
      - name: Items
        in: query
        description: Purchased products
        required: true
        style: form
        explode: true
        schema:
          type: array
          example:
          - Code: my_subscription_1
            Quantity: "1"
            SKU: df1
            IsDynamic: false
            Tangible: false
            PurchaseType: ""
            Name: asd
            Description: asd
            PriceOptions:
            - Name: sdfsd
              Options:
              - Name: fsdfsdf
                Value: fsdfsdf
                Surcharge: 10.36
            RecurringOptions:
              CycleLength: 23
              CycleUnit: m
              CycleAmount: 23
              ContractLength: 23
              ContractUnit: m
            MarketingCampaigns:
              Type: 23
              ParentCode: m
              CampaignCode: 23
            Price:
              Amount: 23
              Type: m
            AdditionalFields:
            - Code: f
              Text: m
              Value: m
            SubscriptionStartDate: e
            Trial:
              Period: 2
              GrossPrice: 5
              VAT: 0.83
              NetPrice: 4.17
          items:
            type: object
      - name: BillingDetails
        in: query
        description: Billing details
        required: true
        style: form
        explode: true
        schema:
          type: object
          example:
            FirstName: Customer
            LastName: Avangate
            FiscalCode: "32423423"
            Email: customer@avangate.com
            Address1: Test Address
            City: LA
            Zip: "12345"
            CountryCode: us
            State: CA
      - name: DeliveryDetails
        in: query
        description: Delivery details
        required: false
        style: form
        explode: true
        schema:
          type: object
          example:
            FirstName: Customer
            LastName: Avangate
            FiscalCode: "32423423"
            Email: customer@avangate.com
            Address1: Test Address
            City: LA
            Zip: "12345"
            CountryCode: us
            State: CA
      - name: DeliveryInformation
        in: query
        description: Delivery informations
        required: false
        style: form
        explode: true
        schema:
          type: object
          example:
            ShippingMethod:
              Code: sdfsd
      - name: PaymentDetails
        in: query
        description: Details about payment
        required: false
        style: form
        explode: true
        schema:
          type: object
          example:
            Type: CC
            Currency: EUR
            RecurringEnabled: true
            PaymentMethod:
              CardPayment:
                InstallmentsNumber: 32
            CustomerIP: 1.2.3.4
      - name: Promotions
        in: query
        description: Promotion codes
        required: false
        style: form
        explode: true
        schema:
          type: array
          example:
          - FJ34JK9
          - OIU546KH0
          items:
            type: string
      responses:
        "200":
          description: Add lead
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_200_7"
  "/subscriptions/{SubscriptionReference}/churn-campaigns/eligible/{Language}":
    get:
      tags:
      - Churn prevention campaigns
      summary: "Retrieve churn prevention campaigns for a subscription"
      description: Retrieve the list of eligible campaigns for a specific subscription.
      parameters:
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          default: application/json
          enum:
          - application/json
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 48F5AC7011
      - name: Language
        in: path
        description: The language abbreviation in which messages are translated
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: en
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetEligibleCampaignsResponse"
        "400":
          description: Invalid subscription
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_SUBSCRIPTION_REFERENCE
                message: Invalid subscription reference parameter
        "404":
          description: Invalid language
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
                error_code: INVALID_LANGUAGE_CODE
                message: Invalid language code parameter
  "/subscriptions/{SubscriptionReference}/churn-campaigns/{CampaignCode}/accept-discount":
    post:
      tags:
      - Churn prevention campaigns
      summary: "Accept churn campaign for a subscription"
      description: Accept discount from a churn prevention campaign for a specific subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 13E4ED768D
      - name: CampaignCode
        in: path
        description: "Unique, system-generated campaign identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: IHMMYIAZULAZDHZGOLIY
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid subscription
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INVALID_SUBSCRIPTION_REFERENCE
                message: Invalid subscription reference parameter
              - error_code: INVALID_CAMPAIGN
                message: The campaign does not exist or it is not eligible for your subscription
              - error_code: ALREADY_REGISTERED_ENROLLMENT
                message: Licence already registered for an enrollment campaign
              - error_code: ALREADY_REGISTERED_CANCELLATION_SAME
                message: Discount already accepted
              - error_code: ALREADY_REGISTERED_CANCELLATION
                message: Licence already registered for other cancellation campaign
              - error_code: CATALOG_PRICE_ONLY
                message: Campaign is valid for catalog price only
  "/subscriptions/{SubscriptionReference}/churn-campaigns/{CampaignCode}/enter":
    post:
      tags:
      - Churn prevention campaigns
      summary: "Enter churn campaign"
      description: Mark auto renewal cancellation intent for a specific subscription.
      parameters:
      - name: X-Avangate-Authentication
        in: header
        description: Authentication header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: 'code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"'
      - name: Accept
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          example: application/json
          enum:
          - application/json
      - name: SubscriptionReference
        in: path
        description: "Unique, system-generated subscription identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 351D8F557E
      - name: CampaignCode
        in: path
        description: "Unique, system-generated campaign identifier."
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: UGPPKKJY5L1LHBFPHKQ3
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EnterCampaignStep"
            example:
              Step: "REASON"
              Success: 0
              Reason: "CHURN_REASON_NOT_SATISFIED"
              Comment: "Not satisfied because …"
      responses:
        "200":
          description: OK
          content:
            application/json:
              examples:
                response:
                  value: "true"
        "400":
          description: Invalid campaign
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/inline_response_400"
              example:
              - error_code: INVALID_CAMPAIGN
                message: The campaign does not exist or it is not eligible for your subscription
              - error_code: ALREADY_REGISTERED_ENROLLMENT
                message: Licence already registered for an enrollment campaign
              - error_code: ALREADY_REGISTERED_CANCELLATION_SAME
                message: Discount already accepted
              - error_code: ALREADY_REGISTERED_CANCELLATION
                message: Licence already registered for other cancellation campaign
              - error_code: CATALOG_PRICE_ONLY
                message: Campaign is valid for catalog price only
              - error_code: INVALID_SUBSCRIPTION_REFERENCE
                message: Invalid subscription reference parameter

components:
  schemas:
    EnterCampaignStep:
      type: object
      required:
        - Step
        - Success
        - Reason
      properties:
        Step:
          type: string
          example: "REASON"
        Success:
          type: integer
          example: 0
        Reason:
          type: string
          example: "CHURN_REASON_NOT_SATISFIED"
        Comment:
          type: string
          example: "Not satisfied because …"
    PartnerSubscriptionRenewalPriceRequest:
      type: object
      required:
        - Items
      properties:
        Items:
          type: array
          description: Array of subscription items to renew
          items:
            $ref: "#/components/schemas/PartnerSubscriptionRenewalItem"
        ExtraDiscount:
          $ref: "#/components/schemas/ExtraDiscountMargin"
        ExtraMargin:
          $ref: "#/components/schemas/ExtraDiscountMargin"
    PartnerSubscriptionRenewalOrderRequest:
      type: object
      required:
        - Items
      properties:
        Items:
          type: array
          description: Array of subscription items to renew
          items:
            $ref: "#/components/schemas/PartnerSubscriptionRenewalItem"
        ExtraDiscount:
          $ref: "#/components/schemas/ExtraDiscountMargin"
        ExtraMargin:
          $ref: "#/components/schemas/ExtraDiscountMargin"
        ExternalReferenceNumber:
          type: string
          description: External reference number for tracking
          example: "PO-2024-001"
        Comment:
          type: string
          description: Comment to attach to the order
          example: "Annual renewal for enterprise customer"
    PartnerSubscriptionUpgradePriceRequest:
      type: object
      required:
        - Items
      properties:
        Items:
          type: array
          description: Array of subscription items to upgrade
          items:
            $ref: "#/components/schemas/PartnerSubscriptionUpgradeItem"
        ExtraDiscount:
          $ref: "#/components/schemas/ExtraDiscountMargin"
        ExtraMargin:
          $ref: "#/components/schemas/ExtraDiscountMargin"
    PartnerSubscriptionUpgradeOrderRequest:
      type: object
      required:
        - Items
      properties:
        Items:
          type: array
          description: Array of subscription items to upgrade
          items:
            $ref: "#/components/schemas/PartnerSubscriptionUpgradeItem"
        ExtraDiscount:
          $ref: "#/components/schemas/ExtraDiscountMargin"
        ExtraMargin:
          $ref: "#/components/schemas/ExtraDiscountMargin"
        ExternalReferenceNumber:
          type: string
          description: External reference number for tracking
          example: "UPG-2024-001"
        Comment:
          type: string
          description: Comment to attach to the order
          example: "Upgrade to enterprise plan"
    PartnerSubscriptionRenewalItem:
      type: object
      required:
        - SubscriptionReference
      properties:
        SubscriptionReference:
          type: string
          description: Unique subscription reference
          example: "SUB123456789"
        Quantity:
          type: integer
          description: Quantity for renewal
          example: 5
        PricingOptions:
          type: array
          description: Pricing options for the subscription
          items:
            $ref: "#/components/schemas/PricingOption"
    PartnerSubscriptionUpgradeItem:
      type: object
      required:
        - SubscriptionReference
        - ProductCode
      properties:
        SubscriptionReference:
          type: string
          description: Unique subscription reference
          example: "SUB123456789"
        ProductCode:
          type: string
          description: Product code to upgrade to
          example: "ENTERPRISE_PLAN"
        Quantity:
          type: integer
          description: Quantity for upgrade
          example: 5
        PricingOptions:
          type: array
          description: Pricing options for the upgraded product
          items:
            $ref: "#/components/schemas/PricingOption"
    ExtraDiscountMargin:
      type: object
      required:
        - Value
        - Type
      properties:
        Value:
          type: number
          format: float
          description: Value of the discount or margin
          example: 15
        Type:
          type: string
          description: Type of discount/margin
          enum:
            - PERCENT
            - FIXED
          example: "PERCENT"
    PricingOption:
      type: object
      required:
        - Code
      properties:
        Code:
          type: string
          description: Pricing option code
          example: "option1"
    PartnerSubscriptionPriceResponse:
      type: object
      properties:
        Currency:
          type: string
          description: Currency code
          example: "USD"
        NetPrice:
          type: number
          format: float
          description: Net price (excluding tax)
          example: 850.00
        GrossPrice:
          type: number
          format: float
          description: Gross price (including tax)
          example: 1020.00
        Vat:
          type: number
          format: float
          description: VAT/tax amount
          example: 170.00
        TotalDiscount:
          type: number
          format: float
          description: Total discount amount
          example: 150.00
        Discount:
          type: number
          format: float
          description: Base discount amount
          example: 100.00
        PartnerMargin:
          type: number
          format: float
          description: Partner margin amount
          example: 200.00
        ExtraMargin:
          type: number
          format: float
          description: Extra margin applied
          example: 50.00
        ExtraDiscount:
          type: number
          format: float
          description: Extra discount applied
          example: 50.00
        Items:
          type: array
          description: Detailed pricing for each cart item
          items:
            $ref: "#/components/schemas/PartnerSubscriptionCartItem"
    PartnerSubscriptionCartItem:
      type: object
      properties:
        PurchaseType:
          type: string
          description: Type of purchase (RENEWAL or UPGRADE)
          example: "RENEWAL"
        PricingListCode:
          type: string
          description: Pricing configuration code
          example: "STANDARD_PRICING"
        SubscriptionReference:
          type: string
          description: Subscription reference
          example: "SUB123456789"
        Quantity:
          type: integer
          description: Quantity
          example: 5
        Prices:
          $ref: "#/components/schemas/PartnerSubscriptionCartItemPrices"
        Product:
          $ref: "#/components/schemas/PartnerSubscriptionCartProduct"
        ProductOptions:
          type: array
          description: Product options selected
          items:
            $ref: "#/components/schemas/PartnerSubscriptionProductOption"
        Promotion:
          $ref: "#/components/schemas/PartnerSubscriptionCartPromotion"
    PartnerSubscriptionCartItemPrices:
      type: object
      description: Detailed pricing breakdown for cart item
      properties:
        NetPrice:
          type: number
          format: float
          example: 850.00
        GrossPrice:
          type: number
          format: float
          example: 1020.00
        TotalDiscount:
          type: number
          format: float
          example: 150.00
        PartnerMargin:
          type: number
          format: float
          example: 200.00
        ExtraMargin:
          type: number
          format: float
          example: 50.00
        ExtraDiscount:
          type: number
          format: float
          example: 50.00
        Discount:
          type: number
          format: float
          example: 100.00
        CouponDiscount:
          type: number
          format: float
          example: 25.00
        Vat:
          type: number
          format: float
          example: 170.00
        UnitNetPrice:
          type: number
          format: float
          example: 170.00
        UnitGrossPrice:
          type: number
          format: float
          example: 204.00
        UnitTotalDiscount:
          type: number
          format: float
          example: 30.00
        UnitPartnerMargin:
          type: number
          format: float
          example: 40.00
        UnitExtraMargin:
          type: number
          format: float
          example: 10.00
        UnitExtraDiscount:
          type: number
          format: float
          example: 10.00
        UnitDiscount:
          type: number
          format: float
          example: 20.00
        UnitCouponDiscount:
          type: number
          format: float
          example: 5.00
        UnitVat:
          type: number
          format: float
          example: 34.00
        VatPercent:
          type: number
          format: float
          example: 20.00
        PartnerMarginPercent:
          type: number
          format: float
          example: 15.00
    PartnerSubscriptionCartProduct:
      type: object
      description: Product information
      properties:
        Name:
          type: string
          example: "Enterprise Software Suite"
        Code:
          type: string
          example: "ENT_SOFT_001"
        Version:
          type: string
          example: "2.0"
        ShortDescription:
          type: string
          example: "Complete enterprise software solution"
    PartnerSubscriptionProductOption:
      type: object
      description: Selected product option
      properties:
        Code:
          type: string
          example: "option1"
    PartnerSubscriptionCartPromotion:
      type: object
      description: Applied promotion information
      properties:
        Name:
          type: string
          example: "Spring 2024 Discount"
        Code:
          type: string
          example: "SPRING2024"
        Coupon:
          type: string
          example: "SAVE20NOW"
    PartnerSubscriptionOrderResponse:
      type: object
      description: Order placement response
      properties:
        RefNo:
          type: integer
          description: Order reference number
          example: 987654321
        Status:
          type: string
          description: Order status
          example: "PENDING"
        TotalAmount:
          type: number
          format: float
          description: Total order amount
          example: 1020.00
        Currency:
          type: string
          description: Currency code
          example: "USD" 
    ChurnReasonRequest:
      type: object
      properties:
        ChurnReasons:
          type: array
          items:
            type: string
            example:
            - CHURN_REASON_COVID
            - CHURN_REASON_OTHER
        ChurnReasonOther:
          type: string
    SSOCreateResponse:
      type: object
      properties:
        url:
          type: string
          description: requested url with appended token
          example: "http://qat31.aws.avancart.local/cpanel/index.php?logintoken=2c05e11f4e76027f9ca34f1f0a093634"
        expiresIn:
          type: integer
          description: Expiration time in seconds
          example: 90
    SearchUpsellResponse:
      title: SearchUpsellResponse
      type: object
      properties:
        Page:
          type: integer
          description: Current page number
        Limit:
          type: integer
          description: Number of upsell campaigns in a page
        Upsells:
          type: array
          description: Upsell collection from the current page
          items:
            $ref: "#/components/schemas/UpsellResponse"
        UpsellsCount:
          type: integer
          description: Total number of filtered upsell campaigns
        PagesCount:
          type: integer
          description: Total number of pages
    UpdateLicensePaymentInformationPayload:
      type: object
      properties:
        PaymentDetails:
          $ref: "#/components/schemas/UpdateLicensePaymentInformationPaymentDetails"
    UpdateLicensePaymentInformationPaymentDetails:
      type: object
      properties:
        Type:
          type: string
          example: EES_TOKEN_PAYMENT
        PaymentMethod:
          $ref: "#/components/schemas/UpdateLicensePaymentInformationPaymentMethod"
    UpdateLicensePaymentInformationPaymentMethod:
      type: object
      properties:
        EesToken:
          type: string
          example: fa922523-26d0-4cb4-983c-a4c5195baff7
        Vendor3DSReturnURL:
          type: string
          example: "www.3dsReturnURL.com"
        Vendor3DSCancelURL:
          type: string
          example: "www.3dsReturnURL.com"
    GetAvailableCurrenciesResponse:
      type: array
      items:
        type: object
        properties:
          Code:
            type: string
            example: USD
          ISO3DigitCode:
            type: integer
            example: 840
          Label:
            type: string
            example: United States Dollar
          Symbol:
            type: string
            example: $
          SymbolPosition:
            type: string
            example: left
          DecimalSeparator:
            type: string
            example: .
          UnitSeparator:
            type: string
            example: ","
          Decimals:
            type: integer
            example: 2
    GetAvailableCountriesResponse:
      type: array
      items:
        type: object
        properties:
          Code:
            type: string
            example: AF
          Label:
            type: string
            example: Afghanistan
    GetAvailablePaymentMethodsResponse:
      type: array
      items:
        type: object
        properties:
          Currencies:
            type: array
            items:
              type: string
              description: ISO 3-Letter Currency Code
              example: EUR
          Countries:
            type: array
            items:
              type: string
              description: ISO 2-Letter Country Code
              example: RO
          BusinessCompany:
            type: string
            example: AVANGATE_BV
          HasRenewal:
            type: boolean
            example: true
          PaymentType:
            type: string
            example: amex
          PaymentMethod:
            type: string
            example: CC
          AutofillSettings:
            $ref: "#/components/schemas/GetAvailablePaymentMethodsResponse_AutofillSettings"
          SupportsTrial:
            type: boolean
            example: true
    GetAvailablePaymentMethodsResponse_AutofillSettings:
      type: array
      items:
        type: object
        properties:
          Name:
            type: string
            example: SUPPORTED_CARDS
          Value:
            type: string
            example: visa,masterCard
    GetCountryStatesResponse:
      type: array
      items:
        type: object
        properties:
          Name:
            type: string
            example: Alabama
          Code:
            type: string
            example: AL
    UnlinkCustomerCreditCardResponse:
      type: object
      properties:
        Deleted:
          type: boolean
          example: true
    UnlinkCustomerCreditCard400Response:
      type: object
      properties:
        Deleted:
          type: boolean
          example: false
        Errors:
          type: array
          items:
            $ref: "#/components/schemas/UnlinkCustomerCreditCard400ErrorResponse"
    UnlinkCustomerCreditCard400ErrorResponse:
      type: object
      properties:
        SubscriptionReference:
          type: string
          example: 323432dd324
        Message:
          type: string
          example: Subscription not ended
        ErrorCode:
          type: string
          example: UNLINK_CC_01
    LanguageLineItems:
      title: LineItems
      type: array
      description: Line items colection
      items:
        $ref: "#/components/schemas/LanguageLineItem"
    LanguageLineItem:
      title: LineItem
      type: object
      properties:
        Code:
          type: string
          description: ISO2 language code
          example: fr
        Name:
          type: string
          description: Language name
          example: French
    InvoiceTemplates:
      title: InvoiceTemplates
      type: array
      description: Invoice templates colection
      items:
        $ref: "#/components/schemas/InvoiceTemplate"
    InvoiceTemplate:
      title: InvoiceTemplate
      type: object
      properties:
        IdInvoiceTemplate:
          type: string
          description: Invoice template id
          example: 15
        TemplateName:
          type: string
          description: Template name
          example: Test Proforma
    SSOCreateRequest:
      title: SSO Create Request
      type: object
      description: SSO create request
      x-examples:
        SSO create request example:
          Email: test_partnerbb@test.com
          AccessPage: "http://qat31.aws.avancart.local/cpanel/"
          ValidityTime: 90
      properties:
        Email:
          type: string
          description: The partner email address
          example: test_partnerbb@test.com
        AccessPage:
          type: string
          description: Access page
          example: "http://qat31.aws.avancart.local/cpanel"
        ValidityTime:
          type: integer
          description: Token Validity Time
          example: 90
        ValidationIp:
          type: string
          description: Validation Ip
          example: 127.0.0.1
      required:
      - Email
      - AccessPage
    ProformaRefundRequest:
      title: Proforma Refund Request
      type: object
      description: Proforma Refund Request
      x-examples:
        SSO create request example:
          ProformaNumber: 6
          Comment: "Comment"
      properties:
        ProformaNumber:
          type: integer
          description: The partner's proforma number
          example: 6
        Comment:
          type: string
          description: Request comment
          example: "Comment"
      required:
      - ProformaNumber
      - Comment 
    GetPrice:
      required:
      - Currency
      - Item
      type: object
      properties:
        Item:
          $ref: "#/components/schemas/GetPrice_Item"
        BillingDetails:
          $ref: "#/components/schemas/GetPrice_BillingDetails"
        Currency:
          type: string
        CouponCode:
          type: string
        PayType:
          type: string
          enum:
          - CC
          - ENCRYPTED_PAYMENT_DATA
          - PAYPAL
          - PAYPAL_EXPRESS
          - TEST
          - PREVIOUS_ORDER
          - EXISTING_PAYMENT_DATA
          - WIRE
          - CHECK
          - PURCHASEORDER
          - FREE
    GetPriceResponse:
      type: object
      properties:
        ItemPrice:
          type: object
        UnitNetPrice:
          type: number
        UnitGrossPrice:
          type: number
        UnitVAT:
          type: integer
        UnitDiscount:
          type: integer
        UnitNetDiscountedPrice:
          type: number
        UnitGrossDiscountedPrice:
          type: number
        UnitAffiliateCommission:
          type: integer
        VATPercent:
          type: integer
        HandlingFeeNetPrice:
          type: integer
        HandlingFeeGrossPrice:
          type: integer
        AffiliateCommission:
          type: number
        Currency:
          type: string
        Discount:
          type: number
        GrossDiscountedPrice:
          type: number
        GrossPrice:
          type: number
        NetDiscountedPrice:
          type: number
        NetPrice:
          type: number
        VAT:
          type: number
    GetPriceError:
      type: object
      properties:
        error_code:
          type: string
          example: INVALID_PARAMETERS
        message:
          type: string
          example: "Pay type [PAYPAL_EXPRESS] not supported. Choose one of available payment types."
    CrossSellCreate:
      required:
      - DisplayInEmail
      - DisplayType
      - MasterProducts
      - Name
      - Products
      type: object
      properties:
        Name:
          type: string
          description: "Name of campaign, max 255 chars."
          example: New campaign
        MasterProducts:
          type: array
          items:
            type: string
            description: array of product code ids to which this cross sell is going to be applied to
            example: FD86FD98
        DisplayType:
          type: string
          description: Where should cross sell products be displayed
          example: cart
          enum:
          - cart
          - review
          - finish
        DisplayInEmail:
          type: boolean
          description: true/false - display in payment receipt emails or not
          example: false
        Products:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProduct_Response"
        StartDate:
          type: string
          description: When should campaign start
          nullable: true
          example: "2020-12-20"
        EndDate:
          type: string
          description: When should campaign end
          nullable: true
          example: "2021-12-20"
    CrossSellUpdate:
      allOf:
      - type: object
        required:
        - CampaignCode
        - CampaignStatus
        properties:
          CampaignCode:
            type: string
            description: The unique code of the cross-sell campaign
            example: 2Xrl83KEs6KB1XG3db+9dQ==
          CampaignStatus:
            type: string
            description: The cross-selll campaign status
            enum:
            - ACTIVE
            - DISABLED
            example: ACTIVE
      - $ref: "#/components/schemas/CrossSellCreate"
    CrossSellUpdateResponse:
      allOf:
      - $ref: "#/components/schemas/CrossSellUpdate"
      - type: object
        properties:
          Errors:
            type: array
            items:
              type: string
              example: End date is invalid
    UpsellUpdateSettings:
      required:
      - UpsellingDisplayType
      type: object
      properties:
        UpsellingDisplayType:
          type: string
          description: Update displayType setting
          example: overlay
    CrossSellProduct_Request:
      required:
      - Discount
      - DiscountType
      - ProductCode
      type: object
      properties:
        ProductCode:
          type: string
          description: product code id of a product that will be suggested
          example: FD86FD99
        Discount:
          type: integer
          description: "Discount number (in percent), between 0-100"
          example: 15
        DiscountType:
          type: string
          description: can only be 'PERCENT'
          example: PERCENT
          enum:
          - PERCENT
      title: CrossSell request product
    CrossSellProductDiscountedPrice:
      type: object
      properties:
        Currency:
          type: string
          example: "EUR"
        Price:
          type: number
          example: 9.04
    CrossSellProductBasePrice:
      type: object
      properties:
        Currency:
          type: string
          example: "EUR"
        Price:
          type: number
          example: 9.04
    CrossSellProduct_Response:
      required:
      - Discount
      - DiscountType
      - ProductCode
      - DiscountedPrice
      type: object
      properties:
        ProductCode:
          type: string
          description: product code id of a product that will be suggested
          example: FD86FD99
        Discount:
          type: number
          format: float
          description: "Discount number (in percent), between 0-100"
          example: 15.5
        DiscountType:
          type: string
          description: can only be 'PERCENT'
          example: PERCENT
          enum:
          - PERCENT
        DiscountedPrice:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProductDiscountedPrice"
        Errors:
          type: array
          items:
            type: string
            example: Discount number is invalid
    GetCrossSellProduct_Response:
      required:
      - Discount
      - DiscountType
      - ProductCode
      - DiscountedPrice
      - BasePrice
      type: object
      properties:
        ProductCode:
          type: string
          description: product code id of a product that will be suggested
          example: FD86FD99
        Discount:
          type: number
          description: "Discount number (in percent), between 0-100"
          example: 15.5
        DiscountType:
          type: string
          description: can only be 'PERCENT'
          example: PERCENT
          enum:
          - PERCENT
        DiscountedPrice:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProductDiscountedPrice"
        BasePrice:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProductBasePrice"
    CrossSellResponse:
      type: object
      properties:
        CampaignCode:
          type: string
          example: "123"
        Name:
          type: string
          example: New campaign
        MasterProducts:
          type: array
          items:
            type: string
            example: FD86FD98
        DisplayType:
          type: string
          example: cart
          enum:
          - cart
          - review
          - finish
        DisplayInEmail:
          type: boolean
          example: false
        Products:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProduct_Response"
        StartDate:
          type: string
          example: "2020-12-20"
        EndDate:
          type: string
          example: "2021-12-20"
        Errors:
          type: array
          items:
            type: string
            description: "Validation errors, will be empty in case of successful request"
            example: Master products are not provided
    GetCrossSellResponse:
      type: object
      properties:
        CampaignCode:
          type: string
          example: 2Xrl83KSnemB5XG3ea+9hQ==
        Name:
          type: string
          example: New campaign
          enum:
          - cart
          - review
          - finish
        CampaignStatus:
          type: string
          example: ACTIVE
          enum:
          - ACTIVE
          - DISABLED
        CampaignOwnerType:
          type: string
          example: MERCH
          enum:
          - MERCH
          - AFF
        MasterProducts:
          type: array
          items:
            type: string
            example: FD86FD98
        DisplayType:
          type: string
          example: cart
          enum:
          - cart
          - review
          - finish
        DisplayInEmail:
          type: boolean
          example: false
        Products:
          type: array
          items:
            $ref: "#/components/schemas/GetCrossSellProduct_Response"
        StartDate:
          type: string
          example: "2020-12-20"
        EndDate:
          type: string
          example: "2021-12-20"
    CrossSellResponseException:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: INPUT_ERROR
        message:
          type: string
          description: Error message
          example: Invalid product code (FD86FD98)
    CrossSellTextsRequest:
      type: array
      items:
        $ref: "#/components/schemas/CrossSellTextRequest"
    CrossSellTextRequest:
      type: object
      properties:
        Language:
          type: string
          description: language code
          example: en
        Title:
          type: string
          description: campaign title in the related language
          example: Limited offer this week
        Description:
          type: string
          description: campaign description in the related language
          example: Buy this product at 5% discount
    CrossSellTextsResponse:
      type: array
      items:
        $ref: "#/components/schemas/CrossSellTextResponse"
    CrossSellTextResponse:
      allOf:
      - $ref: "#/components/schemas/CrossSellTextRequest"
      - type: object
        properties:
          Errors:
            type: array
            items:
              type: string
    UpsellDisplayTypeResponseException:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: UPSELL_DISPLAY_TYPE_INVALID
        message:
          type: string
          description: Error message
          example: 'Display type is invalid, must be "interstitial" or "overlay"'
    ProductImagesListResponse:
      type: array
      items:
        $ref: "#/components/schemas/ProductImageResponse"
    CrossSellCampaignSearchResponse:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellCampaign"
        Pagination:
          $ref: "#/components/schemas/Pagination"
    UpsellCampaignSettingsResponse:
      type: object
      properties:
        UpsellingDisplayType:
          type: string
          example: overlay
    CrossSellCampaignSearchError:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    CrossSellCampaign:
      type: object
      properties:
        IdCrossSellingCampaign:
          type: number
          example: 435908435
        Name:
          type: string
          example: My campaign
        CampaignCode:
          type: string
          example: 2Xrl83GEn+uBr3G3ddW9eg==
        DisplayType:
          type: string
          example: cart
          enum:
          - cart
          - review
          - finish
        ProductCode:
          type: string
          example: cart
          enum:
          - cart
          - review
          - finish
        MasterProducts:
          type: array
          items:
            type: string
            example: SOME_PRODUCT_CODE
        Products:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProduct_Search"
    Partner:
      type: object
      properties:
        UUID:
          type: string
          example: 9574d048-21cb-4c7c-bb15-d1c99cbdde75
        PartnerCode:
          type: string
          example: ABC123
        CompanyCommercialName:
          type: string
          example: Blue Sky Company
        Address:
          type: string
          example: Elm Street 112
        City:
          type: string
          example: Toronto
        StateOrProvince:
          type: string
          example: Ontario
        Zip:
          type: string
          example: 5514
        FirstName:
          type: string
          example: Jonathan
        LastName:
          type: string
          example: Smith
        Position:
          type: string
          example: manager
        Email:
          type: string
          example: jonathan.smith@mail.com
        Website:
          type: string
          example: bluesky.com
        PhoneNumber:
          type: string
          example: 98765432123
        MobilePhone:
          type: string
          example: 8179186432
        CommunicationLanguage:
          type: string
          example: en
        Country:
          type: string
          example: ca
    CreatePartnerRequest:
      type: object
      properties:
        PartnerCode:
          type: string
          example: ABC123
        CompanyCommercialName:
          type: string
          example: Blue Sky Company
        Address:
          type: string
          example: Elm Street 112
        City:
          type: string
          example: Toronto
        StateOrProvince:
          type: string
          example: Ontario
        Zip:
          type: string
          example: 5514
        FirstName:
          type: string
          example: Jonathan
        LastName:
          type: string
          example: Smith
        Position:
          type: string
          example: manager
        Email:
          type: string
          example: jonathan.smith@mail.com
        Website:
          type: string
          example: bluesky.com
        PhoneNumber:
          type: string
          example: 98765432123
        MobilePhone:
          type: string
          example: 8179186432
        CommunicationLanguage:
          type: string
          example: en
        Country:
          type: string
          example: ca
        FinancialDetails:
          type: object
          properties:
            CompanyRegistrationName:
              type: string
            Address:
              type: string
            City:
              type: string
            Zip:
              type: string
            Country:
              type: string
            State:
              type: string
            GenerateInvoiceMethod:
              type: string
              enum:
              - MANUAL
              - AUTOMATIC_FOREACH_ORDER
              - AUTOMATIC_ON_SPECIFIC_DAY
            CanCreateProformas:
              type: integer
              enum:
              - 0
              - 1
    PartnersSearchResponse:
      type: array
      items:
        type: object
        properties:
          UUID:
            type: string
            example: 9574d048-21cb-4c7c-bb15-d1c99cbdde75
          PartnerCode:
            type: string
            example: ABC123
          CompanyCommercialName:
            type: string
            example: Blue Sky Company
          Address:
            type: string
            example: Elm Street 112
          City:
            type: string
            example: Toronto
          StateOrProvince:
            type: string
            example: Ontario
          Zip:
            type: string
            example: 5514
          FirstName:
            type: string
            example: Jonathan
          LastName:
            type: string
            example: Smith
          Position:
            type: string
            example: manager
          Email:
            type: string
            example: jonathan.smith@mail.com
          Website:
            type: string
            example: bluesky.com
          PhoneNumber:
            type: string
            example: 98765432123
          MobilePhone:
            type: string
            example: 8179186432
          CommunicationLanguage:
            type: string
            example: en
          Country:
            type: string
            example: ca
          Currency:
            type: string
            example: USD
          Status:
            type: string
            enum:
            - PENDING
            - ACTIVE
            - INACTIVE
            - REJECTED
          FinancialDetails:
            type: object
            properties:
              CompanyRegistrationName:
                type: string
              Address:
                type: string
              City:
                type: string
              Zip:
                type: string
              Country:
                type: string
              State:
                type: string
              GenerateInvoiceMethod:
                type: string
                enum:
                - MANUAL
                - AUTOMATIC_FOREACH_ORDER
                - AUTOMATIC_ON_SPECIFIC_DAY
              CanCreateProformas:
                type: integer
                enum:
                - 0
                - 1
    PartnersGetResponse:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/Partner"
    Reseller:
      type: object
      properties:
        ResellerCode:
          type: string
          example: CJ1UK1MFB
        FirstName:
          type: string
          example: Jonathan
        LastName:
          type: string
          example: Smith
        Email:
          type: string
          example: jonathan.smith@mail.com
        Company:
          type: string
          example: Blue Sky Company
        Address:
          type: string
          example: Elm Street 112
        State:
          type: string
          example: Ontario
        PostalCode:
          type: string
          example: 5514
        Phone:
          type: string
          example: 98765432123
        Country:
          type: string
          example: ca
        Fax:
          type: string
          example: 12345
        PartnerCode:
          type: string
          example: LPY6RR782t
    ResellersGetResponse:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/Reseller"
    CreateResellerRequest:
      type: object
      properties:
        FirstName:
          type: string
        LastName:
          type: string
        Company:
          type: string
        Email:
          type: string
        Address:
          type: string
        City:
          type: string
        PostalCode:
          type: string
        Country:
          type: string
        State:
          type: string
        Phone:
          type: string
        Fax:
          type: string
        PartnerCode:
          type: string
    UpdateOrderResellerRequest:
      type: object
      properties:
        PartnerCode:
          type: string
        ResellerCode:
          type: string
        OrderRefNo:
          type: integer
    UpdateResellerRequest:
      type: object
      properties:
        FirstName:
          type: string
        LastName:
          type: string
        Company:
          type: string
        Email:
          type: string
        Address:
          type: string
        City:
          type: string
        PostalCode:
          type: string
        Country:
          type: string
        State:
          type: string
        Phone:
          type: string
        Fax:
          type: string
        PartnerCode:
          type: string
        ResellerCode:
          type: string
    PartnerUser:
      type: object
      properties:
        UUID:
          type: string
          example: 9574d048-21cb-4c7c-bb15-d1c99cbdde75
        Email:
          type: string
          example: jonathan.smith@mail.com
        FirstName:
          type: string
          example: Jonathan
        LastName:
          type: string
          example: Smith
        Position:
          type: string
          example: manager
        PhoneNumber:
          type: string
          example: 98765432123
        MobilePhone:
          type: string
          example: 8179186432
        Status:
          type: string
          example: ACTIVE
    CreatePartnerUserRequest:
      $ref: "#/components/schemas/PartnerUserRequest"
    UpdatePartnerUserRequest:
      $ref: "#/components/schemas/PartnerUserRequest"
    PartnerUserRequest:
      required:
      - Email
      - FirstName
      - LastName
      - PhoneNumber
      - Status
      type: object
      properties:
        Email:
          type: string
          example: jonathan.smith@mail.com
        FirstName:
          type: string
          example: Jonathan
        LastName:
          type: string
          example: Smith
        Position:
          type: string
          example: manager
        PhoneNumber:
          type: string
          example: 98765432123
        MobilePhone:
          type: string
          example: 8179186432
        Status:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
          example: ACTIVE
    PartnersSearchError:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    CrossSellProduct_Search:
      type: object
      properties:
        ProductCode:
          type: string
          example: SOME_PRODUCT_CODE
        Discount:
          type: integer
          example: 10
        DiscountType:
          type: string
          example: PERCENT
          enum:
          - PERCENT
        Type:
          type: string
          example: Own
          enum:
          - Network
          - Own
        AutoAdded:
          type: boolean
          example: false
        DiscountedPrice:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProductDiscountedPrice"
        BasePrice:
          type: array
          items:
            $ref: "#/components/schemas/CrossSellProductBasePrice"
    UpsellCreate:
      type: object
      properties:
        Name:
          type: string
          description: "Name of campaign, max 500 chars."
          example: Christmas Upsell campaign
        StartDate:
          type: string
          description: When will campaign start
          nullable: true
          example: "2020-12-25"
        EndDate:
          type: string
          description: When should campaign end
          nullable: true
          example: "2021-12-27"
        DisplayForManualRenewals:
          type: boolean
          description: Flag that controls compaign display for manual renewals
          example: true
        Discount:
          oneOf:
          - $ref: "#/components/schemas/UpsellCampaignDiscountFixed"
          - $ref: "#/components/schemas/UpsellCampaignDiscountPercent"
        PrimaryProduct:
          $ref: "#/components/schemas/UpsellCampaignProduct"
        RecommendedProduct:
          $ref: "#/components/schemas/UpsellCampaignProduct"
        Enabled:
          type: boolean
          description: Flag that controls if the compaign is enabled
          example: true
        Description:
          type: array
          description: The list of campaign language descriptions
          items:
            $ref: "#/components/schemas/UpsellCampaignLanguageDescription"
      required:
      - Name
      - DisplayForManualRenewals
      - Discount
      - PrimaryProduct
      - RecommendedProduct
      - Enabled
      - Description
    UpsellCampaignDiscountFixed:
      type: object
      properties:
        Type:
          type: string
          description: discount type (FIXED)
          example: FIXED
        Values:
          type: array
          items:
            $ref: "#/components/schemas/UpsellCampaignDiscountAmount"
        DefaultCurrency:
          type: string
          description: discount default currency
          example: EUR
    UpsellCampaignDiscountAmount:
      type: object
      properties:
        Currency:
          type: string
          description: price discount currency
          example: EUR
        Amount:
          type: integer
          description: price discount amount
          example: 10
    UpsellCampaignDiscountPercent:
      type: object
      properties:
        Type:
          type: string
          description: discount type (PERCENT)
          example: PERCENT
        Value:
          type: integer
          description: the value of the percentage discount
          example: 15
    UpsellCampaignProduct:
      type: object
      properties:
        Code:
          type: string
          description: Product code
          example: PC202012
        Quantity:
          type: integer
          description: Product quantity (0 means any quantity)
          example: 1
        PriceOptions:
          type: array
          items:
            $ref: "#/components/schemas/UpsellCampaignProductPriceOption"
    UpsellCampaignProductPriceOption:
      type: object
      properties:
        Code:
          type: string
          description: Price option code
          example: POC1122
        Options:
          type: array
          items:
            $ref: "#/components/schemas/UpsellCampaignProductPriceOptionOption"
    UpsellCampaignProductPriceOptionOption:
      type: object
      properties:
        Code:
          type: string
          description: Price option option code
          example: POOCODE445
        Value:
          type: integer
          description: Value for price option option (inside the ScaleMin and ScaleMax range for that price option option)
          nullable: true
    UpsellCampaignLanguageDescription:
      type: object
      properties:
        Language:
          type: string
          description: language code
          example: EN
        Text:
          type: string
          description: campaign text in the specified language code
          example: "Buy <!--{RECOMMENDED_PRODUCT_NAME}--> for just <!--{RECOMMENDED_PRODUCT_PRICE}--> until Dec 31st"
    UpsellResponse:
      type: object
      properties:
        Code:
          type: string
          description: Uniquely generated campaign code
          example: 65d44020-66f3-4c7c-a391-93039cef839a
        Name:
          type: string
          description: Name of campaign
          example: Christmas Upsell campaign
        StartDate:
          type: string
          description: When will campaign start
          nullable: true
          example: "2020-12-25"
        EndDate:
          type: string
          description: When will campaign end
          nullable: true
          example: "2021-12-27"
        DisplayForManualRenewals:
          type: boolean
          description: Flag that controls compaign display for manual renewals
          example: true
        Discount:
          oneOf:
          - $ref: "#/components/schemas/UpsellCampaignDiscountFixed"
          - $ref: "#/components/schemas/UpsellCampaignDiscountPercent"
        PrimaryProduct:
          $ref: "#/components/schemas/UpsellCampaignProduct"
        RecommendedProduct:
          $ref: "#/components/schemas/UpsellCampaignProduct"
        Enabled:
          type: boolean
          description: Flag that controls if the compaign is enabled
          example: true
        Description:
          type: array
          description: The list of campaign language descriptions
          items:
            $ref: "#/components/schemas/UpsellCampaignLanguageDescription"
    UpsellResponseException:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: UPSELL_CAMPAIGN_INVALID_DISCOUNT_TYPE
        message:
          type: string
          description: Error message
          example: Invalid Discount type
    DeleteUpsellResponseException:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: UPSELL_CAMPAIGN_CODE_INVALID
        message:
          type: string
          description: Error message
          example: Code is invalid
    ProductUpgradeSchemaRequest:
      type: object
      properties:
        AllowUpgradeFrom:
          type: array
          description: The list of the codes of products that can be upgraded to the product specified
          items:
            type: string
            example: PROD322AX3
        UpgradeSettings:
          $ref: "#/components/schemas/ProductUpgradeSettings"
      required:
      - AllowUpgradeFrom
      - UpgradeSettings
    ProductUpgradeSettings:
      type: object
      properties:
        PricingScheme:
          type: integer
          example: 1
          description: "The pricing option scheme for the upgrade: 1 (full price), 2 (price difference), 3 (prorated with most recent costs), 4 (prorated with price setup)"
        OptionPriceOperator:
          type: string
          example: ADD
          description: "The price option operator to be used when calculating the upgrade price percentage (in not prorated pricing scheme): ADD or SUBSTRACT"
        OptionPricePercentage:
          type: integer
          example: 5
          description: The percentage to be added/substracted to/from the upgrade price (in not prorated pricing scheme)
        SubscriptionUpgradeType:
          type: integer
          example: 1
          description: "The subscription period option for the upgrade product: 3 (same lifetime), 1 (new subscription), 2 (prolong subscription from the upgrade date)"
        UseProductCatalogPricing:
          type: boolean
          example: true
          default: false
          description: Controls if custom prices for the upgrade product are disabled or not (default false)
        ProrateIgnoreGracePeriod:
          type: boolean
          example: true
          description: Controls if renewal grace period is ignored at prorated upgrade price calculation (default false)
        ApplyExistingDiscountToRenewalsAfterUpgrade:
          type: boolean
          example: true
          description: Controls if should apply an existing discount to future renewals following an upgrade (default false)
      required:
      - PricingScheme
      - SubscriptionUpgradeType
    ProductUpgradeSchemaErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          example: INVALID_ALLOW_UPGRADE_FROM
        message:
          type: string
          example: The AllowUpgradeFrom must be an array
    Pagination:
      type: object
      properties:
        Page:
          type: integer
          example: 1
        Limit:
          type: integer
          example: 10
        Count:
          type: integer
          example: 12
    CrossSellSearchError:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    CrossSellSetting:
      required:
      - displayProductsMax
      - maxThumbSize
      type: object
      properties:
        displayProductsMax:
          type: integer
          example: 5
        maxThumbSize:
          type: integer
          example: 100
          enum:
          - 60
          - 80
          - 100
          - 150
        displayShortDescription:
          type: boolean
          example: false
    CrossSellError:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    PlaceOrder:
      type: object
      properties:
        Language:
          type: string
        Country:
          type: string
        CustomerIP:
          type: string
        Source:
          type: string
        WSOrder:
          type: string
        ExternalCustomerReference:
          type: string
        Currency:
          type: string
        Promotions:
          type: array
          items:
            type: string
        Affiliate:
          $ref: "#/components/schemas/orders0_Affiliate"
        Items:
          type: array
          items:
            $ref: "#/components/schemas/PlaceOrder_Items"
        BillingCycleReset:
          type: boolean
          description: Only used when the request type is "Place an order with manual renewal". Licence renewal will start immediately upon processing the new order, resetting the billing cycle.
        BillingDetails:
          $ref: "#/components/schemas/PlaceOrder_BillingDetails"
        PaymentDetails:
          $ref: "#/components/schemas/PlaceOrder_PaymentDetails"
        ExtraInformation:
          $ref: "#/components/schemas/PlaceOrder_ExtraInformation"
    OrderReference:
      type: string
      example: "11582176"
    CancelRefundReference200:
      type: object
      properties:
        RefundId:
          type: string
          example: 5
    CancelRefundReference400:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
      example:
        error_code: ORDER_ERROR
        message: Refund not found for order 734881310
    RefundableInformation:
      type: object
      description: Information about refundable amounts and line items for an order
      properties:
        TotalRefundableAmount:
          type: number
          format: float
          description: Total refundable amount remaining on the order
          example: 150.50
        LineItems:
          type: array
          description: Line items available for refund
          items:
            $ref: "#/components/schemas/RefundableLineItem"
    RefundableLineItem:
      type: object
      description: Individual line item available for refund
      properties:
        LineItemReference:
          type: string
          description: Unique reference for the line item
          example: "7fe4770c0c95d44dec5c02ee1bc752b568b47808"
        ProductCode:
          type: string
          description: Product code
          example: "904983"
        AvailableQuantity:
          type: integer
          description: Quantity available for refund
          example: 1
        AvailableAmount:
          type: number
          format: float
          description: Amount available for refund
          example: 150.50
    RefundDetails:
      type: object
      description: Detailed information about a refund request
      properties:
        RequestStatus:
          type: string
          description: Status of the refund request
          enum:
            - APPROVED
            - PENDING
            - REJECTED
            - CANCELLED
          example: "APPROVED"
        RequestDate:
          type: string
          description: Date when the refund was requested
          format: date-time
          example: "2022-07-18 20:09:37"
        RequestApprovedDate:
          type: string
          description: Date when the refund was approved
          format: date-time
          example: "2022-07-18 20:09:37"
        RequestAmount:
          type: number
          format: float
          description: Amount of the refund
          example: 99.00
        RequestReason:
          type: string
          description: Reason for the refund
          example: "Customer requested refund"
        Type:
          type: string
          description: Type of refund
          enum:
            - FULL
            - PARTIAL
          example: "PARTIAL"
        LineItems:
          type: array
          description: Line items included in this refund
          items:
            $ref: "#/components/schemas/RefundLineItem"
    RefundLineItem:
      type: object
      description: Individual line item included in a refund
      properties:
        LineItemReference:
          type: string
          description: Unique reference for the line item
          example: "7fe4770c0c95d44dec5c02ee1bc752b568b47808"
        ProductCode:
          type: string
          description: Product code
          example: "904983"
        Quantity:
          type: integer
          description: Quantity refunded
          example: 1
        Amount:
          type: number
          format: float
          description: Amount refunded for this line item
          example: 99.00
    OrderReferenceSaleBadRequest:
      type: object
      properties:
        error_code:
          type: string
          example: ORDER_SALE_ID_INVALID
        message:
          type: string
          example: The sale id is invalid.
    OrderReferenceInvoiceBadRequest:
      type: object
      properties:
        error_code:
          type: string
          example: ORDER_INVOICE_ID_INVALID
        message:
          type: string
          example: The invoice id is invalid.
    DeleteSkuPriceConfiguration:
      type: object
      properties:
        PriceConfigurationCode:
          type: string
          example: B293KS234
        SKUs:
          type: array
          example:
          - AA11
          - AA12
          - AA13
          items:
            type: string
    DeleteSkuProduct:
      type: object
      properties:
        ProductCode:
          type: string
          example: ABAC3939F
        PriceConfiguration:
          type: array
          items:
            $ref: "#/components/schemas/DeleteSkuPriceConfiguration"
        SKUs:
          type: array
          example:
          - AA11
          - AA12
          - AA13
          items:
            type: string
    DeleteSkuPriceConfigurationResponse:
      type: object
      properties:
        PriceConfigurationCode:
          type: string
          example: B293KS234
        SKUs:
          type: array
          example:
          - AA11
          - AA12
          - AA13
          items:
            type: string
        Errors:
          type: array
          example:
          - Invalid PriceConfigurationCode
          - Invalid SKU AA13!
          items:
            type: string
    DeleteSkuProductResponse:
      type: object
      properties:
        ProductCode:
          type: string
          example: B293KS234
        PriceConfiguration:
          type: array
          items:
            $ref: "#/components/schemas/DeleteSkuPriceConfigurationResponse"
        SKUs:
          type: array
          example:
          - AA11
          - AA12
          - AA13!
          items:
            type: string
        Errors:
          type: array
          example:
          - Can't parse both SKU and PriceConfiguration at same time
          - Invalid SKU AA13!
          items:
            type: string
    ShippingFeeResponse:
      type: object
      properties:
        Name:
          type: string
        Code:
          type: string
        Amount:
          type: string
        Currency:
          type: string
        ApplyTo:
          type: string
        Type:
          type: string
    ProductImageResponse:
      type: object
      properties:
        Default:
          type: boolean
          example: true
        URL:
          type: string
          example: "http://secure.avangate.org/images/merchant/2fa8fadcc0c3506875c09e7e7da28835/products/test.png"
    ShippingFeesResponse:
      type: array
      items:
        $ref: "#/components/schemas/ShippingFeeResponse"
    SearchShippingMethods:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/SearchShippingMethodsItems"
        Pagination:
          $ref: "#/components/schemas/Pagination"
    SearchShippingMethodsItems:
      type: object
      properties:
        Name:
          type: string
          example: Shipping56
        Code:
          type: string
          example: 3D4DD3B4A3
        TrackingUrl:
          type: string
          example: "https://www.9230-kasdjx-a-z.com"
        BasePrice:
          type: integer
          example: 23
        Currency:
          type: string
          example: USD
        Active:
          type: boolean
          example: true
        Availability:
          type: string
          example: ALL
        Countries:
          type: array
          items:
            $ref: "#/components/schemas/SearchShippingMethodsCountries"
        Surcharge:
          type: array
          items:
            $ref: "#/components/schemas/SearchShippingMethodsSurcharge"
    SearchShippingMethodsSurcharge:
      type: object
      properties:
        Type:
          type: string
          example: WEIGHT
        From:
          type: number
          example: 1.5
        To:
          type: integer
          example: -1
        Amount:
          type: integer
          example: 1
        ApplyTo:
          type: string
          example: unit
    SearchShippingMethodsCountries:
      type: object
      properties:
        CountryCode:
          type: string
          example: AE
        Surcharge:
          type: string
          example: "0"
    SearchPayouts:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/SearchPayoutsItems"
        Pagination:
          $ref: "#/components/schemas/Pagination"
    SearchPayoutsItems:
      type: object
      properties:
        TransferCompletionDate:
          type: string
          example: "2019-02-27"
        PaymentType:
          type: string
          example: WIRE
        Amount:
          type: number
          example: 13
        TotalSales:
          type: number
          example: 1
        TotalFees:
          type: number
          example: 1
        TotalRefunds:
          type: number
          example: 0
        Currency:
          type: string
          example: USD
        Status:
          type: string
          example: PAID
        Invoices:
          type: array
          items:
            $ref: "#/components/schemas/SearchPayoutsInvoices"
        Summary:
          $ref: "#/components/schemas/SearchPayoutsItems_Summary"
    SearchPayoutsInvoices:
      type: object
      properties:
        Reference:
          type: string
          example: BV27877349
        Amount:
          type: number
          example: 2.5
        Description:
          type: string
          example: some description
        Type:
          type: string
          example: Services
        Code:
          type: string
          example: 123CV13
        Date:
          type: string
          example: "2018-08-20"
        PaidAmount:
          type: number
          example: 2.5
        PaidDate:
          type: string
          example: "2019-02-28"
        PaidCurrency:
          type: string
          example: USD
        RetainedAmount:
          type: number
          example: 1
        ReleasedAmount:
          type: number
          example: 1
    PendingPayouts:
      type: object
      properties:
        Currencies:
          type: array
          items:
            $ref: "#/components/schemas/PendingPayoutsCurrencies"
        Total:
          $ref: "#/components/schemas/PendingPayouts_Total"
    PendingPayoutsCurrencies:
      type: object
      properties:
        Currency:
          type: string
          example: USD
        OrdersTotal:
          $ref: "#/components/schemas/PendingPayoutsCurrencies_OrdersTotal"
        RetainedToDisputesBalance:
          type: number
          example: 0
        ReleasedFromDisputesBalance:
          type: number
          example: 0
        RetainedToRollingReserveBalance:
          type: number
          example: 5.18
        ReleasedFromRollingReserveBalance:
          type: number
          example: 0
        ChargebackFees:
          type: number
          example: 0
        ProcessingFees:
          type: number
          example: 0
        AffiliatesCommission:
          type: number
          example: 0
        TaxCollected:
          type: number
          example: 0
        EstimatedTotalRevenue:
          type: number
          example: -5.18
    LeadResponse:
      type: object
      properties:
        LeadCode:
          type: string
          example: 3501E8CADA
        CreatedAt:
          type: string
          example: "2018-10-05 12:45:32"
        Errors:
          type: array
          items:
            $ref: "#/components/schemas/LeadResponse_Errors"
    UpdateLeadResponse:
      type: object
      properties:
        LeadCode:
          type: string
          example: 3501E8CADA
        CreatedAt:
          type: string
          example: "2018-10-05 12:45:32"
        UpdatedAt:
          type: string
          example: "2018-10-05 12:45:32"
        Errors:
          type: array
          items:
            $ref: "#/components/schemas/LeadResponse_Errors"
    GetLeadResponse:
      type: object
      properties:
        LeadCode:
          type: string
          example: TFTF76455ee4YFCFCT6545465
        GeneratedFrom:
          type: string
          example: API
        CartId:
          type: string
          example: tstsetststs45453
        Currency:
          type: string
          example: USD
        Language:
          type: string
          example: EN
        ExternalReference:
          type: string
          example: REST_API_AVANGTE
        MachineId:
          type: string
          example: "123"
        Items:
          $ref: "#/components/schemas/GetLeadResponse_Items"
        BillingDetails:
          $ref: "#/components/schemas/GetLeadResponse_BillingDetails"
        DeliveryDetails:
          $ref: "#/components/schemas/GetLeadResponse_DeliveryDetails"
        DeliveryInformation:
          $ref: "#/components/schemas/GetLeadResponse_DeliveryInformation"
        PaymentDetails:
          $ref: "#/components/schemas/GetLeadResponse_PaymentDetails"
        Promotions:
          type: array
          items:
            $ref: "#/components/schemas/GetLeadResponse_Promotions"
        LocalTime:
          type: string
          example: "2018-02-08 11:32:02"
    Item:
      type: object
      properties:
        Code:
          type: string
          example: my_product_1
        Quantity:
          type: integer
          example: 1
        SKU:
          type: string
          example: df1
        IsDynamic:
          type: boolean
          example: false
        Tangible:
          type: boolean
          example: false
        PurchaseType:
          type: string
          example: PRODUCT
        PriceOptions:
          $ref: "#/components/schemas/Item_PriceOptions"
        RecurringOptions:
          $ref: "#/components/schemas/Item_RecurringOptions"
        MarketingCampaigns:
          $ref: "#/components/schemas/Item_MarketingCampaigns"
        Price:
          $ref: "#/components/schemas/Item_Price"
        AdditionalFields:
          $ref: "#/components/schemas/Item_AdditionalFields"
        SubscriptionStartDate:
          type: string
          example: "0000-00-00 00:00:00"
        Trial:
          $ref: "#/components/schemas/LeadTrial"
    PriceOptions:
      type: object
      properties:
        Name:
          type: string
          example: sdfsd
        Options:
          $ref: "#/components/schemas/PriceOptions_Options"
    PriceOptionsOption:
      type: object
      properties:
        Name:
          type: string
          example: fsdfsdf
        Value:
          type: string
          example: fsdfsdf
        Surcharge:
          type: number
          example: 10.36
    LeadTrial:
      type: object
      properties:
        Period:
          type: integer
          example: 2
        Price:
          type: number
          example: 4.17
    RecurringOptions:
      type: object
      properties:
        CycleLength:
          type: integer
          example: 23
        CycleUnit:
          type: string
          example: m
        CycleAmount:
          type: integer
          example: 23
        ContractLength:
          type: integer
          example: 23
        ContractUnit:
          type: string
          example: m
    MarketingCampaigns:
      type: object
      properties:
        Type:
          type: integer
          example: 23
        ParentCode:
          type: string
          example: m
        CampaignCode:
          type: integer
          example: 23
    Price:
      type: object
      properties:
        Amount:
          type: integer
          example: 23
        Type:
          type: string
          example: m
    AdditionalFields:
      type: object
      properties:
        Code:
          type: string
          example: f
        Text:
          type: string
          example: m
        Value:
          type: string
          example: s
    BillingDetails:
      type: object
      properties:
        FirstName:
          type: string
          example: Customer
        LastName:
          type: string
          example: Avangate
        Phone:
          type: string
          example: 065-897-4568
        Company:
          type: string
          example: Chack
        FiscalCode:
          type: string
          example: "32423423"
        Email:
          type: string
          example: customer@avangate.com
        Address1:
          type: string
          example: Test Address
        Address2:
          type: string
          example: "null"
        City:
          type: string
          example: LA
        Zip:
          type: string
          example: "12345"
        CountryCode:
          type: string
          example: US
        State:
          type: string
          example: CA
    DeliveryDetails:
      type: object
      properties:
        Phone:
          type: string
          example: 065-897-4568
        FirstName:
          type: string
          example: Customer
        LastName:
          type: string
          example: Avangate
        Company:
          type: string
          example: Chack
        FiscalCode:
          type: string
          example: "32423423"
        Email:
          type: string
          example: customer@avangate.com
        Address1:
          type: string
          example: Test Address
        Address2:
          type: string
          example: "null"
        City:
          type: string
          example: LA
        Zip:
          type: string
          example: "12345"
        CountryCode:
          type: string
          example: US
        State:
          type: string
          example: CA
    DeliveryInformation:
      type: object
      properties:
        ShippingMethod:
          $ref: "#/components/schemas/DeliveryInformation_ShippingMethod"
    PaymentDetails:
      type: object
      properties:
        Type:
          type: string
          example: CC
        Currency:
          type: string
          example: EUR
        RecurringEnabled:
          type: boolean
          example: true
        PaymentMethod:
          $ref: "#/components/schemas/PaymentDetails_PaymentMethod"
        CustomerIP:
          type: string
          example: 1.2.3.4
    ErrorResponse:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
      x-examples:
        example-1:
          error_code: string
          message: string
    SubscriptionResponse:
      type: object
      properties:
        SubscriptionReference:
          type: string
          example: 3501E8CADA
        StartDate:
          type: string
          example: "2018-09-03 16:28:32"
        ActivationDate:
          type: string
          example: "2018-09-03 16:28:32"
        ExpirationDate:
          type: string
          example: "2018-09-03 17:28:32"
        RecurringEnabled:
          type: boolean
          example: true
        NextBillingDate:
          type: string
          default: "null"
          example: "2020-11-09T12:19:31+02:00"
          minLength: 0
          maxLength: 25
        SubscriptionEnabled:
          type: boolean
          example: true
        Product:
          $ref: "#/components/schemas/Product"
        EndUser:
          $ref: "#/components/schemas/EndUser"
        SKU:
          type: string
          example: ""
        DeliveryInfo:
          $ref: "#/components/schemas/DeliveryInfo"
        ReceiveNotifications:
          type: boolean
          example: true
        Lifetime:
          type: boolean
          example: false
        PartnerCode:
          type: string
          example: ADE86
        ReasonText:
          type: string
          example: Imported
        IdAffiliate:
          type: integer
          example: 0
        CustomerReference:
          type: string
          example: "918495269"
        ExternalCustomerReference:
          type: string
          example: 123980DUSI46
        TestSubscription:
          type: boolean
          example: false
        IsTrial:
          type: boolean
          example: false
        Status:
          type: string
          example: EXPIRED
        LatestSubscriptionOrder:
          $ref: "#/components/schemas/LatestSubscriptionOrder"
        IsAssistedSale:
          type: boolean
          example: false
        Billing:
          type: object
          properties:
            Quantity:
              type: integer
              example: 1
            Currency:
              type: string
              example: "USD"
            UnitBillingPriceNet:
              type: number
              example: 2242.25
            UnitBillingPriceGross:
              type: number
              example: 2399
            BillingPriceNet:
              type: number
              example: 2242.25
            BillingPriceGross:
              type: number
              example: 2399
            NoOfBillingCycles:
              type: integer
              example: -1
            CurrentBillingCycle:
              type: integer
              example: 1
            PayedBillingCycles:
              type: integer
              example: 0
            RemainingBillingCycles:
              type: integer
              example: 0
            CurrentBillingCycleEndDate:
              type: string
              example: "2024-03-20T13:53:59+02:00"
            TaxAmount:
              type: number
              example: 156.94
            TaxPercent:
              type: number
              example: 7
            BillingCyclesFrequency:
              type: integer
              example: 1
            BillingCycleFrequencyUnit:
              type: string
              example: "MONTHS"
            ContractLength:
              type: string
              nullable: true
              example: 12
            ContractLengthUnit:
              type: string
              example: "MONTHS"
            PriceOptions:
              type: array
              items:
                type: object
                properties:
                  Code:
                    type: string
                    example: "LIST_USERS_YEARS"
                  Options:
                    type: array
                    items:
                      type: object
                      properties:
                        Value:
                          type: string
                          example: "h-3u-1y"
            ActivationKey:
              type: string
              nullable: true
              example: "7686-8768"
      required:
      - NextBillingDate
    EndUser:
      type: object
      properties:
        FirstName:
          type: string
          example: John
        LastName:
          type: string
          example: Doe
        Email:
          type: string
          example: dynamicproduct@products.com
        Company:
          type: string
          example: ""
        FiscalCode:
          type: string
          example: A54FR
        Phone:
          type: string
          example: ""
        Fax:
          type: string
          example: ""
        Address1:
          type: string
          example: Address example
        Address2:
          type: string
          example: ""
        Zip:
          type: string
          example: "90210"
        City:
          type: string
          example: LA
        State:
          type: string
          example: California
        CountryCode:
          type: string
          example: us
        Language:
          type: string
          example: en
    DeliveryInfo:
      type: object
      properties:
        Description:
          type: string
          example: Company office
        Codes:
          $ref: "#/components/schemas/DeliveryInfo_Codes"
    DeliveryInfoCode:
      type: object
      properties:
        Code:
          type: string
          example: FDS89UY
        File:
          type: string
          example: ""
        Description:
          type: string
          example: ""
        ExtraInfo:
          type: string
          example: Sample info
    LatestSubscriptionOrder:
      type: object
      properties:
        RefNo:
          type: integer
          example: 11791662
        Status:
          type: string
          example: COMPLETE
        FailedRecurringChargesCount:
          type: integer
          example: 0
    ProductSkuSearchResponse:
      type: object
      properties:
        ProductCode:
          type: string
          example: O365BASIC
        PricingConfigurations:
          $ref: "#/components/schemas/ProductSkuSearchResponse_PricingConfigurations"
        Errors:
          type: array
          items:
            $ref: "#/components/schemas/Error"
    Currency:
      type: object
      properties:
        Code:
          type: string
          example: EUR
    PurchaseType:
      type: object
      properties:
        Code:
          type: string
          example: NEW_PRODUCT
    QuantityInterval:
      type: object
      properties:
        MinQuantity:
          type: number
          example: 0
        MaxQuantity:
          type: number
          example: 9999
    PriceOptionGroup:
      type: object
      properties:
        Code:
          type: string
          example: WDS998U
        Options:
          type: array
          items:
            $ref: "#/components/schemas/PriceOption"
    PriceOption:
      type: object
      properties:
        OptionValue:
          type: string
          example: Black color
    Sku:
      type: object
      properties:
        ProductCode:
          type: string
          example: PODQ92E
        SkuPricingOptions:
          type: array
          items:
            $ref: "#/components/schemas/SkuPricingOptions"
    Error:
      type: object
      properties:
        Field:
          type: string
          example: "PricingConfigurations[0].Code"
        Message:
          type: string
          example: This value should not be blank.
    SearchAffiliatesError:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    SkuPricingOptions:
      type: object
      properties:
        Code:
          type: string
          example: POC29I
        Details:
          type: array
          items:
            $ref: "#/components/schemas/SkuPricingOptionsDetails"
    SkuPricingOptionsDetails:
      type: object
      properties:
        ProductSKU:
          type: string
          example: " SKU-USD-0-20-R-C"
        Currency:
          type: string
          example: USD
        FromQty:
          type: number
          example: 0
        ToQty:
          type: number
          example: 20
        PurchaseType:
          type: string
          example: NEW_PRODUCT
        Groups:
          $ref: "#/components/schemas/SkuPricingOptionsDetails_Groups"
        Options:
          type: string
          example: "a:1:{i:13471;a:1:{i:0;i:72680;}"
    SkuPricingOptionsDetailsOption:
      type: object
      properties:
        Name:
          type: string
          example: DetailOption
        Value:
          type: string
          example: OptionValue
    SkuPricingOptionsDetailsForSchema:
      type: object
      properties:
        Code:
          type: string
          example: PRODUCT_CODE_1
        Details:
          $ref: "#/components/schemas/SkuPricingOptionsDetailsForSchema_Details"
        Errors:
          type: array
          items:
            type: string
            example: ""
    SkuPricingOptionsForSchema:
      type: object
      properties:
        ProductSKU:
          type: string
          example: ""
        Currency:
          type: string
          example: USD
        FromQty:
          type: integer
          example: 1
        ToQty:
          type: integer
          example: 5
        PurchaseType:
          type: string
          example: NEW_PRODUCT
        Groups:
          $ref: "#/components/schemas/SkuPricingOptionsForSchema_Groups"
        Options:
          type: string
          example: eJwBLADT/6G10uOW07exk6mNk7K/oN2Sc4l1lbXToqi5sriTcbOXseWu3pGFp3auuZOoleEc+Q==
    ValidationErrorsSkuPricingOptionsDetails:
      type: object
      properties:
        ProductCode:
          type: string
          example: VALIDATION_ERRORS_PRODUCT_CODE
        SkuPricingOptions:
          $ref: "#/components/schemas/ValidationErrorsSkuPricingOptionsDetails_SkuPricingOptions"
    AffiliateResponse:
      type: object
      properties:
        AffiliateCode:
          type: string
          example: 3501E8CADA
        Status:
          type: string
          example: Active
        Affiliate Name:
          type: string
          example: Softy Bofty
        Website:
          type: string
          example: "https://softy.fake"
        CommissionList:
          $ref: "#/components/schemas/AffiliateResponse_CommissionList"
        RequestDate:
          type: string
          example: "2018-10-05"
        Categories:
          type: array
          items:
            type: string
            example:
            - PC security
            - Mobile security
        TCStatus:
          type: string
          example: Accepted
        AffiliateContact:
          $ref: "#/components/schemas/AffiliateResponse_AffiliateContact"
    CommissionList:
      type: object
      properties:
        ListName:
          type: string
          example: CommissionList1
        CommissionRate:
          type: string
          example: 25%
    AffiliateContact:
      type: object
      properties:
        FirstName:
          type: string
          example: John
        LastName:
          type: string
          example: Doe
        Phone:
          type: string
          example: "40723483987"
        Email:
          type: string
          example: dynamicproduct@products.com
        Country:
          type: string
          example: Spain
    GetAdditionalFieldsResponse:
      type: array
      items:
        $ref: "#/components/schemas/AdditionalFieldsResponseItems"
    AdditionalFieldsResponseItems:
      type: object
      properties:
        Label:
          type: string
          example: phone number
        Code:
          type: string
          example: A5FD
        Type:
          type: string
          example: TEXT
        ApplyTo:
          type: string
          example: ORDER
        Values:
          type: array
          items:
            type: string
            example: "YES"
        ValidationRule:
          type: string
          example: /test_rule/
        Translations:
          $ref: "#/components/schemas/AdditionalFieldsResponseItems_Translations"
        Display:
          $ref: "#/components/schemas/AdditionalFieldsResponseItems_Display"
    AdditionalFieldsTranslations:
      type: object
      properties:
        Label:
          type: string
          example: request example
        Values:
          type: array
          items:
            type: string
            example: OK
        Language:
          type: string
          example: EN
    AdditionalFieldsDisplay:
      type: object
      properties:
        Type:
          type: string
          example: Order
        Active:
          type: boolean
          example: false
        Required:
          type: boolean
          example: false
    CustomerInformation:
      type: object
      properties:
        ExternalCustomerReference:
          type: string
        FirstName:
          type: string
        LastName:
          type: string
        Company:
          type: string
        FiscalCode:
          type: string
        Address1:
          type: string
        Address2:
          type: string
        City:
          type: string
        State:
          type: string
        Zip:
          type: string
        CountryCode:
          type: string
        Phone:
          type: string
        Fax:
          type: string
        Email:
          type: string
        ExistingCards:
          type: array
          items:
            type: string
        Enabled:
          type: boolean
        Trial:
          type: boolean
        Language:
          type: string
        CustomerReference:
          type: string
        Credit:
          type: object
          properties:
            Limit:
              type: number
              description: The credit limit available for customer
              format: float
              example: 50
            Remaining:
              type: number
              description: The remaining credit available for customer
              format: float
              example: 50
            Currency:
              type: string
              description: The credit currency
              example: USD
    PromotionCoupon:
      type: object
      properties:
        Type:
          type: string
          description: coupon type (SINGLE or MULTIPLE)
          example: SINGLE
        Code:
          type: string
          description: coupon code
          example: CP2019-11
    PromotionDiscount:
      type: object
      properties:
        Type:
          type: string
          description: discount type (FIXED / PERCENT)
          example: PERCENT
        Value:
          type: number
          description: discount value
          example: 11.5
        DefaultCurrency:
          type: string
          description: promotion currency
          example: EUR
    PromotionDiscountFixed:
      type: object
      properties:
        Type:
          type: string
          description: discount type (FIXED)
          example: FIXED
        Values:
          type: array
          items:
            $ref: "#/components/schemas/PromotionDiscountAmount"
        DefaultCurrency:
          type: string
          description: promotion currency
          example: EUR
    PromotionDiscountPercent:
      type: object
      properties:
        Type:
          type: string
          description: discount type (PERCENT)
          example: PERCENT
        Value:
          type: integer
          description: the value of the percentage discount
          example: 30
    PromotionDiscountAmount:
      type: object
      properties:
        Currency:
          type: string
          description: price discount currency
          example: EUR
        Amount:
          type: number
          description: price discount amount
          example: 1.5
    PromotionPriceThreshold:
      type: object
      properties:
        Currency:
          type: string
          description: price threshold currency
          example: EUR
        Amount:
          type: number
          description: price threshold amount
          example: 1.5
    GlobalPromotionPriceThreshold:
      type: object
      properties:
        Values:
          type: array
          items:
            $ref: "#/components/schemas/PromotionPriceThreshold"
        DefaultCurrency:
          type: string
          description: promotion currency
          example: EUR
    PromotionProduct:
      type: object
      properties:
        Code:
          type: string
          description: Promotion code.
          example: Black Friday promo discount
        PricingConfigurationCode:
          type: string
          description: Pricing configuration code.
          example: 548AF4CD26
        PricingOptionCodes:
          type: array
          items:
            type: string
    PromotionProducts:
      type: array
      items:
        $ref: "#/components/schemas/PromotionProduct"
    PromotionTranslation:
      type: object
      properties:
        Name:
          type: string
          description: Translation text.
          example: Regular promotion for October
        Language:
          type: string
          description: Translation language code.
          example: EN
    PromotionTranslations:
      type: array
      items:
        $ref: "#/components/schemas/PromotionTranslation"
    PromotionSources:
      type: object
      properties:
        SOURCE_1:
          type: string
        SOURCE_2:
          type: string
        SOURCE_3:
          type: string
    priceMatrixPrice:
      type: object
      properties:
        ProductCode:
          type: string
          description: product code
        PricingConfigurationCode:
          type: string
          description: pricing configuration code
        OptionHash:
          type: string
          description: hash generated based on price options
        Options:
          type: array
          items:
            type: object
            description: price options info
            properties:
              GroupName:
                type: string
              OptionText:
                type: string
        Prices:
          type: array
          items:
            type: object
            properties:
              Value:
                type: number
              Currency:
                type: string
    PromotionResponse:
      type: object
      properties:
        Code:
          type: string
          description: promotion code
        Name:
          type: string
          description: promotion name
        Description:
          type: string
          description: promotion description
        StartDate:
          type: string
          description: promotion start date
        EndDate:
          type: string
          description: promotion end date
        MaximumOrdersNumber:
          type: number
          description: promotion maximum number of orders
          example: -1
        MaximumQuantity:
          type: number
          description: promotion maximum number of products
          example: -1
        InstantDiscount:
          type: boolean
          description: instant discount applied to the promotion
          example: false
        Coupon:
          $ref: "#/components/schemas/PromotionCoupon"
        Enabled:
          type: boolean
          example: true
        ChannelType:
          type: string
          example: ECOMMERCE
        Type:
          type: string
          example: REGULAR
        Discount:
          $ref: "#/components/schemas/PromotionDiscount"
        Products:
          $ref: "#/components/schemas/PromotionProducts"
        PriceThreshold:
          $ref: "#/components/schemas/PromotionPriceThreshold"
        Translations:
          $ref: "#/components/schemas/PromotionTranslations"
        Sources:
          type: array
          items:
            type: string
        PublishToAffiliatesNetwork:
          type: number
          example: 0
        ApplyRecurring:
          type: string
          example: NONE
        RecurringChargesNumber:
          type: number
          description: number of recurring charges to apply the promotion to
          example: 1
    GlobalPromotionResponse:
      type: object
      properties:
        Code:
          type: string
          description: promotion code
        Name:
          type: string
          description: promotion name
        Description:
          type: string
          description: promotion description
        StartDate:
          type: string
          description: promotion start date
        EndDate:
          type: string
          description: promotion end date
        MaximumOrdersNumber:
          type: number
          description: promotion maximum number of orders
          example: -1
        MaximumQuantity:
          type: number
          description: promotion maximum number of products
          example: -1
        InstantDiscount:
          type: boolean
          description: instant discount applied to the promotion
          example: false
        Coupon:
          $ref: "#/components/schemas/PromotionCoupon"
        Enabled:
          type: boolean
          example: true
        ChannelType:
          type: string
          example: ECOMMERCE
        Type:
          type: string
          example: REGULAR
        Discount:
          $ref: "#/components/schemas/PromotionDiscountFixed"
        PriceThreshold:
          $ref: "#/components/schemas/GlobalPromotionPriceThreshold"
        Translations:
          $ref: "#/components/schemas/PromotionTranslations"
        Sources:
          type: array
          items:
            type: string
        PublishToAffiliatesNetwork:
          type: number
          example: 0
        ApplyRecurring:
          type: string
          example: NONE
        RecurringChargesNumber:
          type: number
          description: number of recurring charges to apply the promotion to
          example: 1
    SpecialPricePromotionResponse:
      type: object
      properties:
        ApplyRecurring:
          type: string
        Coupon:
          $ref: "#/components/schemas/promotions_Coupon"
        Description:
          type: string
        Enabled:
          type: boolean
        EndDate:
          type: string
        InstantDiscount:
          type: number
        MaximumOrdersNumber:
          type: number
        MaximumQuantity:
          type: number
        Name:
          type: string
        StartDate:
          type: string
        Type:
          type: string
        Products:
          type: array
          items:
            $ref: "#/components/schemas/promotions_Products"
        DefaultCurrency:
          type: string
        PriceMatrix:
          type: array
          items:
            $ref: "#/components/schemas/priceMatrixPrice"
    CumulativePromotionResponse:
      type: object
      properties:
        ApplyRecurring:
          type: string
        Coupon:
          $ref: "#/components/schemas/promotions_Coupon"
        Description:
          type: string
        Enabled:
          type: boolean
        EndDate:
          type: string
        InstantDiscount:
          type: number
        MaximumOrdersNumber:
          type: number
        MaximumQuantity:
          type: number
        Name:
          type: string
        StartDate:
          type: string
        Type:
          type: string
        Cumulative:
          type: boolean
        ProductTaxCategoryUUID:
          type: string
        Products:
          type: array
          items:
            $ref: "#/components/schemas/promotions_Products"
        DefaultCurrency:
          type: string
        PriceMatrix:
          type: array
          items:
            $ref: "#/components/schemas/priceMatrixPrice"
    GetPromotionsResponse:
      type: object
      properties:
        Items:
          $ref: "#/components/schemas/PromotionResponse"
        Pagination:
          $ref: "#/components/schemas/Pagination"
    GetProductPriceMatrixResponse:
      type: array
      items:
        $ref: "#/components/schemas/priceMatrixPrice"
    SearchSkuPricingConfigurations:
      type: object
      properties:
        Code:
          type: string
          example: E684EC99B0
        Currencies:
          $ref: "#/components/schemas/Currency"
    SearchSkuPurchaseTypes:
      type: object
      properties:
        Code:
          type: string
          example: RENEWAL
    MarkLeadsResponse:
      type: object
      properties:
        Response:
          type: string
          example: 4 leads have been marked successfully
        Errors:
          type: array
          items:
            $ref: "#/components/schemas/MarkLeadsResponse_Errors"
    ProposalBillToDetails:
      title: BillTo
      required:
      - Address
      - City
      - Company
      - Country
      - Email
      - FirstName
      - LastName
      - Phone
      - State
      - VatCode
      - Zip
      type: object
      properties:
        Company:
          type: string
          description: The company name
          example: Randcomp
        FirstName:
          type: string
          description: The first name for the contact
          example: John
        LastName:
          type: string
          description: The last name for the contact
          example: Doe
        Email:
          type: string
          description: The contact email address
          example: y2hzhca4pc@groupbuff.com
        Phone:
          type: string
          description: Contact phone number formatted as CCNN
          example: "12172196850"
        Country:
          type: string
          description: The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2
          example: US
        State:
          type: string
          description: The country state for the address
          example: Illinois
        City:
          type: string
          description: The city for the address
          example: Carthage
        Zip:
          type: string
          description: The address zip code
          example: "62321"
        Address:
          type: string
          description: The street address
          example: 1849  Cardinal Lane
      description: The entity paying for the service and who is getting the invoice
      x-tags:
      - proposal
      x-examples:
        Proposal bill to details:
          Company: Randcomp
          VatCode: "85421564"
          Phone: "12172196850"
          Email: y2hzhca4pc@groupbuff.com
          Country: US
          City: Carthage
          State: Illinois
          Zip: "62321"
          Address: 1849  Cardinal Lane
          FirstName: Marcus
          LastName: Aurelius
    PropProposalId:
      title: ProposalId
      type: string
      description: The unique merchant proposal id
      example: FDG123
    ProposalContent:
      title: ProposalContent
      required:
      - AdditionalFields
      - Currency
      - Language
      - LineItems
      type: object
      properties:
        Language:
          type: string
          description: The ISO 639-1 language code
          example: ro
        Currency:
          type: string
          description: The ISO 4217 currency code
          example: ron
        LineItems:
          $ref: "#/components/schemas/ProposalLineItemsReturn"
        Terms:
          minimum: 1
          type: integer
          description: Net X terms in days
        AdditionalFields:
          type: array
          description: Order additional fields
          items:
            $ref: "#/components/schemas/ProposalAdditionalField"
      description: The proposal content
      x-examples:
        Proposal content example:
          Language: ro
          Currency: ron
          LineItems:
          - ProductName: Antivirus
            ProductCode: FP10
            Quantity: 2
            Price: 54
            DiscountedPrice: 50.6
            PriceType: gross
            PriceOptions: []
            AdditionalFields: []
            ImmediateAction: now
            ContractPeriod: 0
            NextContractRenewalPeriod: 0
            MerchantDealAutoRenewal: false
            ClientDealAutoRenewal: false
            AmendmentScenario: does_not_affect
          AdditionalFields: []
    Proposal:
      title: Proposal
      required:
      - BillTo
      - Content
      - CreatedBy
      - CreatedDate
      - Links
      - Locked
      - Name
      - ProposalId
      - SellTo
      - Source
      - Status
      - StatusComment
      - Tac
      - Type
      - UpdatedBy
      - UpdatedDate
      - Version
      type: object
      properties:
        ProposalId:
          $ref: "#/components/schemas/PropProposalId"
        Version:
          type: integer
          description: The version of the proposal. Every modification increments the version by 1.
          example: 1
        CreatedDate:
          type: string
          description: The UTC creation date for the proposal in ISO 8601 format
          format: date-time
          example: "2020-01-05T17:21:42Z"
        UpdatedDate:
          type: string
          description: The UTC last update date for the proposal in ISO 8601 format
          format: date-time
          example: "2020-01-05T17:21:42Z"
        CreatedBy:
          $ref: "#/components/schemas/PropProposalUserId"
        UpdatedBy:
          $ref: "#/components/schemas/PropProposalUserId"
        Locked:
          $ref: "#/components/schemas/PropProposalLocked"
        Source:
          type: string
          description: The source from where the proposal was created
          example: SALESFORCE_CPQ
        Content:
          $ref: "#/components/schemas/ProposalContent"
        BillTo:
          $ref: "#/components/schemas/ProposalBillToDetails"
        Name:
          $ref: "#/components/schemas/PropProposalName"
        Tac:
          $ref: "#/components/schemas/ProposalTac"
        Type:
          $ref: "#/components/schemas/PropProposalType"
        SentBy:
          $ref: "#/components/schemas/ProposalSentBy"
        Links:
          $ref: "#/components/schemas/ProposalLinks"
        Status:
          $ref: "#/components/schemas/PropProposalStatus"
        ExpirationDate:
          $ref: "#/components/schemas/PropProposalExpirationDate"
        StatusComment:
          $ref: "#/components/schemas/PropProposalStatusComment"
        SellTo:
          $ref: "#/components/schemas/ProposalSellToDetails"
      x-examples:
        Proposal example:
          ProposalId: a9458518-8c94-4d26-bc58-3202f9e6463a
          Name: testName
          SentBy:
            FirstName: Nathan
            LastName: Drake
            Email: nathan@treasurehunt.com
          ExpirationDate: "2021-10-01T01:02:03+00:00"
          Version: 3
          CreatedDate: "2020-06-26T15:58:49+00:00"
          UpdatedDate: "2020-06-26T15:59:56+00:00"
          CreatedBy: john.doe@customer.com
          UpdatedBy: ""
          Locked: false
          Source: salesforce_cpq
          Type: upgrade
          Status: accepted
          StatusComment: Accepted
          Content:
            Language: ro
            Currency: ron
            LineItems:
            - ProductName: Antivirus
              ProductCode: FP10
              Quantity: 2
              Price: 54
              DiscountedPrice: 50.6
              PriceType: gross
              PriceOptions: []
              AdditionalFields: []
              ImmediateAction: now
              ContractPeriod: 0
              NextContractRenewalPeriod: 0
              MerchantDealAutoRenewal: false
              ClientDealAutoRenewal: false
              AmendmentScenario: does_not_affect
            AdditionalFields: []
          BillTo:
            Company: Randcomp
            VatCode: "85421564"
            Phone: "12172196850"
            Email: y2hzhca4pc@groupbuff.com
            Country: US
            City: Carthage
            State: Illinois
            Zip: "62321"
            Address: 1849  Cardinal Lane
            FirstName: FirstRandcomp
            LastName: Last Randcomp
          SellTo:
            Company: ReceiverCompany
            VatCode: "854234564"
            Phone: "12172196850"
            Email: y2hzhca4pc@gmial.com
            Country: FR
            City: Paris
            State: Not
            Zip: "61321"
            Address: Rue du Elegance 43B
            FirstName: Lucy
            LastName: Lucky-Jean
          Tac:
            Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
            AcceptedDate: "2020-06-26T15:59:56+00:00"
          Links:
          - LinkId: 4c69f466-730c-4eed-a02d-0343f24c1ae8
            Url: "https://proposal.2checkout.com/merchant-code/test/link-id/4c69f466-730c-4eed-a02d-0343f24c1ae8"
            Status: sent
          - LinkId: 874e3dca-6458-4749-af5f-3153f6cde501
            Url: "https://proposal.2checkout.com/merchant-code/test/link-id/874e3dca-6458-4749-af5f-3153f6cde501"
            Status: accepted
    ProposalCreateRequest:
      title: Proposal Create Request
      type: object
      description: Proposal create request
      x-examples:
        Proposal create request example:
          ProposalId: a9458518-8c94-4d26-bc58-3202f9e6463a
          Name: testName
          SentBy:
            FirstName: ""
            LastName: ""
            Email: ""
          Version: 1
          CreatedDate: "2020-06-26T15:58:49+00:00"
          UpdatedDate: "2020-06-26T15:58:49+00:00"
          CreatedBy: john.doe@customer.com
          Locked: false
          Source: salesforce_cpq
          Type: upgrade
          Status: opened
          Content:
            Language: ro
            Currency: ron
            LineItems:
            - ProductName: Antivirus
              ProductCode: FP10
              Quantity: 2
              Price: 54.2
              DiscountedPrice: 50
              PriceType: gross
              SubscriptionReference: FDG223
              ContractPeriod: 23
              NextContractRenewalPeriod: 12
              ImmediateAction: now
              BillingCycle:
                Unit: month
                Value: 1
              PriceOptions:
              - GroupCode: string
                GroupOptions:
                - string
              AdditionalFields:
              - Code: string
                Value: string
              ProrationDate: "2020-01-04T12:32:22Z"
              MerchantDealAutoRenewal: true
              ClientDealAutoRenewal: true
            Terms: 30
            AdditionalFields:
            - code: string
              value: string
          BillTo:
            Company: Randcomp
            Phone: "12172196850"
            Email: y2hzhca4pc@groupbuff.com
            Country: US
            City: Carthage
            State: Illinois
            Zip: "62321"
            Address: 1849  Cardinal Lane
            FirstName: FirstRandcomp
            LastName: Last Randcomp
          SellTo:
            Company: ReceiverCompany
            VatCode: "854234564"
            Phone: "12172196850"
            Email: y2hzhca4pc@gmial.com
            Country: FR
            City: Paris
            State: Not
            Zip: "61321"
            Address: Rue du Elegance 43B
            FirstName: Lucy
            LastName: Lucky-Jean
          Tac:
            Content: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
          Links: []
      properties:
        Name:
          $ref: "#/components/schemas/PropProposalName"
        BillTo:
          $ref: "#/components/schemas/ProposalBillToCreate"
        Content:
          $ref: "#/components/schemas/ProposalContentCreate"
        UserId:
          $ref: "#/components/schemas/PropProposalUserId"
        Tac:
          $ref: "#/components/schemas/ProposalCreateRequest_Tac"
        Type:
          $ref: "#/components/schemas/PropProposalType"
        Source:
          type: string
          description: The source from where the proposal was created
          example: SALESFORCE_CPQ
        SellTo:
          $ref: "#/components/schemas/ProposalSellToCreate"
        Scope:
          $ref: "#/components/schemas/PropProposalScope"
      required:
      - Type
      - Source
    ProposalLineItems:
      title: LineItems
      type: array
      description: Line items colection
      items:
        $ref: "#/components/schemas/ProposalLineItem"
      x-examples:
        Proposal line items example:
        - ProductName: Antivirus
          ProductCode: FP10
          Quantity: 2
          Price: 54.2
          DiscountedPrice: 50
          PriceType: gross
          SubscriptionReference: FDG223
          ContractPeriod: 23
          NextContractRenewalPeriod: 12
          ImmediateAction: now
          MerchantDealAutoRenewal: false
          ClientDealAutoRenewal: false
          AmendmentScenario: prolong
          BillingCycle:
            Unit: month
            Value: 6
          PriceOptions:
          - GroupOptions:
            - string
          AdditionalFields:
          - Code: string
            Value: string
        - ProductName: IDE
          ProductCode: IDE1
          Quantity: 2
          Price: 54.2
          DiscountedPrice: 50
          PriceType: gross
          SubscriptionReference: ABCD
          ContractPeriod: 12
          NextContractRenewalPeriod: 12
          ImmediateAction: now
          BillingCycle:
            Unit: year
            Value: 1
          PriceOptions:
          - GroupOptions:
            - string
          AdditionalFields:
          - Code: string
            Value: string
    ProposalLineItem:
      title: LineItem
      required:
      - ContractPeriod
      - DiscountedPrice
      - Price
      - PriceType
      - ProductCode
      - ProductName
      - Quantity
      type: object
      properties:
        ProductName:
          type: string
          description: The product name
          example: Antivirus
        ProductCode:
          type: string
          description: The product code
          example: FP10
        Quantity:
          minimum: 1
          type: number
          description: The quantity for the product
          format: float
          example: 2
        Price:
          type: number
          description: The list price for the product
          format: float
          example: 54.2
        DiscountedPrice:
          type: number
          description: The discounted price for the product
          format: float
          example: 50
        PriceType:
          type: string
          description: The type of the price
          example: gross
          enum:
          - gross
          - net
        SubscriptionReference:
          type: string
          description: The subscription reference for upgrade of renewal
          example: FDG223
        ContractPeriod:
          minimum: 0
          type: integer
          description: The number of billing cycles. A zero value means a lifetime contract period and billingCycle is not needed in this case.
          example: 23
        NextContractRenewalPeriod:
          minimum: 0
          type: integer
          description: The number of billing cycles that will be defined for the next contract.
          example: 23
          default: 0
        ImmediateAction:
          type: string
          description: If the contract starts now or at the end of current billing cycle or contract period
          example: now
          default: now
          enum:
          - now
          - end_of_billing_cycle
          - end_of_contract
        BillingCycle:
          $ref: "#/components/schemas/ProposalLineItem_BillingCycle"
        PriceOptions:
          type: array
          description: Array of selected price options
          items:
            $ref: "#/components/schemas/ProposalPriceOption"
        AdditionalFields:
          type: array
          description: Product additional fields
          items:
            $ref: "#/components/schemas/ProposalAdditionalField"
        ProrationDate:
          type: string
          description: The UTC proration date in ISO 8601 format. Is used only for amendments with net terms
          format: date-time
          example: "2020-01-05T17:21:42Z"
        MerchantDealAutoRenewal:
          $ref: "#/components/schemas/PropMerchantDealAutoRenewal"
        ClientDealAutoRenewal:
          $ref: "#/components/schemas/PropClientDealAutoRenewal"
        AmendmentScenario:
          $ref: "#/components/schemas/PropClientAmendmentScenario"
      description: Line item
      x-examples:
        Proposal line item example:
          ProductName: Antivirus
          ProductCode: FP10
          Quantity: 2
          Price: 54.2
          DiscountedPrice: 50
          PriceType: gross
          SubscriptionReference: FDG223
          ContractPeriod: 23
          NextContractRenewalPeriod: 12
          ImmediateAction: now
          MerchantDealAutoRenewal: false
          ClientDealAutoRenewal: false
          BillingCycle:
            Unit: month
            Value: 6
          PriceOptions:
          - GroupOptions:
            - string
          AdditionalFields:
          - Code: string
            Value: string
          ProrationDate: "2020-01-05T17:21:42Z"
    PropProposalUserId:
      title: UserId
      type: string
      description: The unique external system user identifier
      example: john.doe@customer.com
    PropProposalName:
      title: Name
      type: string
      description: The name of the proposal
      example: Renewal of antivirus
    ProposalUpdateRequest:
      title: Proposal Update Request
      type: object
      description: Proposal update request
      properties:
        Name:
          $ref: "#/components/schemas/PropProposalName"
        BillTo:
          $ref: "#/components/schemas/ProposalBillToOptional"
        Content:
          $ref: "#/components/schemas/ProposalContentOptional"
        UserId:
          $ref: "#/components/schemas/PropProposalUserId"
        Locked:
          $ref: "#/components/schemas/PropProposalLocked"
        Tac:
          $ref: "#/components/schemas/ProposalTacOptional"
        SellTo:
          $ref: "#/components/schemas/ProposalSellToOptional"
        Scope:
          $ref: "#/components/schemas/PropProposalScope"
    PropProposalLocked:
      title: Locked
      type: boolean
      description: If the proposal is locked for buy modifications
      example: false
    PropProposalTacContent:
      title: TacContent
      type: string
      description: The Terms And Conditions content (resulted from an WYSIWYG HTML editor)
      example: "These terms and conditions outline the rules and regulations for the use of Company Name's Website, located at Website.com..."
    ProposalTac:
      title: tac
      required:
      - Content
      type: object
      properties:
        Content:
          $ref: "#/components/schemas/PropProposalTacContent"
        AcceptedDate:
          type: string
          description: The UTC date when the proposal terms and conditions were accepted in ISO 8601 format
          format: date-time
          example: "2020-01-05T17:21:42Z"
    PropProposalType:
      title: ProposalType
      type: string
      description: The type of the proposal
      example: acquisition
      default: acquisition
      enum:
      - renewal
      - upgrade
      - acquisition
    PropProposalScope:
      title: ProposalScope
      type: string
      description: "Amendment scope, send only for amendments. Use null to reset on update."
      example: autorenewal
      default: null
      nullable: true
      enum:
      - autorenewal
    ProposalBillToOptional:
      title: BillTo optional
      type: object
      properties:
        Address:
          type: string
          description: The street address
          example: 1849  Cardinal Lane
        Zip:
          type: string
          description: The address zip code
          example: "62321"
        City:
          type: string
          description: The city for the address
          example: Carthage
        State:
          type: string
          description: The country state for the address
          example: Illinois
        Country:
          type: string
          description: The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2
          example: US
        Phone:
          type: string
          description: Contact phone number formatted as CCNN
          example: "12172196850"
        VatCode:
          type: string
          description: Value-added tax identification number
          example: "85421564"
        FirstName:
          type: string
          description: The first name for the contact
          example: John
        LastName:
          type: string
          description: The last name for the contact
          example: Doe
        Email:
          type: string
          description: The contact email address
          example: y2hzhca4pc@groupbuff.com
        Company:
          type: string
          description: The company name
          example: Randcomp
      description: The entity paying for the service and who is getting the invoice
      x-examples:
        Proposal bill to optional:
          Company: Randcomp
          VatCode: "85421564"
          Phone: "12172196850"
          Email: y2hzhca4pc@groupbuff.com
          Country: US
          City: Carthage
          State: Illinois
          Zip: "62321"
          Address: 1849  Cardinal Lane
          FirstName: Marcus
          LastName: Aurelius
      x-tags:
      - proposal
    ProposalTacOptional:
      title: tac
      type: object
      properties:
        Content:
          $ref: "#/components/schemas/PropProposalTacContent"
    ProposalContentOptional:
      title: ProposalContent optional
      type: object
      properties:
        Language:
          type: string
          description: The ISO 639-1 language code
          example: ro
        Currency:
          type: string
          description: The ISO 4217 currency code
          example: ron
        LineItems:
          $ref: "#/components/schemas/ProposalLineItems"
        Terms:
          type: integer
          description: Net X terms in days
          nullable: true
        AdditionalFields:
          type: array
          description: Order additional fields
          items:
            $ref: "#/components/schemas/ProposalAdditionalField"
      description: The proposal content
      x-examples:
        Proposal content optional example:
          language: ro
          currency: ron
          lineItems:
          - productName: Antivirus
            productCode: FP10
            quantity: 2
            price: 54
            discountedPrice: 50.6
            priceType: gross
            priceOptions: []
            additionalFields: []
            immediateAction: now
            contractPeriod: 0
            NextContractRenewalPeriod: 0
    ProposalBillToCreate:
      title: BillTo create
      required:
      - Company
      type: object
      properties:
        Company:
          type: string
          description: The company name
          example: Randcomp
        FirstName:
          type: string
          description: The first name for the contact
          example: John
        LastName:
          type: string
          description: The last name for the contact
          example: Doe
        Email:
          type: string
          description: The contact email address
          example: y2hzhca4pc@groupbuff.com
          default: ""
        Phone:
          type: string
          description: Contact phone number formatted as CCNN
          example: "12172196850"
        Country:
          type: string
          description: The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2
          example: US
        State:
          type: string
          description: The country state for the address
          example: Illinois
        City:
          type: string
          description: The city for the address
          example: Carthage
        Zip:
          type: string
          description: The address zip code
          example: "62321"
        Address:
          type: string
          description: The street address
          example: 1849  Cardinal Lane
      description: The entity paying for the service and who is getting the invoice
      x-tags:
      - proposal
      x-examples:
        Proposal bill to create example:
          Company: Randcomp
          VatCode: "85421564"
          Phone: "12172196850"
          Email: y2hzhca4pc@groupbuff.com
          Country: US
          City: Carthage
          State: Illinois
          Zip: "62321"
          Address: 1849  Cardinal Lane
          FirstName: Marcus
          LastName: Aurelius
    ProposalSentBy:
      title: SentBy
      required:
      - Email
      - FirstName
      - LastName
      type: object
      properties:
        FirstName:
          type: string
          description: The first name for the email sender
          example: John
        LastName:
          type: string
          description: The last name for the email sender
          example: Doe
        Email:
          type: string
          description: The email address of the email sender
          example: y2hzhca4pc@groupbuff.com
      description: Represents the account manager from the vendor
      x-tags:
      - proposal
      x-examples: {}
    PropProposalStatus:
      title: Status
      type: string
      description: The status of the proposal
      default: opened
      enum:
      - opened
      - preview
      - sent
      - closed_won
      - closed_lost
      - declined
      - expired
      - accepted
      - feedback
    PropProposalExpirationDate:
      title: ExpirationDate
      type: string
      description: The UTC expiration date for the proposal in ISO 8601 format. Set only when the status is changed to "sent".
      format: date-time
      example: "2020-01-05T17:21:42Z"
    ProposalLinks:
      title: links
      type: array
      description: The proposal links details
      items:
        $ref: "#/components/schemas/ProposalLink"
      x-examples:
        Proposal links example:
        - LinkId: 4c69f466-730c-4eed-a02d-0343f24c1ae8
          Url: "https://proposal.2checkout.com/merchant-code/test/link-id/4c69f466-730c-4eed-a02d-0343f24c1ae8"
          Status: sent
        - LinkId: 874e3dca-6458-4749-af5f-3153f6cde501
          Url: "https://proposal.2checkout.com/merchant-code/test/link-id/874e3dca-6458-4749-af5f-3153f6cde501"
          Status: accepted
        - LinkId: 1e628e78-1b12-434c-8eff-1c4f0f1faf02
          Url: "https://proposal.2checkout.com/merchant-code/test/link-id/1e628e78-1b12-434c-8eff-1c4f0f1faf02"
          Status: preview
    PropProposalStatusComment:
      title: StatusComment
      type: string
      description: The associated comment for the status
      example: The price is too high for the first product
    ProposalActionRequest:
      title: Proposal Action Request
      required:
      - Action
      type: object
      properties:
        ExpirationDate:
          $ref: "#/components/schemas/PropProposalExpirationDate"
        UserId:
          $ref: "#/components/schemas/PropProposalUserId"
        Action:
          type: string
          enum:
          - decline
          - accept
          - discard
          - reopen
          - send
          - close
          - preview
          - feedback
          description: "The action to perform. For feedback, the statusComment parameter is mandatory to be provided. For send, the expirationDate and sentBy parameters are mandatory to be provided. For send, reopen and discard it is recommended to provide the userId parameter. For decline is recommended to provide the statusComment parameter."
        StatusComment:
          $ref: "#/components/schemas/PropProposalStatusComment"
        SentBy:
          $ref: "#/components/schemas/ProposalSentBy"
        content:
          $ref: "#/components/schemas/ActionRequestContent"
        SendEmail:
          type: boolean
          description: used to skip sending notification email when set to false on sending or accepting a proposal
          default: true
      description: Proposal action request
      x-examples:
        Proposal action request example:
          Action: send
          SentBy:
            FirstName: Nathan
            LastName: Drake
            Email: nathan@treasurehunt.com
          ExpirationDate: "2022-11-01T01:02:03+00:00"
          UserId: Feb
          StatusComment: sent
          Content:
            LineItems:
            - ProductCode: FP10
              ClientDealAutoRenewal: true
    ProposalSellToDetails:
      title: SellTo
      required:
      - Address
      - City
      - Company
      - Country
      - Email
      - FirstName
      - LastName
      - Phone
      - State
      - VatCode
      - Zip
      type: object
      properties:
        Company:
          type: string
          description: The company name
          example: Randcomp
        FirstName:
          type: string
          description: The first name for the contact
          example: John
        LastName:
          type: string
          description: The last name for the contact
          example: Doe
        Email:
          type: string
          description: The contact email address
          example: y2hzhca4pc@groupbuff.com
        VatCode:
          type: string
          description: Value-added tax identification number
          example: "85421564"
        TaxExemptionId:
          type: string
          description: Value-added tax identification number
          example: "85421564"
        Phone:
          type: string
          description: Contact phone number formatted as CCNN
          example: "12172196850"
        Country:
          type: string
          description: The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2
          example: US
        State:
          type: string
          description: The country state for the address
          example: Illinois
        City:
          type: string
          description: The city for the address
          example: Carthage
        Zip:
          type: string
          description: The address zip code
          example: "62321"
        Address:
          type: string
          description: The street address
          example: 1849  Cardinal Lane
      description: Used for tax calculation. Represents the entity using the service.
      x-tags:
      - proposal
      x-examples: {}
    ProposalSellToCreate:
      title: SellTo create
      required:
      - Company
      type: object
      properties:
        Company:
          type: string
          description: The company name
          example: Randcomp
        FirstName:
          type: string
          description: The first name for the contact
          example: John
        LastName:
          type: string
          description: The last name for the contact
          example: Doe
        Email:
          type: string
          description: The contact email address
          example: y2hzhca4pc@groupbuff.com
        VatCode:
          type: string
          description: Value-added tax identification number
          example: "85421564"
        TaxExemptionId:
          type: string
          description: Value-added tax identification number for USA
          example: "85421564"
        Phone:
          type: string
          description: Contact phone number formatted as CCNN
          example: "12172196850"
        Country:
          type: string
          description: The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2
          example: US
        State:
          type: string
          description: The country state for the address
          example: Illinois
        City:
          type: string
          description: The city for the address
          example: Carthage
        Zip:
          type: string
          description: The address zip code
          example: "62321"
        Address:
          type: string
          description: The street address
          example: 1849  Cardinal Lane
      description: Used for tax calculation. Represents the entity using the service
      x-tags:
      - proposal
      x-examples: {}
    ProposalSellToOptional:
      title: SellTo optional
      type: object
      properties:
        Address:
          type: string
          description: The street address
          example: 1849  Cardinal Lane
        Zip:
          type: string
          description: The address zip code
          example: "62321"
        City:
          type: string
          description: The city for the address
          example: Carthage
        State:
          type: string
          description: The country state for the address
          example: Illinois
        Country:
          type: string
          description: The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2
          example: US
        Phone:
          type: string
          description: Contact phone number formatted as CCNN
          example: "12172196850"
        VatCode:
          type: string
          description: Value-added tax identification number
          example: "85421564"
        FirstName:
          type: string
          description: The first name for the contact
          example: John
        LastName:
          type: string
          description: The last name for the contact
          example: Doe
        Email:
          type: string
          description: The contact email address
          example: y2hzhca4pc@groupbuff.com
        Company:
          type: string
          description: The company name
          example: Randcomp
      description: Used for tax calculation. Represents the entity using the service.
      x-examples: {}
      x-tags:
      - proposal
    ProposalLink:
      title: link
      required:
      - LinkId
      - Pdf
      - Status
      - Url
      type: object
      properties:
        LinkId:
          type: string
          description: The unique link id
        Url:
          type: string
          description: The link url for viewing
          example: "https://proposal.2checkout.com/merchant-code/rdgm/link-id/a43168a2-9bfb-11ea-bb37-0242ac130002"
        Status:
          $ref: "#/components/schemas/PropProposalStatus"
        Pdf:
          type: string
          description: The link url for downloading the pdf
          example: "https://proposal.2checkout.com/api/v1/merchant-code/rdgm/link-id/a43168a2-9bfb-11ea-bb37-0242ac130002"
      description: The proposal links details
      x-examples:
        Proposal link example:
          LinkId: 4c69f466-730c-4eed-a02d-0343f24c1ae8
          Url: "https://proposal.2checkout.com/merchant-code/test/link-id/4c69f466-730c-4eed-a02d-0343f24c1ae8"
          Status: sent
    ProposalAdditionalField:
      title: AdditionalField
      required:
      - Code
      - Value
      type: object
      properties:
        Code:
          type: string
          description: "The alpha-numeric characters, underscores and dashes that are set as the field identifier."
        Value:
          type: string
          description: Selected field value.
      description: Product additional field
      x-examples:
        Proposal additional field example:
          Code: string
          Value: string
    ProposalPriceOption:
      title: PriceOption
      required:
      - GroupCode
      - GroupOptions
      type: object
      properties:
        GroupCode:
          type: string
          description: The price options group code
        GroupOptions:
          type: array
          description: Selected group option code
          items:
            type: string
      description: Product price option
      x-examples:
        Proposal price option example: {}
    ProposalLineItemReturn:
      title: LineItem return
      required:
      - AdditionalFields
      - ContractPeriod
      - DiscountedPrice
      - ImmediateAction
      - Price
      - PriceOptions
      - PriceType
      - ProductCode
      - ProductName
      - Quantity
      type: object
      properties:
        ProductName:
          type: string
          description: The product name
          example: Antivirus
        ProductCode:
          type: string
          description: The product code
          example: FP10
        Quantity:
          minimum: 1
          type: number
          description: The quantity for the product
          format: float
          example: 2
        Price:
          type: number
          description: The list price for the product
          format: float
          example: 54.2
        DiscountedPrice:
          type: number
          description: The discounted price for the product
          format: float
          example: 50
        PriceType:
          type: string
          description: The type of the price
          example: gross
          enum:
          - gross
          - net
        SubscriptionReference:
          type: string
          description: The subscription reference for upgrade of renewal
          example: FDG223
        ContractPeriod:
          minimum: 0
          type: integer
          description: The number of billing cycles. A zero value means a lifetime contract period and billingCycle is not needed in this case.
          example: 23
        NextContractRenewalPeriod:
          minimum: 0
          type: integer
          description: The number of billing cycles that will be defined for the next contract.
          example: 23
          default: 0
        ImmediateAction:
          type: string
          description: If the contract starts now or at the end of current billing cycle or contract period
          example: now
          default: now
          enum:
          - now
          - end_of_billing_cycle
          - end_of_contract
        BillingCycle:
          $ref: "#/components/schemas/ProposalLineItem_BillingCycle"
        PriceOptions:
          type: array
          description: Array of selected price options
          items:
            $ref: "#/components/schemas/ProposalPriceOption"
        AdditionalFields:
          type: array
          description: Product additional fields
          items:
            $ref: "#/components/schemas/ProposalAdditionalField"
        ProrationDate:
          type: string
          description: The UTC proration date in ISO 8601 format. Is used only for amendments with net terms
          format: date-time
          example: "2020-01-05T17:21:42Z"
        AmendmentScenario:
          type: string
          description: The type of the amendment scenario
          example: does_not_affect
          enum:
          - prolong
          - does_not_affect
          - start_new_deal_contract_after_current_cycle
          - start_new_deal_contract_now
      description: Line item return
      x-examples:
        Proposal line item return example:
          ProductName: Antivirus
          ProductCode: FP10
          Quantity: 2
          Price: 54.2
          DiscountedPrice: 50
          PriceType: gross
          SubscriptionReference: FDG223
          ContractPeriod: 23
          NextContractRenewalPeriod: 12
          ImmediateAction: now
          MerchantDealAutoRenewal: false
          ClientDealAutoRenewal: false
          AmendmentScenario: does_not_affect
          BillingCycle:
            Unit: month
            Value: 6
          PriceOptions:
          - GroupOptions:
            - string
          AdditionalFields:
          - Code: string
            Value: string
          ProrationDate: "2020-01-05T17:21:42Z"
    ProposalLineItemsReturn:
      title: LineItems return
      type: array
      description: Line items colection
      items:
        $ref: "#/components/schemas/ProposalLineItemReturn"
      x-examples:
        Proposal line items return example:
        - ProductName: Antivirus
          ProductCode: FP10
          Quantity: 2
          Price: 54.2
          DiscountedPrice: 50
          PriceType: gross
          SubscriptionReference: FDG223
          ContractPeriod: 23
          NextContractRenewalPeriod: 12
          ImmediateAction: now
          MerchantDealAutoRenewal: false
          ClientDealAutoRenewal: false
          AmendmentScenario: does_not_affect
          BillingCycle:
            Unit: month
            Value: 6
          PriceOptions:
          - GroupOptions:
            - string
          AdditionalFields:
          - Code: string
            Value: string
        - ProductName: IDE
          ProductCode: IDE1
          Quantity: 2
          Price: 54.2
          DiscountedPrice: 50
          PriceType: gross
          SubscriptionReference: ABCD
          ContractPeriod: 12
          NextContractRenewalPeriod: 12
          ImmediateAction: now
          BillingCycle:
            Unit: year
            Value: 1
          PriceOptions:
          - GroupOptions:
            - string
          AdditionalFields:
          - Code: string
            Value: string
          ProrationDate: "2020-01-05T17:21:42Z"
    ProposalContentCreate:
      title: ProposalContent create
      required:
      - Currency
      - Language
      - LineItems
      type: object
      properties:
        Language:
          type: string
          description: The ISO 639-1 language code
          example: ro
        Currency:
          type: string
          description: The ISO 4217 currency code
          example: ron
        LineItems:
          $ref: "#/components/schemas/ProposalLineItems"
        Terms:
          minimum: 1
          type: integer
          description: Net X terms in days
        AdditionalFields:
          type: array
          description: Order additional fields
          items:
            $ref: "#/components/schemas/ProposalAdditionalField"
      description: The proposal content
      x-examples:
        Proposal content create example:
          Language: ro
          Currency: ron
          LineItems:
          - ProductName: Antivirus
            ProductCode: FP10
            Quantity: 2
            Price: 54
            DiscountedPrice: 50.6
            PriceType: gross
            PriceOptions: []
            AdditionalFields: []
            ImmediateAction: now
            ContractPeriod: 0
            NextContractRenewalPeriod: 0
          AdditionalFields: []
    ActionRequestContent:
      title: action_proposal_content
      type: object
      x-examples: {}
      description: The content configuration proposed by the client on accepting the proposal
      properties:
        lineItems:
          $ref: "#/components/schemas/ActionRequestLineItems"
    ActionRequestLineItems:
      title: action_request_line_items
      type: array
      description: The line items configuration proposed by the client
      items:
        $ref: "#/components/schemas/ActionRequestLineItem"
    ActionRequestLineItem:
      title: action_request_line_item
      type: object
      x-examples: {}
      description: The line item configuration proposed by the client
      properties:
        productCode:
          $ref: "#/components/schemas/PropProductCode"
        clientDealAutoRenewal:
          $ref: "#/components/schemas/PropClientDealAutoRenewal"
      required:
      - productCode
      - clientDealAutoRenewal
    PropProductCode:
      type: string
      title: prop_product_code
      minLength: 0
      maxLength: 100
      example: FP10
      description: The unique product code
    PropClientDealAutoRenewal:
      title: prop_client_deal_auto_renewal
      type: boolean
      description: "If both merchant and client DealAutoRenewals are set to true, it will trigger a contract automatic renewal. Optional, defaults to false."
    PropMerchantDealAutoRenewal:
      title: prop_merchant_deal_auto_renewal
      type: boolean
      description: "If both merchant and client DealAutoRenewals are set to true, it will trigger a contract automatic renewal. Optional, defaults to false."
    PropClientAmendmentScenario:
      title: prop_client_amendment_scenario
      type: string
      description: The scenario to use for amendments. The prolong value will make the current billing cycle from the immediateAction value increase with the defined billingCycle. The value does_not_affect will not alter the current billing cycle no matter what value billingCycle has.
      example: prolong
      enum:
      - prolong
      - does_not_affect
    Usage:
      required:
      - OptionCode
      - SubscriptionReference
      - Units
      - UsageEnd
      - UsageStart
      type: object
      properties:
        UsageReference:
          type: integer
          description: The unique usage identifier
          example: 123459876
        SubscriptionReference:
          type: string
          description: The subscription code
          example: 83FE4FEF2
        OptionCode:
          type: string
          description: The price option group code
          example: scale
        UsageStart:
          type: string
          description: The date the usage came in effect.
          example: "2018-09-03 17:28:32"
        UsageEnd:
          type: string
          description: The date the usage was stopped being used.
          example: "2018-09-03 17:28:32"
        Units:
          type: integer
          format: int32
          example: 15
        Description:
          type: string
          example: Subscription usage for September
    UsageSaveObject:
      required:
      - OptionCode
      - Units
      - UsageEnd
      - UsageStart
      type: object
      properties:
        OptionCode:
          type: string
          description: The price option group code
          example: scale
        UsageStart:
          type: string
          description: The date the usage came in effect.
          example: "2018-09-03 17:28:32"
        UsageEnd:
          type: string
          description: The date the usage was stopped being used.
          example: "2018-09-03 17:28:32"
        Units:
          type: integer
          format: int32
          example: 15
        Description:
          type: string
          example: Subscription usage for September
    UsageDeleteRequest:
      type: object
      properties:
        UsageReference:
          type: integer
          description: Delete the usage entry with this unique UsageReference
          example: 123459876
        OptionCode:
          type: string
          description: Delete all usages with this price option group code
          example: scale
        IntervalStart:
          type: string
          description: Delete all usages with UsageEnd >= IntervalStart
          example: "2018-09-03 17:28:32"
        IntervalEnd:
          type: string
          description: Delete all usages with UsageEnd <= Intervalend
          example: "2018-09-03 17:28:32"
    UsageDeleteClientErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: ALREADY BILLED
        message:
          type: string
          description: Error message
          example: Usage was not deleted as this usage was already billed.
    UsageDeleteServerErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: GENERIC
        message:
          type: string
          description: Error message
          example: There has been an error deleting the usages. Please try again later.
    FilteredUsagesResponse:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/Usage"
        Pagination:
          $ref: "#/components/schemas/FilteredUsagesResponse_Pagination"
    UsageFilterClientErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: SEARCH_PAGE_INVALID
        message:
          type: string
          description: Error message
          example: Client error message.
    UsageFilterServerErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: INTERNAL_ERROR
        message:
          type: string
          description: Error message
          example: There has been an error while saving the subscription usage.
    UsageSaveRequest:
      type: array
      items:
        $ref: "#/components/schemas/UsageSaveObject"
    UsageSaveResponse:
      type: array
      items:
        $ref: "#/components/schemas/Usage"
    UsageSaveClientErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: INPUT_ERROR
        message:
          type: string
          description: Error message
          example: Usage was not added as the usage interval provided overlaps with an existing usage interval for the same LICENCECODE and OPTIONCODE combination
    UsageNotFoundErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: NOT_FOUND
        message:
          type: string
          description: Error message
          example: Subscription not found
    UsageSaveServerErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: INTERNAL_ERROR
        message:
          type: string
          description: Error message
          example: There has been an error while saving the subscription usage.
    UsageUpdateRequest:
      type: object
      properties:
        Units:
          type: integer
          description: The new units to be updated on the subscription usage.
        Description:
          type: string
          description: The new description to be updated on the subscription usage.
    UsageUpdateResponse:
      $ref: "#/components/schemas/Usage"
    UsageUpdateClientErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: ALREADY BILLED
        message:
          type: string
          description: Error message
          example: Usage was not updated as this usage was already billed.
    UsageUpdateServerErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type
          example: GENERIC
        message:
          type: string
          description: Error message
          example: There has been an error updating the usage line. Please try again later.
    ChangeDealRequest:
      type: object
      properties:
        Currency:
          type: string
          description: The deal order currency code
          example: usd
        Country:
          type: string
          description: The deal order country code
          example: us
        Language:
          type: string
          description: The deal order language code
          example: en
        CustomerIp:
          type: string
          description: The deal order customer IP
          example: 91.220.121.21
        Source:
          type: string
          description: The deal order source
          example: salesforce_cpq
        Items:
          type: array
          items:
            $ref: "#/components/schemas/DealRequestItem"
          description: The deal order items
        BillingDetails:
          $ref: "#/components/schemas/BillingDetails"
        DeliveryDetails:
          $ref: "#/components/schemas/DeliveryDetails"
        PaymentDetails:
          $ref: "#/components/schemas/PlaceOrder_PaymentDetails"
        ExtraInformation:
          $ref: "#/components/schemas/PlaceOrder_ExtraInformation"
    DealRequestItem:
      type: object
      properties:
        DealDate:
          type: string
          description: The date and time when the deal will be operated
          example: "2021-03-05 12:23:08"
        SubscriptionReference:
          type: string
          description: The deal license code
          example: 3VS69GNF0C
        ProductCode:
          type: string
          description: The deal license product code
          example: PAV2019
        Quantity:
          type: integer
          description: The deal license product quantity
          example: 1
        DealPriceScenario:
          type: string
          description: The deal price calculation scenario
          enum:
          - using_last_order_price
          - using_last_product_price
          - price_total
          - product_price_difference
          example: using_last_order_price
        DealSubscriptionScenario:
          type: string
          description: The license upgrade scenario
          enum:
          - prolong
          - does_not_affect
          - start_new_deal_contract_now
          - start_new_deal_contract_after_current_cycle
        Price:
          type: object
          description: The deal item custom price details
          properties:
            Amount:
              type: number
              description: The price amount value
            Type:
              type: string
              description: the price type (use CUSTOM in this case)
            AmountType:
              type: string
              description: the price amount type (GROSS or NET)
        SubscriptionCustomSettings:
          $ref: "#/components/schemas/Item_SubscriptionCustomSettings"
        PriceOptions:
          $ref: "#/components/schemas/DealItemPriceOptions"
    DealItemPriceOptions:
      type: object
      description: item price options
      properties:
        Code:
          type: string
          description: price option group code
        Options:
          type: array
          items:
            type: object
            properties:
              Value:
                type: string
                description: priceo option  code or value
    ChangeDealResponse:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/ChangeDealResponseItem"
        Currency:
          type: string
        DealDueNowPriceNet:
          type: number
        DealDueNowPriceGross:
          type: number
        DealTaxAmount:
          type: number
        DealOrder:
          $ref: "#/components/schemas/DealOrder"
    ChangeDealResponseItem:
      type: object
      properties:
        SubscriptionReference:
          type: string
          description: The deal license code
          example: 3VS69GNF0C
        DealPriceScenario:
          type: string
          description: The deal price calculation scenario
          enum:
          - using_last_order_price
          - using_last_product_price
          - price_total
          - product_price_difference
        DealSubscriptionScenario:
          type: string
          description: The license upgrade scenario
          enum:
          - prolong
          - does_not_affect
          - start_new_deal_contract_now
          - start_new_deal_contract_after_current_cycle
        DealDate:
          type: string
          description: The date and time when the deal will be operated
          example: "2021-03-05 12:23:08"
        DealDueNowPriceNet:
          type: number
          description: The deal net price due to the given deal date
          example: 30.5
        DealDueNowPriceGross:
          type: number
          description: The deal gross price due to the given deal date
          example: 32.15
        DealTaxAmount:
          type: number
          description: The deal tax amount
          example: 1.65
        DealTaxPercent:
          type: number
          description: The deal tax percent
          example: 6.25
        CurrentInfo:
          $ref: "#/components/schemas/DealInfo"
        NewDealInfo:
          $ref: "#/components/schemas/DealInfo"
        TotalsDealInfo:
          $ref: "#/components/schemas/TotalsDealInfo"
    DealInfo:
      type: object
      properties:
        ProductCode:
          type: string
        ProductName:
          type: string
        ProductDescription:
          type: string
        BillingPriceNet:
          type: number
        BillingPriceGross:
          type: number
        NoOfBillingCycles:
          type: integer
        CurrentBillingCycles:
          type: integer
        PayedBillingCycles:
          type: integer
        RemainingBillingCycles:
          type: integer
        CurrentBillingCycleEndDate:
          type: string
        TaxAmount:
          type: number
        TaxPercent:
          type: number
        BillingCyclesFrequency:
          type: integer
        BillingCyclesFrequencyUnit:
          type: string
          example: MONTH
        ContractLength:
          type: integer
        ContractLengthUnit:
          type: string
          example: MONTH
        ProductOptions:
          type: array
          items:
            $ref: "#/components/schemas/DealItemPriceOptions"
    TotalsDealInfo:
      type: object
      properties:
        DealsNumber:
          type: integer
        ContractsNumber:
          type: integer
        PaidBillingCycles:
          type: integer
        ElapsedBillingCycles:
          type: integer
    DealOrder:
      allOf:
      - $ref: "#/components/schemas/body_1"
      - $ref: "#/components/schemas/DealDeliveryDetails"
    DealDeliveryDetails:
      type: object
      properties:
        DeliveryDetails:
          $ref: "#/components/schemas/DeliveryDetails"
    DealErrorResponse:
      type: object
      properties:
        error_code:
          type: string
          description: Error type code
          example: DEAL_ORDER_ERROR
        message:
          type: string
          description: Error message
          example: Could not create the deal order
    inline_response_200:
      type: object
      properties:
        ProductCode:
          type: string
        SkuPricingOptions:
          $ref: "#/components/schemas/inline_response_200_SkuPricingOptions"
    inline_response_401:
      type: object
      properties:
        error_code:
          type: string
          example: AUTHENTICATION_ERROR
        message:
          type: string
          example: This resource needs authentication
    inline_response_401_1:
      properties:
        error_code:
          type: string
          example: AUTHENTICATION_ERROR
        message:
          type: string
          example: This resource needs authentication
    inline_response_200_1:
      properties:
        Affiliate:
          $ref: "#/components/schemas/AffiliateResponse"
    inline_response_200_2:
      properties:
        Affiliates:
          $ref: "#/components/schemas/inline_response_200_2_Affiliates"
        Pagination:
          $ref: "#/components/schemas/Pagination"
    additionalfields_Translations_de:
      type: object
      properties:
        Label:
          type: string
          example: Haben Sie mit dem Newsletter Politik zu?
        Language:
          type: string
          example: DE
        Values:
          type: array
          items:
            type: string
            example: Ja
    additionalfields_Translations_fr:
      type: object
      properties:
        Label:
          type: string
          example: Êtes-vous d'accord avec la politique de la newsletter?
        Language:
          type: string
          example: FR
        Values:
          type: array
          items:
            type: string
            example: Oui
    additionalfields_Translations:
      type: object
      properties:
        de:
          $ref: "#/components/schemas/additionalfields_Translations_de"
        fr:
          $ref: "#/components/schemas/additionalfields_Translations_fr"
    body:
      properties:
        ApplyTo:
          type: string
          example: ORDER
        Code:
          type: string
          example: NewsletterPolicy1234576
        Label:
          type: string
          example: Do you agree with the new newsletter policy?
        Translations:
          $ref: "#/components/schemas/additionalfields_Translations"
        Type:
          type: string
          example: LISTBOX
        ValidationRule:
          type: string
          example: /rule/
        Values:
          type: array
          items:
            type: string
            example: "YES"
    inline_response_400:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    inline_response_404:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    inline_response_200_3:
      properties:
        Label:
          type: string
          example: Haben Sie mit dem Newsletter Politik zu?
        Values:
          type: array
          items:
            type: string
            example: Ja
        Language:
          type: string
          example: DE
    inline_response_200_4:
      properties:
        filename:
          type: string
          example: invoice_BV12333333.pdf
        data:
          type: string
          example: "application/pdf;base64,BASE_64_DATA"
    orders0_BillingDetails:
      type: object
      properties:
        Address1:
          type: string
        City:
          type: string
        CountryCode:
          type: string
        Email:
          type: string
        FirstName:
          type: string
        FiscalCode:
          type: string
        LastName:
          type: string
        Phone:
          type: string
        State:
          type: string
        Zip:
          type: string
    orders0_Affiliate:
      type: object
      properties:
        AffiliateCode:
          type: string
        AffiliateSource:
          type: string
    orders0_Items:
      type: object
      properties:
        Code:
          type: string
        Quantity:
          type: string
        CrossSell:
          $ref: "#/components/schemas/orders0_CrossSellCampaign"
        SubscriptionCustomSetting:
          $ref: "#/components/schemas/Item_SubscriptionCustomSettings"
    orders0_CrossSellCampaign:
      required:
      - ParentCode
      - CampaignCode
      type: object
      properties:
        ParentCode:
          type: string
        CampaignCode:
          type: string
    orders0_PaymentDetails_PaymentMethod:
      type: object
      properties:
        CCID:
          type: string
        CardNumber:
          type: string
        CardNumberTime:
          type: string
        CardType:
          type: string
        ExpirationMonth:
          type: string
        ExpirationYear:
          type: string
        HolderName:
          type: string
        HolderNameTime:
          type: string
        RecurringEnabled:
          type: boolean
    orders0_PaymentDetails:
      type: object
      properties:
        Currency:
          type: string
        CustomerIP:
          type: string
        PaymentMethod:
          $ref: "#/components/schemas/orders0_PaymentDetails_PaymentMethod"
        Type:
          type: string
    body_1:
      type: object
      properties:
        BillingDetails:
          $ref: "#/components/schemas/orders0_BillingDetails"
        Affiliate:
          $ref: "#/components/schemas/orders0_Affiliate"
        ExternalCustomerReference:
          type: string
        CustomerReference:
          type: string
        Country:
          type: string
        Currency:
          type: string
        CustomerIP:
          type: string
        Items:
          type: array
          items:
            $ref: "#/components/schemas/orders0_Items"
        Language:
          type: string
        PaymentDetails:
          $ref: "#/components/schemas/orders0_PaymentDetails"
        Source:
          type: string
      example:
        BillingDetails:
          Address1: Test Address
          City: LA
          CountryCode: US
          Email: customer@2Checkout.com
          FirstName: Customer
          LastName: 2Checkout
          State: CA
          Zip: "12345"
        Country: us
        Currency: usd
        CustomerIP: 91.220.121.21
        ExternalReference: REST_API_AVANGTE
        Affiliate: {}
        ExternalCustomerReference: IOUER
        CustomerReference: GFDFE
        Items:
        - Code: my_subscription_1
          Quantity: "1"
        Language: en
        PaymentDetails:
          Currency: USD
          CustomerIP: 91.220.121.21
          PaymentMethod:
            CCID: "123"
            CardNumber: "4111111111111111"
            CardNumberTime: "12"
            CardType: VISA
            ExpirationMonth: "12"
            ExpirationYear: "2020"
            HolderName: John Doe
            HolderNameTime: "12"
            RecurringEnabled: true
          Type: TEST
        Source: testAPI.com
    orders0shipping_BillingDetails:
      type: object
      properties:
        CountryCode:
          type: string
    orders0shipping_Items:
      type: object
      properties:
        Code:
          type: string
        Quantity:
          type: number
    body_2:
      type: object
      properties:
        BillingDetails:
          $ref: "#/components/schemas/orders0shipping_BillingDetails"
        CouponCodes:
          type: array
          items:
            nullable: true
        Currency:
          type: string
        DeliveryDetails:
          $ref: "#/components/schemas/orders0shipping_BillingDetails"
        Items:
          type: array
          items:
            $ref: "#/components/schemas/orders0shipping_Items"
      example:
        BillingDetails:
          CountryCode: US
        CouponCodes:
        - null
        Currency: USD
        DeliveryDetails:
          CountryCode: US
        Items:
        - Code: tangible_code
          Quantity: 2
    body_3:
      type: object
      properties:
        amount:
          type: number
        items:
          type: array
          items:
            $ref: "#/components/schemas/orders0shipping_Items"
        comment:
          type: string
        reason:
          type: string
      example:
        amount: 23
        items:
        - Code: my_product_1
          Quantity: 1
        comment: requested by vendor
        reason: CUSTOM_REASON
    ordersUpload:
      type: object
      properties:
        FileName:
          type: string
        ClientTime:
          type: string
        File:
          type: string
    applePaySession200:
      type: object
      properties:
        ApplePaySessionData:
          type: object
          properties:
            response:
              type: string
            errors:
              type: array
              items:
                type: string
      example:
        ApplePaySessionData:
          response: "APPLEPAY_DATA"
          errors: []
    applePaySession400:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
      example:
        error_code: PAYMENT_INVALID_APPLE_PAY_VALIDATION_URL
        message: The validationURL parameter is not a valid URL
    decryptApplePayData200:
      type: object
      properties:
        ApplePayDataToken:
          type: string
        BillingDetails:
          type: object
        DeliveryDetails:
          type: object
        Status:
          type: boolean
      example:
        ApplePayDataToken: APPLEPAY_DATA_TOKEN
        BillingDetails: {}
        DeliveryDetails: {}
        Status: true
    decryptApplePayData400:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
      example:
        error_code: APPLE_PAY_DECRYPT
        message: The billing information to decrypt is missing.
    paymentmethodsPAYPAL_EXPRESSredirecturl_PaymentDetails_PaymentMethod:
      type: object
      properties:
        Email:
          type: string
        ReturnURL:
          type: string
    paymentmethodsPAYPAL_EXPRESSredirecturl_PaymentDetails:
      type: object
      properties:
        Currency:
          type: string
        PaymentMethod:
          $ref: "#/components/schemas/paymentmethodsPAYPAL_EXPRESSredirecturl_PaymentDetails_PaymentMethod"
        Type:
          type: string
    body_4:
      type: object
      properties:
        Country:
          type: string
        Currency:
          type: string
        CustomerIP:
          type: string
        Items:
          type: array
          items:
            $ref: "#/components/schemas/orders0_Items"
        Language:
          type: string
        PaymentDetails:
          $ref: "#/components/schemas/paymentmethodsPAYPAL_EXPRESSredirecturl_PaymentDetails"
      example:
        Country: us
        Currency: usd
        CustomerIP: 91.220.121.21
        Items:
        - Code: my_subscription_1
          Quantity: "1"
        Language: en
        PaymentDetails:
          Currency: USD
          PaymentMethod:
            Email: customer@email.com
            ReturnURL: www.yoursite.com
          Type: PAYPAL_EXPRESS
    priceoptions_PriceImpact_Amounts_AUD:
      type: object
      properties:
        Amount:
          type: string
        Currency:
          type: string
    priceoptions_PriceImpact_Amounts:
      type: object
      properties:
        AUD:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"
        BRL:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"
        CAD:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"
        EUR:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"
        GBP:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"
        JPY:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"
        USD:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"
    priceoptions_PriceImpact:
      type: object
      properties:
        Amounts:
          $ref: "#/components/schemas/priceoptions_PriceImpact_Amounts"
        Impact:
          type: string
        ImpactOn:
          nullable: true
        Method:
          type: string
        Percent:
          nullable: true
    priceoptions_Translations:
      required:
      - Description
      - Language
      - Name
      type: object
      properties:
        Description:
          type: string
          nullable: true
        Language:
          type: string
        Name:
          type: string
    priceoptions_Options:
      required:
      - Code
      - Default
      - Description
      - Name
      - PriceImpact
      - ScaleMax
      - ScaleMin
      - SubscriptionImpact
      - Translations
      type: object
      properties:
        Code:
          type: string
        Default:
          type: boolean
        Description:
          type: string
        Name:
          type: string
        PriceImpact:
          $ref: "#/components/schemas/priceoptions_PriceImpact"
        ScaleMax:
          type: string
        ScaleMin:
          type: string
        SubscriptionImpact:
          nullable: true
        Translations:
          type: array
          items:
            $ref: "#/components/schemas/priceoptions_Translations"
    CreatePriceOptionGroups:
      type: object
      properties:
        Code:
          type: string
        Description:
          type: string
        Usage:
          type: string
          enum:
          - PAYPERUSAGE
          - REGULAR
        UsagePricingModel:
          type: string
          enum:
          - STEPPED
          - VOLUME
        Name:
          type: string
        Options:
          type: array
          items:
            $ref: "#/components/schemas/priceoptions_Options"
        Required:
          type: boolean
        Translations:
          type: array
          items:
            $ref: "#/components/schemas/priceoptions_Translations"
        Type:
          type: string
    UpdatePriceOptionGroups:
      type: object
      properties:
        Code:
          type: string
        Usage:
          type: string
          enum:
          - PAYPERUSAGE
          - REGULAR
        Description:
          type: string
        Name:
          type: string
        Options:
          type: array
          items:
            $ref: "#/components/schemas/priceoptions_Options"
        Required:
          type: boolean
        Translations:
          type: array
          items:
            $ref: "#/components/schemas/priceoptions_Translations"
        Type:
          type: string
    Product_ProductGroup:
      type: object
      properties:
        Code:
          type: string
          nullable: true
        Description:
          type: string
        Name:
          type: string
        TemplateName:
          type: string
      example:
        Description: Default products group
        Name: API_GROUP_TEST
        TemplateName: Optimized_Template
    products_AdditionalFields:
      type: object
      properties:
        Code:
          type: string
          description: The code of the additional field assigned to a product.
        Enabled:
          type: boolean
          description: True or false depending on whether the assigned product field is enabled or not.
        Label:
          type: string
          description: The name of the additional field assigned to a product.
        Required:
          type: boolean
          description: True or false depending on whether the assigned product field is required or not.
        URLParameter:
          type: string
          description: The value of the system generated URL parameter for the product field that can be used in Buy Links.
    products_FulfillmentInformation_AdditionalInformationEmailTranslations:
      type: object
      properties:
        Description:
          type: string
          description: Array of localized Additional fulfillment information - "Thank you" page texts.
        Language:
          type: string
        Name:
          type: string
          nullable: true
    products_FulfillmentInformation_BackupMedia:
      type: object
      properties:
        Code:
          type: string
          description: The unique code list identifier.
        Name:
          type: string
          description: Name of the code list.
        Type:
          type: string
          description: Code list type Static or Dynamic
    products_FulfillmentInformation_ProductFile:
      type: object
      properties:
        Code:
          type: string
          description: Unique product file identifier.
        File:
          type: string
          description: Name of the product file.
        LastUpdate:
          type: string
          description: YYYY-MM-DD HH-MM-SS. Date time stamp when you last updated the file.
        Name:
          type: string
          description: Display name.
        Size:
          type: string
          description: File size.
        Type:
          type: string
          description: File type.
        Version:
          type: string
          description: File version.
    products_FulfillmentInformation:
      type: object
      properties:
        AdditionalInformationByEmail:
          type: string
          description: The text you set up in the Additional fulfillment information - by email area.
        AdditionalInformationEmailTranslations:
          type: array
          items:
            $ref: "#/components/schemas/products_FulfillmentInformation_AdditionalInformationEmailTranslations"
        AdditionalThankYouPage:
          type: string
          description: The text you set up in the Additional fulfillment information - "Thank you" page area.
        AdditionalThankYouPageTranslations:
          type: array
          items:
            $ref: "#/components/schemas/products_FulfillmentInformation_AdditionalInformationEmailTranslations"
        BackupMedia:
          $ref: "#/components/schemas/products_FulfillmentInformation_BackupMedia"
        CodeList:
          $ref: "#/components/schemas/products_FulfillmentInformation_BackupMedia"
        IsBackupMedia:
          type: boolean
          description: True or False. Depending on whether you configure the delivery of backup media or not.
        IsDisplayInPartnersCPanel:
          type: boolean
          description: True or False. Depending on whether you share access to the product file with your channel partners or not.
        IsDownloadInsuranceService:
          type: boolean
          description: True or False. Depending on whether you enable the Download Insurance Service or not, for a product for which you configure a product file.
        IsDownloadLink:
          type: boolean
          description: True or False. Depending on whether you configure the delivery of a product file or not.
        IsElectronicCode:
          type: boolean
          description: True or False. Depending on whether you configure the delivery of keys/codes for the product or not.
        IsInstantDeliveryThankYouPage:
          type: boolean
        IsStartAfterFulfillment:
          type: boolean
          description: True or False. Depending on whether you want the subscription lifetime to start afther the completion of the fulfillment process or not.
        ProductFile:
          $ref: "#/components/schemas/products_FulfillmentInformation_ProductFile"
    product_getTaxCategoriesResponse:
      type: array
      items:
        $ref: '#/components/schemas/product_getTaxCategory'
    product_getTaxCategory:
      type: object
      description: The tax category to which the product belongs.
      properties:
        ProductTaxCategoryUUID:
          type: string
          description: The ID of the product tax category available.
        Name:
          type: string
          description: The name of the product tax category available
    products_Platforms:
      required:
      - Category
      - IdPlatform
      - PlatformName
      type: object
      properties:
        Category:
          type: string
          description: Platform category per product configuration.
        IdPlatform:
          type: string
        PlatformName:
          type: string
          description: The label of the platform per the product configuration.
    products_PriceOptions:
      required:
      - Code
      - Required
      type: object
      properties:
        Code:
          type: string
          description: Price option identifier.
        Required:
          type: boolean
          description: True or False depending on whether you want to make it mandatory for shoppers to select the price option during the purchase process.
    products_PricingConfigurations:
      type: object
      properties:
        BillingCountries:
          type: array
          description: ISO codes of the countries assigned to the pricing configuration. Empty unless specific countries are assigned to a pricing configuration.
          items:
            type: string
        Code:
          type: string
          description: System-generated identifier.
        Default:
          type: boolean
          description: True for the default pricing configuration
        DefaultCurrency:
          type: string
          description: The ISO code of the default currency for the pricing configuration
        Name:
          type: string
          description: Pricing configuration name
        PriceOptions:
          type: array
          items:
            $ref: "#/components/schemas/products_PriceOptions"
        PriceType:
          type: string
          description: Possible values - NET / GROSS
        Prices:
          type: array
          items:
            $ref: "#/components/schemas/Product_PricingConfiguration_Price"
        PricingSchema:
          type: string
          description: DYNAMIC – With a base price or FLAT – Without a base price
    products_ProductImages:
      type: object
      properties:
        Default:
          type: boolean
          description: True or False depending on whether you set the image stored at the address in the URL parameter as default or not.
        URL:
          type: string
          description: The location of the image on the 2Checkout system.
    products_ShippingClass:
      type: object
      properties:
        Amount:
          type: string
          description: The shipping costs
        ApplyTo:
          type: string
          description: Possible values • PRODUCT • ORDER
          nullable: true
        Currency:
          type: string
          description: The currency ISO code used for shipping costs - ISO 4217.
        Name:
          type: string
          description: The name of the shipping class
        Type:
          type: string
          description: Possible values • FIXED • PERCENT
    products_SubscriptionInformation_ContractPeriod:
      type: object
      properties:
        Action:
          type: string
          description: The action performed after the subscription expires. Possible values CANCEL | RESTART
        EmailsDuringContract:
          type: boolean
          description: True or False depending on whether you suppress renewal notification emails throughout the duration of the contract or not.
        IsUnlimited:
          type: boolean
          description: This flag is true if the contract is for an unlimited period
        Period:
          type: number
          description: The contract period in months or days. -1 for unlimited contracts.
        PeriodUnits:
          type: string
          nullable: true
          description: The contract period units - days | months
    products_SubscriptionInformation_GracePeriod:
      type: object
      properties:
        IsUnlimited:
          type: boolean
          description: TRUE or FALSE depending on whether you set the grace period to unlimited or not.
        Period:
          type: string
          description: Number of days set for the grace period.
        PeriodUnits:
          type: string
          description: D - Days.
        Type:
          type: string
          description: CUSTOM – you configured grace period setting at product level. GLOBAL – global grace period settings apply.
    products_SubscriptionInformation_RenewalEmails_Settings_AutomaticRenewal:
      type: object
      properties:
        After15Days:
          type: boolean
          description: True or False.
        After5Days:
          type: boolean
          description: True or False.
        Before15Days:
          type: boolean
          description: True or False.
        Before1Day:
          type: boolean
          description: True or False.
        Before30Days:
          type: boolean
          description: True or False.
        Before7Days:
          type: boolean
          description: True or False.
        OnExpirationDate:
          type: boolean
          description: True or False.
    products_SubscriptionInformation_RenewalEmails_Settings:
      type: object
      properties:
        AutomaticRenewal:
          $ref: "#/components/schemas/products_SubscriptionInformation_RenewalEmails_Settings_AutomaticRenewal"
        ManualRenewal:
          $ref: "#/components/schemas/products_SubscriptionInformation_RenewalEmails_Settings_AutomaticRenewal"
    products_SubscriptionInformation_RenewalEmails:
      type: object
      properties:
        Settings:
          $ref: "#/components/schemas/products_SubscriptionInformation_RenewalEmails_Settings"
        Type:
          type: string
          description: GLOBAL - Send emails according to the global renewal notification settings. CUSTOM – per product renewal notification settings
    products_SubscriptionInformation:
      type: object
      properties:
        BillingCycle:
          type: string
        BillingCycleUnits:
          type: string
          description: The units of the billing cycle - M for months or D for days
        BundleRenewalManagement:
          type: string
          description: The number of subscription billing cycle units (months or days).  Possible values - 0 (zero represents a one-time fee) Days
            7 8 9 10 11 12 13 14
            Months
            1 2 3 6 12 15 18 24 36 (max)
        ContractPeriod:
          $ref: "#/components/schemas/products_SubscriptionInformation_ContractPeriod"
        DeprecatedProducts:
          type: array
          items:
            type: string
            description: Deprecated products.
        GracePeriod:
          $ref: "#/components/schemas/products_SubscriptionInformation_GracePeriod"
        IsOneTimeFee:
          type: boolean
          description: True or False depending on whether the subscription is evergreen or not.
        RenewalEmails:
          $ref: "#/components/schemas/products_SubscriptionInformation_RenewalEmails"
        UsageBilling:
          type: number
    products_Translations:
      type: object
      properties:
        Description:
          type: string
          description: Localized product short description.
        Language:
          type: string
          description: ISO 639-1 two-letter code.
        LongDescription:
          type: string
          description: The translated long description in the language corresponding to the Translation object.
        Name:
          type: string
          description: Localized product name.
        SystemRequirements:
          type: string
          description: Localized system requirements.
          nullable: true
        TrialDescription:
          type: string
          nullable: true
        TrialUrl:
          type: string
          description: The trial URL for users speaking the language corresponding to the Translation object.
          nullable: true
    Product_TangibleDetails:
      type: object
      description: Relevant only for tangible products; contains physical product setup information
      properties:
        UnitDetails:
          type: array
          items:
            $ref: "#/components/schemas/Product_TangibleDetails_UnitDetails"
        Fee:
          type: array
          items:
            $ref: "#/components/schemas/Product_TangibleDetails_HandlingFee"
    Product_TangibleDetails_HandlingFee:
      type: object
      properties:
        Currency:
          type: string
          description: Currency of the handling fee
          example: USD
        Amount:
          type: number
          format: float
          description: Handling fee amount defined on the tangible product
          example: "5"
    Product_TangibleDetails_UnitDetails:
      type: object
      properties:
        Type:
          type: string
          description: Product physical configuration type
          example: WEIGHT
        Amount:
          type: number
          format: float
          description: Product's tangible configuration type value
          example: "5"
    ProductResponse:
      allOf:
      - $ref: "#/components/schemas/Product"
    CreateProductRequest:
      allOf:
      - $ref: "#/components/schemas/Product"
      required:
      - ProductCode
      - ProductName
      - PricingConfigurations
    UpdateProductRequest:
      allOf:
      - $ref: "#/components/schemas/Product"
      - type: object
        properties:
          GroupName:
            type: string
      example:
        $ref: "#/components/examples/UpdateProductRequestExample"
    Product:
      type: object
      properties:
        AvangateId:
          type: integer
          description: "Unique, system-generated product ID (read-only)"
          nullable: true
        ProductCode:
          type: string
          description: The unique product code you can define for each of your offerings
        ExternalReference:
          type: string
          description: External reference set when defining the product
        ProductType:
          type: string
          enum:
          - REGULAR
          - BUNDLE
          default: REGULAR
          description: The type of the product (REGULAR or BUNDLE)
        ProductName:
          type: string
          description: The name of the product
        ProductVersion:
          type: string
          description: The product version number
        ProductGroup:
          $ref: "#/components/schemas/Product_ProductGroup"
        PurchaseMultipleUnits:
          type: boolean
          description: Customers can purchase multiple units (when set TRUE) or only one unit (when set FALSE) of this product
          default: true
        ShippingClass:
          $ref: "#/components/schemas/products_ShippingClass"
        GiftOption:
          type: boolean
          default: false
          description: True or false depending on whether the product can be gifted or not
        ShortDescription:
          type: string
          default: ""
          description: Product's short description
        LongDescription:
          type: string
          default: ""
          description: Product's long description
        SystemRequirements:
          type: string
          default: ""
          description: System requirements
        ProductCategory:
          oneOf:
          - type: string
          - type: boolean
            default: false
          description: Product's category name
        Platforms:
          type: array
          items:
            $ref: "#/components/schemas/products_Platforms"
        ProductImages:
          type: array
          readOnly: true
          items:
            $ref: "#/components/schemas/products_ProductImages"
        TrialUrl:
          type: string
          default: ""
          description: The URL where shoppers can download trial software from
        TrialDescription:
          type: string
          default: ""
          description: Descriptive text entered for trials
        Tangible:
          type: boolean
          description: "TRUE - for physical products, FALSE - for digital products"
        TangibleDetails:
          readOnly: true
          allOf:
          - $ref: "#/components/schemas/Product_TangibleDetails"
        Enabled:
          type: boolean
          default: false
          description: True/false depending on whether the products are active or disabled
        ReviewProductUrl:
          type: boolean
          default: ""
          description: The URL where the product can be reviewed before approval. Required if the "Enabled" property is sent as TRUE and the product needs to be reviewed by our internal teams before activation.
        ReviewAdditionalDetails:
          type: boolean
          default: ""
          description: Additional information can be added to access the review of the product. Parameter is optional.
        AdditionalFields:
          type: array
          items:
            $ref: "#/components/schemas/products_AdditionalFields"
        Translations:
          type: array
          items:
            $ref: "#/components/schemas/products_Translations"
        PricingConfigurations:
          type: array
          items:
            $ref: "#/components/schemas/products_PricingConfigurations"
        BundleProducts:
          readOnly: true
          type: array
          items:
            $ref: "#/components/schemas/product_BundledProducts"
        Fulfillment:
          type: string
          enum:
          - NO_DELIVERY
          - INHERIT
          - BY_AVANGATE
          - BY_VENDOR
          description: "Possible values BY_AVANGATE, BY_VENDOR, NO_DELIVERY"
        Prices:
          type: array
          description: to be used when Pricing Configurations are not available for your account
          items:
            $ref: "#/components/schemas/Product_PricingConfiguration_Price"
        GeneratesSubscription:
          type: boolean
          default: false
          description: TRUE or FALSE depending on whether you set the product to generate subscriptions or not
        SubscriptionInformation:
          $ref: "#/components/schemas/products_SubscriptionInformation"
        FulfillmentInformation:
          $ref: "#/components/schemas/products_FulfillmentInformation"
      example:
        $ref: "#/components/examples/ProductExample"
    Product_PricingConfiguration_Price:
      required:
      - Amount
      - Currency
      - MaxQuantity
      - MinQuantity
      - OptionCodes
      type: object
      properties:
        Amount:
          type: number
          description: The price of the product.
        Currency:
          type: string
          description: ISO code of the currency for the product price.
        MaxQuantity:
          type: string
          description: The maximum quantity of volume discounts. Default is 99999.
        MinQuantity:
          type: string
          description: The minimum quantity of volume discounts. Default is 1.
        OptionCodes:
          type: array
          items: {}
    Product_PricingConfiguration_Prices:
      type: object
      properties:
        Regular:
          type: array
          items:
            $ref: "#/components/schemas/Product_PricingConfiguration_Price"
        Renewal:
          type: array
          items:
            $ref: "#/components/schemas/Product_PricingConfiguration_Price"
    productsProductCodepricingconfigurations_PriceOptions:
      required:
      - Code
      - Required
      type: object
      properties:
        Code:
          type: string
        Required:
          type: boolean
        CustomImpactOnPrice:
          type: boolean
    body_10:
      type: object
      properties:
        BillingCountries:
          type: array
          items: {}
        Default:
          type: boolean
        DefaultCurrency:
          type: string
        Name:
          type: string
        PriceOptions:
          type: array
          items:
            $ref: "#/components/schemas/productsProductCodepricingconfigurations_PriceOptions"
        PriceType:
          type: string
        Prices:
          $ref: "#/components/schemas/Product_PricingConfiguration_Prices"
        PricingSchema:
          type: string
      example:
        BillingCountries: []
        Default: true
        DefaultCurrency: USD
        Name: 2Checkout Subscription's Price Configuration
        PriceOptions:
        - Code: SUPPORT
          Required: true
          CustomImpactOnPrice: false
        - Code: USERS
          Required: true
          CustomImpactOnPrice: false
        - Code: BACKUP
          Required: false
          CustomImpactOnPrice: false
        PriceType: NET
        Prices:
          Regular:
          - Amount: 99
            Currency: USD
            MaxQuantity: "99999"
            MinQuantity: "1"
            OptionCodes: []
          - Amount: 0
            Currency: EUR
            MaxQuantity: "99999"
            MinQuantity: "1"
            OptionCodes: []
          Renewal: []
        PricingSchema: DYNAMIC
    body_11:
      type: object
      properties:
        BillingCountries:
          type: array
          items: {}
        UseOriginalPrices:
          type: boolean
        Code:
          type: string
        Default:
          type: boolean
        DefaultCurrency:
          type: string
        Name:
          type: string
        PriceOptions:
          type: array
          items:
            $ref: "#/components/schemas/productsProductCodepricingconfigurations_PriceOptions"
        PriceType:
          type: string
        Prices:
          $ref: "#/components/schemas/Product_PricingConfiguration_Prices"
        PricingSchema:
          type: string
      example:
        BillingCountries: []
        Code: 54DCBC3DC8
        UseOriginalPrices: false
        Default: true
        DefaultCurrency: USD
        Name: 2Checkout Subscription's Price Configuration
        PriceOptions:
        - Code: SUPPORT
          Required: true
          CustomImpactOnPrice: false
        - Code: USERS
          Required: true
          CustomImpactOnPrice: false
        - Code: BACKUP
          Required: false
          CustomImpactOnPrice: false
        PriceType: NET
        Prices:
          Regular:
          - Amount: 99
            Currency: USD
            MaxQuantity: "99999"
            MinQuantity: "1"
            OptionCodes: []
          - Amount: 0
            Currency: EUR
            MaxQuantity: "99999"
            MinQuantity: "1"
            OptionCodes: []
          Renewal: []
        PricingSchema: DYNAMIC
    promotions_Coupon:
      type: object
      properties:
        Codes:
          type: array
          items:
            type: string
        Type:
          type: string
    promotions_Discount:
      type: object
      properties:
        Type:
          type: string
        Value:
          type: number
    promotions_Products:
      type: object
      properties:
        Code:
          type: string
    RegularPromotion:
      type: object
      properties:
        ApplyRecurring:
          type: string
        ChannelType:
          type: string
        Coupon:
          $ref: "#/components/schemas/promotions_Coupon"
        Description:
          type: string
        Discount:
          $ref: "#/components/schemas/promotions_Discount"
        Enabled:
          type: boolean
        EndDate:
          type: string
        InstantDiscount:
          type: number
        MaximumOrdersNumber:
          type: number
        MaximumQuantity:
          type: number
        Name:
          type: string
        Products:
          type: array
          items:
            $ref: "#/components/schemas/promotions_Products"
        PublishToAffiliatesNetwork:
          type: number
        StartDate:
          type: string
        Type:
          type: string
      example:
        ApplyRecurring: NONE
        ChannelType: ECOMMERCE
        Coupon:
          Codes:
          - code1
          - code2
          Type: MULTIPLE
        Description: Promo description1
        Discount:
          Type: PERCENT
          Value: 41
        Enabled: true
        EndDate: "2019-12-31"
        InstantDiscount: 0
        MaximumOrdersNumber: 0
        MaximumQuantity: 0
        Name: Promo percentage REST
        Products:
        - Code: my_subscription_1
        PublishToAffiliatesNetwork: 0
        StartDate: "2019-11-30"
        Type: REGULAR
    GlobalPromotion:
      type: object
      properties:
        ApplyRecurring:
          type: string
        ChannelType:
          type: string
        Coupon:
          $ref: "#/components/schemas/promotions_Coupon"
        Description:
          type: string
        Discount:
          $ref: "#/components/schemas/PromotionDiscountFixed"
        PriceThreshold:
          $ref: "#/components/schemas/GlobalPromotionPriceThreshold"
        Enabled:
          type: boolean
        EndDate:
          type: string
        InstantDiscount:
          type: number
        MaximumOrdersNumber:
          type: number
        MaximumQuantity:
          type: number
        Name:
          type: string
        PublishToAffiliatesNetwork:
          type: number
        StartDate:
          type: string
        Type:
          type: string
    SpecialPricePromotion:
      type: object
      properties:
        ApplyRecurring:
          type: string
        Coupon:
          $ref: "#/components/schemas/promotions_Coupon"
        Description:
          type: string
        Enabled:
          type: boolean
        EndDate:
          type: string
        InstantDiscount:
          type: number
        MaximumOrdersNumber:
          type: number
        MaximumQuantity:
          type: number
        Name:
          type: string
        StartDate:
          type: string
        Type:
          type: string
        Products:
          type: array
          items:
            $ref: "#/components/schemas/promotions_Products"
        DefaultCurrency:
          type: string
        PriceMatrix:
          type: array
          items:
            $ref: "#/components/schemas/priceMatrixPrice"
    CumulativePromotion:
      type: object
      properties:
        ApplyRecurring:
          type: string
        Coupon:
          $ref: "#/components/schemas/promotions_Coupon"
        Description:
          type: string
        Enabled:
          type: boolean
        EndDate:
          type: string
        InstantDiscount:
          type: number
        MaximumOrdersNumber:
          type: number
        MaximumQuantity:
          type: number
        Name:
          type: string
        StartDate:
          type: string
        Type:
          type: string
        Cumulative:
          type: boolean
        ProductTaxCategoryUUID:
          type: string
        Products:
          type: array
          items:
            $ref: "#/components/schemas/promotions_Products"
        DefaultCurrency:
          type: string
        PriceMatrix:
          type: array
          items:
            $ref: "#/components/schemas/priceMatrixPrice"
    promotionsPromotionCode_Coupon:
      type: object
      properties:
        Code:
          type: string
        Type:
          type: string
    promotionsPromotionCode_Products:
      type: object
      properties:
        Id:
          type: number
    body_13:
      type: object
      properties:
        ApplyRecurring:
          type: number
        ChannelType:
          type: string
        Coupon:
          $ref: "#/components/schemas/promotionsPromotionCode_Coupon"
        Description:
          type: string
        Discount:
          $ref: "#/components/schemas/promotions_Discount"
        Enabled:
          type: number
        EndDate:
          type: string
        InstantDiscount:
          type: number
        MaximumOrdersNumber:
          type: number
        MaximumQuantity:
          type: number
        Name:
          type: string
        Products:
          type: array
          items:
            $ref: "#/components/schemas/promotionsPromotionCode_Products"
        PublishToAffiliatesNetwork:
          type: number
        RecurringChargesNumber:
          type: number
        Sources:
          type: array
          items:
            type: string
        StartDate:
          type: string
        Translations:
          nullable: true
        Type:
          type: string
      example:
        ApplyRecurring: 2
        ChannelType: ECOMMERCE
        Coupon:
          Code: ThisIsMyTestCoupon123
          Type: SINGLE
        Description: Updating the promotion
        Discount:
          Type: PERCENT
          Value: 30
        Enabled: 1
        EndDate: "2019-12-25"
        InstantDiscount: 0
        MaximumOrdersNumber: 0
        MaximumQuantity: 0
        Name: Promo update
        Products:
        - Id: 4639321
        PublishToAffiliatesNetwork: 0
        RecurringChargesNumber: 3
        Sources:
        - source1
        - source12
        StartDate: "2019-10-09"
        Type: REGULAR
    body_14:
      type: object
      properties:
        Code:
          type: string
        Type:
          type: string
      example:
        Code: CODE
        Type: SINGLE
    body_15:
      type: object
      properties:
        Codes:
          type: array
          items:
            type: string
        Type:
          type: string
      example:
        Codes:
        - COUPON1
        - COUPON2
        Type: MULTIPLE
    inline_response_200_5:
      type: object
      properties:
        LeadResponse:
          $ref: "#/components/schemas/UpdateLeadResponse"
    inline_response_200_6:
      type: object
      properties:
        Items:
          $ref: "#/components/schemas/GetLeadResponse"
        Pagination:
          $ref: "#/components/schemas/Pagination"
    inline_response_200_7:
      type: object
      properties:
        LeadResponse:
          $ref: "#/components/schemas/LeadResponse"
    inline_response_200_8:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/SubscriptionResponse"
        Pagination:
          $ref: "#/components/schemas/Pagination"
    subscriptions_DeliveryInfo_Codes:
      type: object
      properties:
        Code:
          type: string
        Description:
          nullable: true
        ExtraInfo:
          nullable: true
        File:
          nullable: true
    subscriptions_DeliveryInfo:
      type: object
      properties:
        Codes:
          type: array
          items:
            $ref: "#/components/schemas/subscriptions_DeliveryInfo_Codes"
        Description:
          nullable: true
    subscriptions_EndUser:
      type: object
      properties:
        Address1:
          type: string
        Address2:
          type: string
        City:
          type: string
        Company:
          type: string
        CountryCode:
          type: string
        Email:
          type: string
        Fax:
          type: string
        FirstName:
          type: string
        Language:
          type: string
        LastName:
          type: string
        Phone:
          type: string
        State:
          type: string
        Zip:
          type: string
    subscriptions_Payment:
      type: object
      properties:
        CCID:
          type: string
        CardNumber:
          type: string
        CardType:
          type: string
        ExpirationMonth:
          type: string
        ExpirationYear:
          type: string
        HolderName:
          type: string
    subscriptions_Product:
      type: object
      properties:
        PriceOptionCodes:
          type: array
          items:
            type: string
        ProductCode:
          type: string
        ProductId:
          type: string
        ProductName:
          type: string
        ProductQuantity:
          type: number
        ProductVersion:
          type: string
    body_16:
      type: object
      properties:
        AdditionalInfo:
          nullable: true
        CustomPriceBillingCyclesLeft:
          type: number
        DeliveryInfo:
          $ref: "#/components/schemas/subscriptions_DeliveryInfo"
        EndUser:
          $ref: "#/components/schemas/subscriptions_EndUser"
        ExpirationDate:
          type: string
        ExternalCustomerReference:
          nullable: true
        ExternalSubscriptionReference:
          type: string
        NextRenewalPrice:
          type: number
        NextRenewalPriceCurrency:
          type: string
        PartnerCode:
          type: string
        Payment:
          $ref: "#/components/schemas/subscriptions_Payment"
        Product:
          $ref: "#/components/schemas/subscriptions_Product"
        StartDate:
          type: string
        ActivationDate:
          type: string
          nullable: true
        SubscriptionValue:
          type: number
        SubscriptionValueCurrency:
          type: string
        Test:
          type: number
      example:
        CustomPriceBillingCyclesLeft: 2
        DeliveryInfo:
          Codes:
          - Code: ___TEST___CODE____
        EndUser:
          Address1: Test Address
          Address2: ""
          City: LA
          Company: ""
          CountryCode: us
          Email: customer@2Checkout.com
          Fax: ""
          FirstName: Customer
          Language: en
          LastName: 2Checkout
          Phone: ""
          State: CA
          Zip: "12345"
        ExpirationDate: "2015-12-16"
        ExternalSubscriptionReference: ThisIsYourUniqueIdentifier123
        NextRenewalPrice: 49.99
        NextRenewalPriceCurrency: usd
        PartnerCode: ""
        Payment:
          CCID: "123"
          CardNumber: "4111111111111111"
          CardType: VISA
          ExpirationMonth: "12"
          ExpirationYear: "2018"
          HolderName: John Doe
        Product:
          PriceOptionCodes:
          - oneuser1
          ProductCode: my_subscription_1
          ProductId: "4639321"
          ProductName: 2Checkout Subscription
          ProductQuantity: 1
          ProductVersion: ""
        StartDate: "2015-02-16"
        SubscriptionValue: 199
        SubscriptionValueCurrency: usd
        Test: 1
    subscriptionsSubscriptionReference_Product:
      type: object
      properties:
        PriceOptionCodes:
          type: array
          items:
            type: string
        ProductId:
          type: string
        ProductName:
          type: string
        ProductQuantity:
          type: number
    body_17:
      type: object
      properties:
        EndUser:
          $ref: "#/components/schemas/subscriptions_EndUser"
        StartDate:
          type: string
        ExpirationDate:
          type: string
        ExternalCustomerReference:
          nullable: true
        Product:
          $ref: "#/components/schemas/subscriptionsSubscriptionReference_Product"
        RecurringEnabled:
          type: boolean
        SubscriptionEnabled:
          type: boolean
        ChurnReasons:
          type: array
          items:
            type: string
        ChurnReasonOther:
          type: string
      example:
        EndUser:
          Address1: Test Address
          Address2: ""
          City: LA
          Company: ""
          CountryCode: us
          Email: customer@2Checkout.com
          Fax: ""
          FirstName: Customer
          Language: en
          LastName: 2Checkout
          Phone: ""
          State: CA
          Zip: "12345"
        StartDate: "2024-12-16 01:01:00"
        ExpirationDate: "2015-12-16"
        Product:
          PriceOptionCodes:
          - oneuser1
          ProductId: "4639321"
          ProductName: 2Checkout Subscription
          ProductQuantity: 1
        RecurringEnabled: true
        SubscriptionEnabled: true
        ChurnReasons:
        - CHURN_REASON_COVID
        - CHURN_REASON_OTHER
        ChurnReasonOther: "sample reason freetext"
    body_18:
      type: object
      properties:
        Name:
          type: string
        Value:
          type: string
    body_19:
      type: object
      properties:
        Name:
          type: string
        Value:
          type: string
    body_20:
      type: object
      properties:
        ExternalCustomerReference:
          type: string
        AvangateCustomerReference:
          type: integer
      example:
        ExternalCustomerReference: ThisIsTheCustomerID123
        AvangateCustomerReference: 23423543543
    body_24:
      type: object
      properties:
        validationURL:
          type: string
      example:
        validationURL: https://apple-pay-gateway.apple.com/paymentservices/startSession
    body_25:
      type: object
      properties:
        ApplePayData:
          type: string
      example:
        ApplePayData: 543a07601ed9f8b8ee226e9630a24e2a91da8fdb08e6786fa02bf628f395bb91
    inline_response_200_9:
      properties:
        Type:
          type: string
          example: TEST
        Currency:
          type: string
          example: USD
        PaymentMethod:
          $ref: "#/components/schemas/inline_response_200_9_PaymentMethod"
    body_21:
      type: object
      properties:
        Currency:
          type: string
        Days:
          type: number
        ExtendSubscription:
          nullable: true
        Price:
          type: number
      example:
        Currency: usd
        Days: 15
        Price: 22.11
    body_22:
      type: object
      properties:
        Cycles:
          type: number
        Currency:
          type: string
        Price:
          type: number
        Text:
          type: string
      example:
        Cycles: 2
        Currency: EUR
        Price: 100
        Text: Additional details
    body_23:
      type: object
      properties:
        CustomPrice:
          type: number
        ExternalRef:
          nullable: true
        PriceOptions:
          type: string
        ProductCode:
          type: string
        Quantity:
          type: number
      example:
        CustomPrice: 50
        PriceOptions: emailsupport;oneuser1
        ProductCode: my_subscription_123
        Quantity: 3
    inline_response_200_10:
      required:
      - limit
      - page
      - proposals
      - proposalsCount
      - pagesCount
      type: object
      properties:
        page:
          type: integer
          description: The incoming page value
          example: 0
        limit:
          type: integer
          description: The incoming limit value
          example: 10
        proposals:
          type: array
          description: The matching proposals collection
          items:
            $ref: "#/components/schemas/Proposal"
        proposalsCount:
          type: integer
          description: The total number of proposal matching the criterias
          example: 1
        pagesCount:
          type: integer
          description: The total number of pages for proposal matching the criterias
          example: 1
    SearchProposalHistoryById:
      required:
      - limit
      - page
      - versions
      - count
      type: object
      properties:
        page:
          type: integer
          description: The incoming page value
          example: 0
        limit:
          type: integer
          description: The incoming limit value
          example: 10
        versions:
          type: array
          description: The matching proposal versions collection
          items:
            $ref: "#/components/schemas/Proposal"
        count:
          type: integer
          description: The total number of proposal versions matching the criterias
          example: 1
    GetPrice_Item:
      required:
      - Code
      - Quantity
      type: object
      properties:
        Code:
          type: string
        Quantity:
          type: string
        PriceOptions:
          type: array
          items: {}
    GetPrice_BillingDetails:
      type: object
      properties:
        Address1:
          type: string
        Address2:
          type: string
        City:
          type: string
        State:
          type: string
        CountryCode:
          type: string
        Email:
          type: string
        FirstName:
          type: string
        LastName:
          type: string
        Zip:
          type: string
        Phone:
          type: string
        Company:
          type: string
        FiscalCode:
          type: string
    PlaceOrder_Price:
      type: object
      properties:
        Amount:
          type: integer
        Type:
          type: string
    PlaceOrder_RenewalInformation:
      type: object
      description: Used for manual renewal orders.
      properties:
        SubscriptionReference:
          type: string
          description: Unique, system-generated subscription identifier of the subscription that needs to be renewed.
        Code: 
          type: string
          description: The unique code defined for your product. Required for manual renewal only if you wish to change the product on the subscription.
        Quantity: 
          type: string
          description: Number of units. Required for manual renewal only if you wish to change the product quantity on the subscription.
    PlaceOrder_UpgradeInformation:
      type: object
      description: Used for upgrade orders.
      properties:
        SubscriptionReference:
          type: string
          description: Unique, system-generated subscription identifier of the subscription that needs to be upgraded.
        Code: 
          type: string
          description: The unique code defined for your product. Required for upgrade order only if you wish to change the product on the subscription.
        Quantity: 
          type: string
          description: Number of units. Required for upgrade order only if you wish to change the product quantity on the subscription.
    PlaceOrder_TrialInput:
      type: object
      properties:
        Period:
          type: integer
        Price:
          type: number
    PlaceOrder_ItemCrossSell:
      type: object
      properties:
        ParentCode:
          type: string
          example: PARENTPRODUCT
        CampaignCode:
          type: integer
          example: 2Xrl83KElaWBv3G3dtW9eg
        AutoAdded:
          type: boolean
          example: true
    PlaceOrder_ItemUpSell:
      type: object
      properties:
        ParentCode:
          type: string
          example: PARENTPRODUCT
        CampaignCode:
          type: integer
          example: 2Xrl83KElaWBv3G3dtW9eg
        PriceOptions:
          type: array
          items:
            type: string
        Quantity:
          type: integer
          example: 1
    PlaceOrder_ItemPromotion:
      type: object
      properties:
        Code:
          type: string
    PlaceOrder_Options:
      type: object
      properties:
        Name:
          type: string
        Value:
          type: string
        Surcharge:
          type: integer
    PlaceOrder_PriceOptions:
      type: object
      properties:
        Name:
          type: string
        Options:
          type: array
          items:
            $ref: "#/components/schemas/PlaceOrder_Options"
    PlaceOrder_RecurringOptions:
      type: object
      properties:
        CycleLength:
          type: integer
        CycleUnit:
          type: string
          enum:
          - DAY
          - WEEK
          - MONTH
          - YEAR
        CycleAmount:
          type: number
        ContractLength:
          type: integer
        ContractUnit:
          type: string
          enum:
          - DAY
          - WEEK
          - MONTH
          - YEAR
          - FOREVER
    PlaceOrder_Items:
      type: object
      properties:
        Code:
          type: string
          description: The unique code defined for your product. 
        RenewalInformation:
          $ref: "#/components/schemas/PlaceOrder_RenewalInformation"
        UpgradeInformation:
          $ref: "#/components/schemas/PlaceOrder_UpgradeInformation"
        Name:
          type: string
        Description:
          type: string
        Quantity:
          type: string
        IsDynamic:
          type: boolean
        Tangible:
          type: boolean
        PurchaseType:
          type: string
        Price:
          $ref: "#/components/schemas/PlaceOrder_Price"
        ProductTaxCategoryUUID:
          type: string
        PriceType:
          type: string
        PriceOptions:
          type: array
          items:
            $ref: "#/components/schemas/PlaceOrder_PriceOptions"
        CrossSell:
          $ref: "#/components/schemas/PlaceOrder_ItemCrossSell"
        UpSell:
          $ref: "#/components/schemas/PlaceOrder_ItemUpSell"
        RecurringOptions:
          $ref: "#/components/schemas/PlaceOrder_RecurringOptions"
        SubscriptionCustomSettings:
          $ref: "#/components/schemas/Item_SubscriptionCustomSettings"
        Trial:
          $ref: "#/components/schemas/PlaceOrder_TrialInput"
        Promotion:
          $ref: "#/components/schemas/PlaceOrder_ItemPromotion"
    PlaceOrder_BillingDetails:
      required:
      - Address1
      - City
      - CountryCode
      - Email
      - FirstName
      - LastName
      - State
      - Zip
      type: object
      properties:
        Address1:
          type: string
        City:
          type: string
        State:
          type: string
        CountryCode:
          type: string
        Email:
          type: string
        FirstName:
          type: string
        LastName:
          type: string
        Zip:
          type: string
    PlaceOrder_PaymentDetails_PaymentMethod:
      type: object
      properties:
        CardNumber:
          type: string
        CardType:
          type: string
        Vendor3DSReturnURL:
          type: string
        Vendor3DSCancelURL:
          type: string
        ExpirationYear:
          type: string
        ExpirationMonth:
          type: string
        CCID:
          type: string
        HolderName:
          type: string
        RecurringEnabled:
          type: boolean
        HolderNameTime:
          type: integer
        CardNumberTime:
          type: integer
    PlaceOrder_PaymentDetails:
      required:
      - Currency
      - Type
      type: object
      properties:
        Type:
          type: string
        Currency:
          type: string
          description: The currency ISO code for the payment - ISO 4217. Can be changed for the method "Place an order with manual renewal" to set a common currency for multiple subscriptions renewed via the same order.
        CustomerIP:
          type: string
        PaymentMethod:
          $ref: "#/components/schemas/PlaceOrder_PaymentDetails_PaymentMethod"
    SearchPayoutsItems_Summary:
      type: object
      properties:
        ServicesAmount:
          type: number
          example: 0
        PurchaseOrdersAmount:
          type: number
          example: 0
        ChargeBacksAmount:
          type: number
          example: 0
        RollingReserveAmount:
          type: number
          example: 0
        PeriodNetSales:
          type: number
          example: 0
        VendorToVendor:
          type: number
          example: 0
        ChargeBackFund:
          type: number
          example: 0
    PendingPayouts_Total_OrdersTotal:
      type: object
      properties:
        estore:
          type: number
          example: 258.12
        affilietes:
          type: number
          example: 13.1
        partner:
          type: number
          example: 7.7
        total:
          type: number
          example: 278.92
    PendingPayouts_Total:
      type: object
      properties:
        Currency:
          type: string
          example: AUD
        OrdersTotal:
          $ref: "#/components/schemas/PendingPayouts_Total_OrdersTotal"
        RetainedToDisputesBalance:
          type: number
          example: 0
        ReleasedFromDisputesBalance:
          type: number
          example: 0
        RetainedToRollingReserveBalance:
          type: number
          example: 27.39
        ReleasedFromRollingReserveBalance:
          type: number
          example: 0
        ChargebackFees:
          type: number
          example: 0
        ProcessingFees:
          type: number
          example: -20.97
        AffiliatesCommission:
          type: number
          example: 0
        TaxCollected:
          type: number
          example: -18.83
        EstimatedTotalRevenue:
          type: number
          example: 190.93
    PendingPayoutsCurrencies_OrdersTotal:
      type: object
      properties:
        estore:
          type: number
          example: 12
        affilietes:
          type: number
          example: 10
        partner:
          type: number
          example: 7
        total:
          type: number
          example: 29
    LeadResponse_Errors:
      type: object
      properties:
        Code:
          type: string
          example: LEAD_COUPON_CODE_EMPTY
        Description:
          type: string
          example: The coupon code is empty
    GetLeadResponse_Items:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/Item"
    GetLeadResponse_BillingDetails:
      type: object
      properties:
        Object:
          $ref: "#/components/schemas/BillingDetails"
    GetLeadResponse_DeliveryDetails:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/DeliveryDetails"
    GetLeadResponse_DeliveryInformation:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/DeliveryInformation"
    GetLeadResponse_PaymentDetails:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/PaymentDetails"
    GetLeadResponse_Promotions:
      type: object
      properties:
        "0":
          type: string
          example: PROMOCODE4
    Item_PriceOptions:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/PriceOptions"
    Item_RecurringOptions:
      type: object
      properties:
        Object:
          $ref: "#/components/schemas/RecurringOptions"
    Item_MarketingCampaigns:
      type: object
      properties:
        Object:
          $ref: "#/components/schemas/MarketingCampaigns"
    Item_Price:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/Price"
    Item_AdditionalFields:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/AdditionalFields"
    PriceOptions_Options:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/PriceOptionsOption"
    DeliveryInformation_ShippingMethod:
      type: object
      properties:
        Code:
          type: string
          example: sdfsd
    PaymentDetails_PaymentMethod_CardPayment:
      type: object
      properties:
        InstallmentsNumber:
          type: number
          example: 3
    PaymentDetails_PaymentMethod:
      type: object
      properties:
        CardPayment:
          $ref: "#/components/schemas/PaymentDetails_PaymentMethod_CardPayment"
    SubscriptionResponse_Product:
      $ref: "#/components/schemas/Product"
    SubscriptionResponse_EndUser:
      $ref: "#/components/schemas/EndUser"
    SubscriptionResponse_DeliveryInfo:
      $ref: "#/components/schemas/DeliveryInfo"
    SubscriptionResponse_LatestSubscriptionOrder:
      $ref: "#/components/schemas/LatestSubscriptionOrder"
    DeliveryInfo_Codes:
      type: array
      items:
        $ref: "#/components/schemas/DeliveryInfoCode"
    ProductSkuSearchResponse_PricingConfigurations:
      type: object
      properties:
        Code:
          type: string
          example: 5667F988EC
        Currencies:
          type: array
          items:
            $ref: "#/components/schemas/Currency"
        PurchaseTypes:
          type: array
          items:
            $ref: "#/components/schemas/PurchaseType"
        QuantityIntervals:
          type: array
          items:
            $ref: "#/components/schemas/QuantityInterval"
        PriceOptionGroups:
          type: array
          items:
            $ref: "#/components/schemas/PriceOptionGroup"
        SkuCollection:
          type: array
          items:
            $ref: "#/components/schemas/Sku"
    SkuPricingOptionsDetails_Groups:
      type: object
      properties:
        GroupCode:
          type: string
          example: SMGRP
        Options:
          type: array
          items:
            $ref: "#/components/schemas/SkuPricingOptionsDetailsOption"
    SkuPricingOptionsDetailsForSchema_Details:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/SkuPricingOptionsForSchema"
        "1":
          $ref: "#/components/schemas/SkuPricingOptionsForSchema"
    SkuPricingOptionsForSchema_Groups_0_Options_0:
      type: object
      properties:
        Name:
          type: string
          example: "Option label #1"
        Value:
          type: string
          example: OPTION_CODE_1
    SkuPricingOptionsForSchema_Groups_0_Options:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/SkuPricingOptionsForSchema_Groups_0_Options_0"
    SkuPricingOptionsForSchema_Groups_0:
      type: object
      properties:
        GroupCode:
          type: string
          example: OPTION_GROUP_CODE_1
        Options:
          $ref: "#/components/schemas/SkuPricingOptionsForSchema_Groups_0_Options"
    SkuPricingOptionsForSchema_Groups:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/SkuPricingOptionsForSchema_Groups_0"
    ValidationErrorsSkuPricingOptionsDetails_SkuPricingOptions:
      type: object
      properties:
        Code:
          type: string
          example: ""
        Details:
          type: object
          nullable: true
        Errors:
          type: array
          items:
            type: string
            example:
            - Product code INVALID_PRODUCT_CODE doesn't belong to this vendor
            - Pricing Configuration Code INVALID_PRICING_CONFIGURATION_CODE is not valid for product code VALID_PRODUCT_CODE
            - Pricing Configuration Code VALID_PRICING_CONFIGURATION_CODE is duplicated for product code VALID_PRODUCT_CODE
            - Couldn't find any valid pricing options for groupCode INVALID_GROUP_CODE and pricing option code PRICING_CONFIGURATION_CODE
            - "We couldn't validate the following purchase types for product code : INVALID_PURCHASE_TYPE"
            - "We couldn't validate the following currencies: USD_INVALID"
            - "We could't validate all the requested volumes: [[1,3],[4,10]]. Please make sure that they are properly set for this pricing configuration code."
            - There are too many possible combinations available for these input items.
            - Product id 12312344 doesn't have any PricingConfigurationCodes
    AffiliateResponse_CommissionList:
      type: object
      properties:
        Object:
          $ref: "#/components/schemas/CommissionList"
    AffiliateResponse_AffiliateContact:
      type: object
      properties:
        Object:
          $ref: "#/components/schemas/AffiliateContact"
    AdditionalFieldsResponseItems_Translations:
      type: object
      properties:
        en:
          $ref: "#/components/schemas/AdditionalFieldsTranslations"
        fr:
          $ref: "#/components/schemas/AdditionalFieldsTranslations"
    AdditionalFieldsResponseItems_Display:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/AdditionalFieldsDisplay"
        "1":
          $ref: "#/components/schemas/AdditionalFieldsDisplay"
    MarkLeadsResponse_Errors:
      type: object
      properties:
        Code:
          type: string
          example: WRONG_COUNTRY
        Description:
          type: string
          example: Wrong country
    ProposalCreateRequest_Tac:
      required:
      - Content
      type: object
      properties:
        Content:
          $ref: "#/components/schemas/PropProposalTacContent"
    ProposalLineItem_BillingCycle:
      required:
      - Unit
      - Value
      type: object
      properties:
        Unit:
          type: string
          description: The unit for the billing cycle
          default: month
          enum:
          - day
          - month
        Value:
          minimum: 1
          type: integer
          description: The number of days or months. Minimum for a day unit is 7.
          default: 1
      description: The billing cycle
    FilteredUsagesResponse_Pagination:
      type: object
      properties:
        Page:
          type: integer
          description: Current page
          example: 1
        Limit:
          type: integer
          description: Max number of results per page
          example: 1
        Count:
          type: integer
          description: The total number of results
          example: 1
    inline_response_200_SkuPricingOptions:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/SkuPricingOptionsDetailsForSchema"
        "1":
          $ref: "#/components/schemas/ValidationErrorsSkuPricingOptionsDetails"
    inline_response_200_2_Affiliates:
      type: object
      properties:
        "0":
          $ref: "#/components/schemas/AffiliateResponse"
        "1":
          $ref: "#/components/schemas/AffiliateResponse"
    inline_response_200_9_PaymentMethod:
      type: object
      properties:
        FirstDigits:
          type: string
          example: "4111"
        LastDigits:
          type: string
          example: "1111"
        CardType:
          type: string
          example: visa
        ExpirationMonth:
          type: string
          example: "02"
        ExpirationYear:
          type: integer
          example: "2023"
        CardUpdated:
          type: boolean
          example: true
        Authorize3DSUrl:
          type: string
          example: http://secure.avangate.local/order/3ds.php?refno=11656222&CHANGE_CARD=1

    PlaceOrder_ExtraInformation:
      type: object
      properties:
        RetryFailedPaymentLink:
          type: string
          format: url
          description: 'One of the url query params must be "[REFNO]"'
        ProposalId:
          type: string
          maximum: 36
        PurchaseOrderDownloadLink:
          type: string
          format: url
        AssistedSale:
          type: boolean
        AssistedSaleAccountManagerEmail:
          type: string
    Item_SubscriptionCustomSettings:
      type: object
      required:
      - CycleUnit
      - CycleLength
      - CycleAmount
      - CycleAmountType
      properties:
        CycleLength:
          type: integer
          nullable: true
          minimum: 1
        CycleUnit:
          type: string
          enum:
          - DAY
          - MONTH
          nullable: true
        CycleAmount:
          type: number
          format: float
          minimum: 0
          exclusiveMinimum: true
        CycleAmountType:
          type: string
          enum:
          - NET
          - GROSS
    ContractLength:
      type: integer
      nullable: true
      minimum: 1
      description: Must be multiple of cycle length value
    ClientDealAutoRenewal:
      type: boolean
      default: false
    MerchantDealAutoRenewal:
      type: boolean
      default: false
    SetMerchantDealAutoRenewalResponse:
      type: object
      properties:
        MerchantDealAutoRenewal:
          type: boolean
    SetClientDealAutoRenewalResponse:
      type: object
      properties:
        ClientDealAutoRenewal:
          type: boolean
    CancelDealRequest:
      type: object
      properties:
        CancelTime:
          type: string
          description: Schedules cancelation
          enum:
          - TODAY_END_OF_DAY
          - END_OF_BILLING_CYCLE
        ChurnReasons:
          type: array
          items:
            type: string
            example:
            - CHURN_REASON_NOT_SATISFIED_PRODUCT
            - CHURN_REASON_ENABLED_BY_MISTAKE
            - CHURN_REASON_PREFER_MANUAL
            - CHURN_REASON_ALREADY_RENEWED
            - CHURN_REASON_DONT_NEED
            - CHURN_REASON_WANT_PAUSE
            - CHURN_REASON_COVID
            - CHURN_REASON_HIGH_PRICE
            - CHURN_REASON_NOT_SATISFIED_SUPPORT
            - CHURN_REASON_EXTRAORDINARY
            - CHURN_REASON_OTHER
          description: Churn reason codes
        ChurnReasonOther:
          type: string
    CreateEesToken:
      type: object
      required:
      - CreditCard
      - Cvv
      - ExpirationDate
      properties:
        Name:
          type: string
          description: Name of the cardholder
          example: John Doe
        CreditCard:
          type: string
          description: Credit card number
          example: "4111111111111111"
        Cvv:
          type: string
          example: "123"
        ExpirationDate:
          type: string
          example: 12/28
        Scope:
          type: string
          description: Represents the scope of the created token. It is the client's responsability to manage this
          example: subscription
          default: ordering
          enum:
          - ordering
          - storage
          - subscription
    CreateEesTokenResponse:
      type: object
      required:
      - Results
      properties:
        Results:
          type: object
          required:
          - Token
          properties:
            Token:
              type: string
              example: c2ba2590-3641-4a06-9eaf-5fba50c8eef0
    CancelDealResponse:
      type: object
      properties:
        AssistedSaleCancelTime:
          type: string
          description: Schedules cancelation
          enum:
          - TODAY_END_OF_DAY
          - END_OF_BILLING_CYCLE
        AssistedSaleRefunds:
          type: array
          items:
            type: object
            required:
            - RefundCurrency
            - RefundAmount
            - Refunded
            properties:
              RefundCurrency:
                type: string
              RefundId:
                type: integer
              RefundAmount:
                type: number
              Refunded:
                type: boolean
              RefundFailReason:
                type: string
      description: ""
    CancelDealErrorResponse:
      title: CancelDealErrorResponse
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    product_BundledProducts:
      type: object
      properties:
        ProductId:
          type: string
          description: "Unique, system-generated product ID"
        ProductCode:
          type: string
          description: Editable product code that you control
    GetEligibleCampaignsResponse:
      type: object
      properties:
        AvailableCancellationReasons:
          type: object
          additionalProperties:
            type: string
        Campaigns:
          type: array
          items:
            type: object
            properties:
              Code:
                type: string
              Name:
                type: string
              DefaultMessage:
                type: string
              CancellationReasonRequired:
                type: boolean
              OfferPause:
                type: boolean
              OfferDiscount:
                type: object
                nullable: true
                properties:
                  Message:
                    type: string
                  Discount:
                    type: number
                    format: double
                  BillingCycles:
                    type: integer
    UpdatePartnerRequest:
      type: object
      properties:
        ProductCode:
          type: string
        ProductName:
          type: string
        PricingConfigurations:
          type: object
          properties:
            Code:
              type: string
            Name:
              type: string
            Default:
              type: boolean
            PricingSchema:
              type: string
            PriceType:
              type: string
            DefaultCurrency:
              type: string
            Prices:
              type: object
              properties:
                Regular:
                  type: array
                  items:
                    type: object
                    properties:
                      Amount:
                        type: string
                      Currency:
                        type: string
                      MinQuantity:
                        type: string
                      MaxQuantity:
                        type: string
                      OptionCodes:
                        type: array
                        items:
                          type: string
                Renewal:
                  type: array
                  items:
                    type: object
                    properties:
                      Amount:
                        type: string
                      Currency:
                        type: string
                      MinQuantity:
                        type: string
                      MaxQuantity:
                        type: string

      example:
        AvailableCancellationReasons:
          REASON_CODE_3: "Prefer to manually renew my subscription"
          REASON_CODE_1: "Not satisfied with the product/service"
          REASON_CODE_5: "Don't need the product/service any more"
          REASON_CODE_9: "Price reasons"
          REASON_CODE_6: "Want to pause my subscription"
          REASON_CODE_7: "Other (specify below)"
        Campaigns:
        - Code: "HUJQ2GJIWGBO8F1YPPEX"
          Name: "AETCOE28071_2"
          DefaultMessage: "test2"
          CancellationReasonRequired: true
          OfferPause: false
          OfferDiscount:
            Message: ""
            Discount: "19.99"
            BillingCycles: "4"
    ResellerSearchResponse:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: "#/components/schemas/Reseller"
        Pagination:
          $ref: "#/components/schemas/Pagination"
  examples:
    ProductExample:
      value:
        AdditionalFields:
        - Code: HiddenID123
          Enabled: true
          Label: CustomField
          Required: false
          URLParameter: "ADDITIONAL_HiddenID123[4639321]"
        BundleProducts: []
        Enabled: true
        Fulfillment: BY_AVANGATE
        FulfillmentInformation:
          AdditionalInformationByEmail: |-
            Dear &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt;,

            Thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;

            Best,
            Company
          AdditionalInformationEmailTranslations:
          - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
            Language: ZH
          AdditionalThankYouPage: |
            &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt; thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;
          AdditionalThankYouPageTranslations:
          - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
            Language: ZH
          BackupMedia:
            Code: F9C9B37F86
            Name: Backup USB Static
            Type: USB
          CodeList:
            Code: 5C6F821DA1
            Name: General delivery
            Type: STATIC
          IsBackupMedia: true
          IsDisplayInPartnersCPanel: false
          IsDownloadInsuranceService: false
          IsDownloadLink: true
          IsElectronicCode: true
          IsInstantDeliveryThankYouPage: true
          IsStartAfterFulfillment: false
          ProductFile:
            Code: 223648A847
            File: challenge_accepted.jpg
            LastUpdate: "2014-07-21 13:35:29"
            Name: TestProductFile
            Size: "40436"
            Type: image/jpeg
            Version: "1.0"
        GeneratesSubscription: true
        GiftOption: false
        LongDescription: "\r

          \t<span style=\"color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit. Nunc porta lorem sed dui placerat lobortis. Suspendisse rutrum justo enim, et mattis ex convallis at. Nullam vehicula justo nunc, non maximus purus pharetra a. Ut ipsum velit, efficitur ac laoreet a, pellentesque et lorem. Morbi ac nibh ut lectus tempus ullamcorper tincidunt in justo. Aenean viverra euismod cursus. Donec rhoncus laoreet ligula nec euismod."
        Platforms:
        - Category: Mobile
          IdPlatform: "23"
          PlatformName: Android
        - Category: Mobile
          IdPlatform: "20"
          PlatformName: iPhone
        - Category: Desktop
          IdPlatform: "32"
          PlatformName: Windows 10
        Prices: []
        PricingConfigurations:
        - BillingCountries: []
          Code: 54DCBC3DC8
          Default: true
          DefaultCurrency: USD
          Name: 2Checkout Subscription's Price Configuration Marius
          PriceOptions:
          - Code: SUPPORT
            Required: true
          - Code: USERS
            Required: true
          - Code: BACKUP
            Required: false
          PriceType: NET
          Prices:
            Regular:
            - Amount: 99
              Currency: USD
              MaxQuantity: "99999"
              MinQuantity: "1"
              OptionCodes: []
            - Amount: 0
              Currency: EUR
              MaxQuantity: "99999"
              MinQuantity: "1"
              OptionCodes: []
            Renewal: []
          PricingSchema: DYNAMIC
        ProductCategory: Audio & Video
        ProductCode: my_subscription_1
        ProductImages:
        - Default: true
          URL: "https://store.avancart.com/images/merchant/ef0b9a69f90b1ab0228784ccc7d52136/products/box-2.jpg"
        ProductName: 2Checkout Subscription 1
        ProductType: REGULAR
        ProductVersion: "1.0"
        PurchaseMultipleUnits: true
        ShippingClass:
          Amount: "0.00"
          Currency: USD
          Name: Electronic
          Type: N/A
        ShortDescription: "\r

          \tLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit.&nbsp;"
        SubscriptionInformation:
          BillingCycle: "1"
          BillingCycleUnits: M
          BundleRenewalManagement: GLOBAL
          ContractPeriod:
            Action: RESTART
            EmailsDuringContract: true
            IsUnlimited: true
            Period: -1
          DeprecatedProducts: []
          GracePeriod:
            IsUnlimited: false
            Period: "7"
            PeriodUnits: D
            Type: CUSTOM
          IsOneTimeFee: false
          RenewalEmails:
            Settings:
              AutomaticRenewal:
                After15Days: false
                After5Days: false
                Before15Days: false
                Before1Day: false
                Before30Days: false
                Before7Days: true
                OnExpirationDate: true
              ManualRenewal:
                After15Days: false
                After5Days: false
                Before15Days: false
                Before1Day: false
                Before30Days: false
                Before7Days: true
                OnExpirationDate: true
            Type: CUSTOM
          UsageBilling: 0
        SystemRequirements: ""
        Translations:
        - Description: "?????"
          Language: ZH
          LongDescription: "?????"
          Name: "????????"
        TrialDescription: ""
        TrialUrl: ""
    UpdateProductRequestExample:
      value:
        AdditionalFields:
        - Code: HiddenID123
          Enabled: true
          Label: CustomField
          Required: false
          URLParameter: "ADDITIONAL_HiddenID123[4639321]"
        BundleProducts: []
        Enabled: true
        Fulfillment: BY_AVANGATE
        FulfillmentInformation:
          AdditionalInformationByEmail: |-
            Dear &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt;,

            Thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;

            Best,
            Company
          AdditionalInformationEmailTranslations:
          - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
            Language: ZH
          AdditionalThankYouPage: |
            &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt; thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;
          AdditionalThankYouPageTranslations:
          - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
            Language: ZH
          BackupMedia:
            Code: F9C9B37F86
            Name: Backup USB Static
            Type: USB
          CodeList:
            Code: 5C6F821DA1
            Name: General delivery
            Type: STATIC
          IsBackupMedia: true
          IsDisplayInPartnersCPanel: false
          IsDownloadInsuranceService: false
          IsDownloadLink: true
          IsElectronicCode: true
          IsInstantDeliveryThankYouPage: true
          IsStartAfterFulfillment: false
          ProductFile:
            Code: 223648A847
            File: challenge_accepted.jpg
            LastUpdate: "2014-07-21 13:35:29"
            Name: TestProductFile
            Size: "40436"
            Type: image/jpeg
            Version: "1.0"
        GeneratesSubscription: true
        GiftOption: false
        GroupName: General
        LongDescription: "\r

          \t<span style=\"color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit. Nunc porta lorem sed dui placerat lobortis. Suspendisse rutrum justo enim, et mattis ex convallis at. Nullam vehicula justo nunc, non maximus purus pharetra a. Ut ipsum velit, efficitur ac laoreet a, pellentesque et lorem. Morbi ac nibh ut lectus tempus ullamcorper tincidunt in justo. Aenean viverra euismod cursus. Donec rhoncus laoreet ligula nec euismod."
        Platforms:
        - Category: Mobile
          IdPlatform: "23"
          PlatformName: Android
        - Category: Mobile
          IdPlatform: "20"
          PlatformName: iPhone
        - Category: Desktop
          IdPlatform: "32"
          PlatformName: Windows 10
        Prices: []
        PricingConfigurations:
        - BillingCountries: []
          Code: 54DCBC3DC8
          Default: true
          DefaultCurrency: USD
          Name: 2Checkout Subscription's Price Configuration Marius
          PriceOptions:
          - Code: SUPPORT
            Required: true
          - Code: USERS
            Required: true
          - Code: BACKUP
            Required: false
          PriceType: NET
          Prices:
            Regular:
            - Amount: 99
              Currency: USD
              MaxQuantity: "99999"
              MinQuantity: "1"
              OptionCodes: []
            - Amount: 0
              Currency: EUR
              MaxQuantity: "99999"
              MinQuantity: "1"
              OptionCodes: []
            Renewal: []
          PricingSchema: DYNAMIC
        ProductCategory: Audio & Video
        ProductCode: my_subscription_1
        ProductImages:
        - Default: true
          URL: "https://store.avancart.com/images/merchant/ef0b9a69f90b1ab0228784ccc7d52136/products/box-2.jpg"
        ProductName: 2Checkout Subscription 1
        ProductType: REGULAR
        ProductVersion: "1.0"
        PurchaseMultipleUnits: true
        ShippingClass:
          Amount: "0.00"
          Currency: USD
          Name: Electronic
          Type: N/A
        ShortDescription: "\r

          \tLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit.&nbsp;"
        SubscriptionInformation:
          BillingCycle: "1"
          BillingCycleUnits: M
          BundleRenewalManagement: GLOBAL
          ContractPeriod:
            Action: RESTART
            EmailsDuringContract: true
            IsUnlimited: true
            Period: -1
          DeprecatedProducts: []
          GracePeriod:
            IsUnlimited: false
            Period: "7"
            PeriodUnits: D
            Type: CUSTOM
          IsOneTimeFee: false
          RenewalEmails:
            Settings:
              AutomaticRenewal:
                After15Days: false
                After5Days: false
                Before15Days: false
                Before1Day: false
                Before30Days: false
                Before7Days: true
                OnExpirationDate: true
              ManualRenewal:
                After15Days: false
                After5Days: false
                Before15Days: false
                Before1Day: false
                Before30Days: false
                Before7Days: true
                OnExpirationDate: true
            Type: CUSTOM
          UsageBilling: 0
        SystemRequirements: ""
        Translations:
        - Description: "?????"
          Language: ZH
          LongDescription: "?????"
          Name: "????????"
        TrialDescription: ""
        TrialUrl: ""
    SearchProductsResponseExample:
      value:
        Items:
        - AdditionalFields:
          - Code: HiddenID123
            Enabled: true
            Label: CustomField
            Required: false
            URLParameter: "ADDITIONAL_HiddenID123[4639321]"
          AvangateId: "4639321"
          BundleProducts: []
          Enabled: true
          ReviewStatus: "Passed"
          Fulfillment: BY_AVANGATE
          FulfillmentInformation:
            AdditionalInformationByEmail: |-
              Dear &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt;,

              Thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;

              Best,
              Company
            AdditionalInformationEmailTranslations:
            - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
              Language: ZH
            AdditionalThankYouPage: |
              &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt; thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;
            AdditionalThankYouPageTranslations:
            - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
              Language: ZH
            BackupMedia:
              Code: F9C9B37F86
              Name: Backup USB Static
              Type: USB
            CodeList:
              Code: 5C6F821DA1
              Name: General delivery
              Type: STATIC
            IsBackupMedia: true
            IsDisplayInPartnersCPanel: false
            IsDownloadInsuranceService: false
            IsDownloadLink: true
            IsElectronicCode: true
            IsInstantDeliveryThankYouPage: true
            IsStartAfterFulfillment: false
            ProductFile:
              Code: 223648A847
              File: challenge_accepted.jpg
              LastUpdate: "2014-07-21 13:35:29"
              Name: TestProductFile
              Size: "40436"
              Type: image/jpeg
              Version: "1.0"
          GeneratesSubscription: true
          GiftOption: false
          GroupName: General
          LongDescription: "\r

            \t<span style=\"color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit. Nunc porta lorem sed dui placerat lobortis. Suspendisse rutrum justo enim, et mattis ex convallis at. Nullam vehicula justo nunc, non maximus purus pharetra a. Ut ipsum velit, efficitur ac laoreet a, pellentesque et lorem. Morbi ac nibh ut lectus tempus ullamcorper tincidunt in justo. Aenean viverra euismod cursus. Donec rhoncus laoreet ligula nec euismod."
          Platforms:
          - Category: Mobile
            IdPlatform: "23"
            PlatformName: Android
          - Category: Mobile
            IdPlatform: "20"
            PlatformName: iPhone
          - Category: Desktop
            IdPlatform: "32"
            PlatformName: Windows 10
          Prices: []
          PricingConfigurations:
          - BillingCountries: []
            Code: 54DCBC3DC8
            Default: true
            DefaultCurrency: USD
            Name: 2Checkout Subscription's Price Configuration Marius
            PriceOptions:
            - Code: SUPPORT
              Required: true
            - Code: USERS
              Required: true
            - Code: BACKUP
              Required: false
            PriceType: NET
            Prices:
              Regular:
              - Amount: 99
                Currency: USD
                MaxQuantity: "99999"
                MinQuantity: "1"
                OptionCodes: []
              - Amount: 0
                Currency: EUR
                MaxQuantity: "99999"
                MinQuantity: "1"
                OptionCodes: []
              Renewal: []
            PricingSchema: DYNAMIC
          ProductCategory: Audio & Video
          ProductCode: my_subscription_1
          ProductImages:
          - Default: true
            URL: "https://store.avancart.com/images/merchant/ef0b9a69f90b1ab0228784ccc7d52136/products/box-2.jpg"
          ProductName: 2Checkout Subscription
          ProductType: REGULAR
          ProductVersion: "1.0"
          PurchaseMultipleUnits: true
          ShippingClass:
            Amount: "0.00"
            Currency: USD
            Name: Electronic
            Type: N/A
          ShortDescription: "\r

            \tLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit.&nbsp;"
          SubscriptionInformation:
            BillingCycle: "1"
            BillingCycleUnits: M
            BundleRenewalManagement: GLOBAL
            ContractPeriod:
              Action: RESTART
              EmailsDuringContract: true
              IsUnlimited: true
              Period: -1
            DeprecatedProducts: []
            GracePeriod:
              IsUnlimited: false
              Period: "7"
              PeriodUnits: D
              Type: CUSTOM
            IsOneTimeFee: false
            RenewalEmails:
              Settings:
                AutomaticRenewal:
                  After15Days: false
                  After5Days: false
                  Before15Days: false
                  Before1Day: false
                  Before30Days: false
                  Before7Days: true
                  OnExpirationDate: true
                ManualRenewal:
                  After15Days: false
                  After5Days: false
                  Before15Days: false
                  Before1Day: false
                  Before30Days: false
                  Before7Days: true
                  OnExpirationDate: true
              Type: CUSTOM
            UsageBilling: 0
          SystemRequirements: ""
          Translations:
          - Description: "?????"
            Language: ZH
            LongDescription: "?????"
            Name: "????????"
          TrialDescription: ""
          TrialUrl: ""
        Pagination:
          Page: 1
          Limit: 10
          Count: 2
    ProductResponse:
      value:
        AdditionalFields:
        - Code: HiddenID123
          Enabled: true
          Label: CustomField
          Required: false
          URLParameter: "ADDITIONAL_HiddenID123[4639321]"
        AvangateId: "4639321"
        BundleProducts: []
        Enabled: true
        ReviewStatus: "Passed"
        Fulfillment: BY_AVANGATE
        FulfillmentInformation:
          AdditionalInformationByEmail: |-
            Dear &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt;,

            Thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;

            Best,
            Company
          AdditionalInformationEmailTranslations:
          - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
            Language: ZH
          AdditionalThankYouPage: |
            &lt;--{FIRST_NAME}--&gt;&lt;--{LAST_NAME}--&gt; thank you for your purchase &lt;--{REFNO}--&gt;!&lt;--{PRODUCTNAME}--&gt;. Check for more details at: &lt;--{EMAIL}--&gt;
          AdditionalThankYouPageTranslations:
          - Description: "<--{FIRST_NAME}--><--{LAST_NAME}--> ??????!"
            Language: ZH
          BackupMedia:
            Code: F9C9B37F86
            Name: Backup USB Static
            Type: USB
          CodeList:
            Code: 5C6F821DA1
            Name: General delivery
            Type: STATIC
          IsBackupMedia: true
          IsDisplayInPartnersCPanel: false
          IsDownloadInsuranceService: false
          IsDownloadLink: true
          IsElectronicCode: true
          IsInstantDeliveryThankYouPage: true
          IsStartAfterFulfillment: false
          ProductFile:
            Code: 223648A847
            File: challenge_accepted.jpg
            LastUpdate: "2014-07-21 13:35:29"
            Name: TestProductFile
            Size: "40436"
            Type: image/jpeg
            Version: "1.0"
        GeneratesSubscription: true
        GiftOption: false
        GroupName: General
        LongDescription: "\r

          \t<span style=\"color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans; font-size: 11px; line-height: 14px; text-align: justify;\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit. Nunc porta lorem sed dui placerat lobortis. Suspendisse rutrum justo enim, et mattis ex convallis at. Nullam vehicula justo nunc, non maximus purus pharetra a. Ut ipsum velit, efficitur ac laoreet a, pellentesque et lorem. Morbi ac nibh ut lectus tempus ullamcorper tincidunt in justo. Aenean viverra euismod cursus. Donec rhoncus laoreet ligula nec euismod."
        Platforms:
        - Category: Mobile
          IdPlatform: "23"
          PlatformName: Android
        - Category: Mobile
          IdPlatform: "20"
          PlatformName: iPhone
        - Category: Desktop
          IdPlatform: "32"
          PlatformName: Windows 10
        Prices: []
        PricingConfigurations:
        - Code: 54DCBC3DC8
          Default: true
          DefaultCurrency: USD
          Name: 2Checkout Subscription's Price Configuration Marius
          PriceOptions:
          - Code: SUPPORT
            Required: true
          - Code: USERS
            Required: true
          - Code: BACKUP
            Required: false
          PriceType: NET
          Prices:
            Regular:
            - Amount: 99
              Currency: USD
              MaxQuantity: "99999"
              MinQuantity: "1"
              OptionCodes: []
            - Amount: 0
              Currency: EUR
              MaxQuantity: "99999"
              MinQuantity: "1"
              OptionCodes: []
            Renewal: []
          PricingSchema: DYNAMIC
        ProductCategory: Audio & Video
        ProductCode: my_subscription_1
        ProductImages:
        - Default: true
          URL: "https://store.avancart.com/images/merchant/ef0b9a69f90b1ab0228784ccc7d52136/products/box-2.jpg"
        ProductName: 2Checkout Subscription
        ProductType: REGULAR
        ProductVersion: "1.0"
        PurchaseMultipleUnits: true
        ShippingClass:
          Amount: "0.00"
          Currency: USD
          Name: Electronic
          Type: N/A
        ShortDescription: "\r

          \tLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec maximus orci a nulla dignissim, ut egestas nunc blandit.&nbsp;"
        SubscriptionInformation:
          BillingCycle: "1"
          BillingCycleUnits: M
          BundleRenewalManagement: GLOBAL
          ContractPeriod:
            Action: RESTART
            EmailsDuringContract: true
            IsUnlimited: true
            Period: -1
          DeprecatedProducts: []
          GracePeriod:
            IsUnlimited: false
            Period: "7"
            PeriodUnits: D
            Type: CUSTOM
          IsOneTimeFee: false
          RenewalEmails:
            Settings:
              AutomaticRenewal:
                After15Days: false
                After5Days: false
                Before15Days: false
                Before1Day: false
                Before30Days: false
                Before7Days: true
                OnExpirationDate: true
              ManualRenewal:
                After15Days: false
                After5Days: false
                Before15Days: false
                Before1Day: false
                Before30Days: false
                Before7Days: true
                OnExpirationDate: true
            Type: CUSTOM
          UsageBilling: 0
        SystemRequirements: ""
        Translations:
        - Description: "?????"
          Language: ZH
          LongDescription: "?????"
          Name: "????????"
        TrialDescription: ""
        TrialUrl: ""
    CreateProductRequest_Basic:
      value:
        ProductCode: PRODUCT_CODE
        ProductName: PRODUCT_NAME
        Enabled: true
        ReviewProductUrl: https://ProductURLToBeReviewed.com
        ReviewAdditionalDetails: Additional info if required to access the review URL
        ProductImages:
        - Default: true
          URL: "https://store.avancart.com/images/merchant/ef0b9a69f90b1ab0228784ccc7d52136/products/box-2.jpg"
        PricingConfigurations:
        - Code: CE9CBA3B37
          Name: genericPC
          PricingSchema: FLAT
          PriceType: NET
          DefaultCurrency: EUR
          Prices:
            Regular:
            - Amount: 100
              Currency: USD
              MinQuantity: 1
              MaxQuantity: 10
    CreateProductRequest_BasicWithRenewalPrices:
      value:
        ProductCode: PRODUCT_CODE
        ProductName: PRODUCT_NAME
        PricingConfigurations:
          Code: CE9CBA3B37
          Name: PRICING_CONF_NAME
          Default: true
          PricingSchema: DYNAMIC
          PriceType: NET
          DefaultCurrency: EUR
          Prices:
            Regular:
            - Amount: 3
              Currency: EUR
              MinQuantity: 3
              MaxQuantity: 11
              OptionCodes: []
            - Amount: 3
              Currency: EUR
              MinQuantity: 12
              MaxQuantity: 21
            Renewal:
            - Amount: 7
              Currency: EUR
              MinQuantity: 3
              MaxQuantity: 11
            - Amount: 5
              Currency: EUR
              MinQuantity: 12
              MaxQuantity: 21
    responses: {}
x-tagGroups:
- name: Getting Started
  tags:
  - Authentication
- name: Cart Setup
  tags:
  - Cart settings
  - Tax categories
  - Additional fields
  - Single Sign On
- name: Retention Tools
  tags:
  - Leads
  - Churn prevention campaigns
- name: Products
  tags:
  - Product
  - Product SKU
  - Product group
  - Price options group
  - Pricing configuration
  - Shipping fees
- name: Marketing Tools
  tags:
  - Promotions
  - Upsell
  - Cross Sell
- name: Customers
  tags:
  - Customers
- name: Subscription Management
  tags:
  - Subscription
  - Subscriptions additional information
  - Subscription history
  - Subscription usage billing
- name: Order Management
  tags:
  - Order
  - Place order
  - Payment methods
  - Refunds
  - Invoices
- name: Channel Manager
  tags:
  - Channel Manager settings
  - Partners
  - Partner subscriptions
  - Resellers
- name: Affiliates
  tags:
  - Affiliates
- name: Vendor Settings
  tags:
  - Accounting
