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

# Create a checkout link

> Create a checkout link



## OpenAPI

````yaml POST /v1/payments/checkout
openapi: 3.0.0
info:
  title: Paycashless API
  version: 1.1.0
servers:
  - url: https://api.paycashless.com
    description: Production
security: []
paths:
  /v1/payments/checkout:
    post:
      tags:
        - payments
      description: Create a checkout link
      parameters:
        - schema:
            type: string
            minLength: 1
            description: SHA-512 HMAC signature of the request payload using the API secret
            example: >-
              5e73d044c44d733fcf819ad3409aaaddca840d421b69cb0b04e2c750fc62ece7526d36296237663ad1f06f62a730c0466516507196b3ce6567493cc52a7cf63d
          required: true
          description: SHA-512 HMAC signature of the request payload using the API secret
          name: Request-Signature
          in: header
        - schema:
            type: string
            pattern: ^\d{10}$
            description: UNIX timestamp when the request was created (in seconds)
            example: '1712336881'
          required: true
          description: UNIX timestamp when the request was created (in seconds)
          name: Request-Timestamp
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reference:
                  type: string
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                      minimum: 50000
                    currency:
                      type: string
                      enum:
                        - NGN
                  required:
                    - value
                    - currency
                customer:
                  type: object
                  properties:
                    email:
                      type: string
                      format: email
                    name:
                      type: string
                  required:
                    - email
                    - name
                returnUrl:
                  type: string
                  format: uri
                callbackUrl:
                  type: string
                  format: uri
                metadata:
                  type: object
                  additionalProperties:
                    anyOf:
                      - type: string
                      - type: number
              required:
                - reference
                - amount
                - customer
                - returnUrl
      responses:
        '200':
          description: Initiate a checkout payment
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  reference:
                    type: string
                  amount:
                    type: object
                    properties:
                      value:
                        type: integer
                      currency:
                        type: string
                    required:
                      - value
                      - currency
                  authorizationUrl:
                    type: string
                  returnUrl:
                    type: string
                  callbackUrl:
                    type: string
                  metadata:
                    type: object
                    additionalProperties:
                      anyOf:
                        - type: string
                        - type: number
                  expiresAt:
                    type: string
                    format: date-time
                required:
                  - id
                  - reference
                  - amount
                  - authorizationUrl
                  - returnUrl
                  - expiresAt

````