> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revolv3.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Checkout Link

> Generates a **secure, one-time checkout link** that can be shared with a customer to initiate a payment.
This URL can be seamlessly integrated into your payment flow — embedded into your payment page, or used to redirect customers to a hosted payment page managed by the platform.

The link is automatically deactivated once the customer opens the checkout page, ensuring it can’t be reused.
It’s especially useful for scenarios where merchants avoid handling sensitive data directly (e.g., to maintain PCI compliance).



## OpenAPI

````yaml /api-reference/swagger.json post /api/Checkout
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.1
servers:
  - url: 'https://api-sandbox.revolv3.com '
security: []
paths:
  /api/Checkout:
    post:
      tags:
        - Checkout
      summary: Create Checkout Link
      description: "Generates a **secure, one-time checkout link** that can be shared with a customer to initiate a payment.\r\nThis URL can be seamlessly integrated into your payment flow — embedded into your payment page, or used to redirect customers to a hosted payment page managed by the platform.\r\n\r\nThe link is automatically deactivated once the customer opens the checkout page, ensuring it can’t be reused.\r\nIt’s especially useful for scenarios where merchants avoid handling sensitive data directly (e.g., to maintain PCI compliance)."
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateCheckoutLinkRequestDto'
            example:
              returnUrl: https%3A%2F%2Fsite.com
              oneTimePayment:
                checkoutLineItems:
                  - name: Item 1
                    description: Item Description
                    value: 9.99
                    valueType: Standard
                  - name: Item 2
                    description: Item Description
                    value: 21.99
                    valueType: Standard
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCheckoutLinkRequestDto'
            example:
              returnUrl: https%3A%2F%2Fsite.com
              oneTimePayment:
                checkoutLineItems:
                  - name: Item 1
                    description: Item Description
                    value: 9.99
                    valueType: Standard
                  - name: Item 2
                    description: Item Description
                    value: 21.99
                    valueType: Standard
          text/json:
            schema:
              $ref: '#/components/schemas/CreateCheckoutLinkRequestDto'
            example:
              returnUrl: https%3A%2F%2Fsite.com
              oneTimePayment:
                checkoutLineItems:
                  - name: Item 1
                    description: Item Description
                    value: 9.99
                    valueType: Standard
                  - name: Item 2
                    description: Item Description
                    value: 21.99
                    valueType: Standard
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateCheckoutLinkRequestDto'
            example:
              returnUrl: https%3A%2F%2Fsite.com
              oneTimePayment:
                checkoutLineItems:
                  - name: Item 1
                    description: Item Description
                    value: 9.99
                    valueType: Standard
                  - name: Item 2
                    description: Item Description
                    value: 21.99
                    valueType: Standard
      responses:
        '200':
          description: The checkout link was successfully created
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CreateCheckoutLinkResponseDto'
              example:
                checkoutId: 12345678-ABCD-1234-EFGH-987654321000
                checkoutLink: >-
                  http://localhost:4200/checkout/12345678-ABCD-1234-EFGH-987654321000
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCheckoutLinkResponseDto'
              example:
                checkoutId: 12345678-ABCD-1234-EFGH-987654321000
                checkoutLink: >-
                  http://localhost:4200/checkout/12345678-ABCD-1234-EFGH-987654321000
            text/json:
              schema:
                $ref: '#/components/schemas/CreateCheckoutLinkResponseDto'
              example:
                checkoutId: 12345678-ABCD-1234-EFGH-987654321000
                checkoutLink: >-
                  http://localhost:4200/checkout/12345678-ABCD-1234-EFGH-987654321000
        '400':
          description: >-
            One or more fields in the request were not submitted or didn't pass
            validation. Please review the request body and parameters against
            the required schema.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
      security:
        - Bearer: []
components:
  schemas:
    CreateCheckoutLinkRequestDto:
      required:
        - oneTimePayment
      type: object
      properties:
        returnUrl:
          maxLength: 200
          minLength: 0
          type: string
          nullable: true
        oneTimePayment:
          $ref: '#/components/schemas/CheckoutOneTimePaymentDto'
      additionalProperties: false
    CreateCheckoutLinkResponseDto:
      type: object
      properties:
        checkoutId:
          maxLength: 36
          minLength: 0
          type: string
          nullable: true
        checkoutLink:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
      additionalProperties: false
    StatusMessageResponse:
      type: object
      properties:
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            type: string
          nullable: true
        fluentValidatorErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationFailure'
          nullable: true
      additionalProperties: false
    CheckoutOneTimePaymentDto:
      required:
        - checkoutLineItems
      type: object
      properties:
        checkoutLineItems:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutLineItemRequestDto'
      additionalProperties: false
    ValidationFailure:
      type: object
      properties:
        propertyName:
          type: string
          nullable: true
        errorMessage:
          type: string
          nullable: true
        attemptedValue:
          nullable: true
        customState:
          nullable: true
        severity:
          $ref: '#/components/schemas/Severity'
        errorCode:
          type: string
          nullable: true
        formattedMessagePlaceholderValues:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    CheckoutLineItemRequestDto:
      required:
        - name
        - value
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 0
          type: string
        description:
          maxLength: 200
          minLength: 0
          type: string
          nullable: true
        value:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        valueType:
          maxLength: 50
          minLength: 0
          type: string
          default: Standard
          nullable: true
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````