> ## 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.

# Retrieve a payment

> Retrieve a payment



## OpenAPI

````yaml GET /v1/payments/{id}
openapi: 3.0.0
info:
  title: Paycashless API
  version: 1.1.0
servers:
  - url: https://api.paycashless.com
    description: Production
security: []
paths:
  /v1/payments/{id}:
    get:
      tags:
        - payments
      description: Retrieve a payment
      parameters:
        - schema:
            type: string
            example: pi_ff0c3z37zi40pvc82g74bgsm4q7fubbw
          required: true
          name: id
          in: path
        - 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
      responses:
        '200':
          description: Payment retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  reference:
                    type: string
                  currency:
                    type: string
                    enum:
                      - NGN
                      - USD
                  status:
                    type: string
                    enum:
                      - initiated
                      - awaiting_charge
                      - charged
                      - failed
                      - expired
                      - reversed
                      - succeeded
                  accessToken:
                    type: string
                  acceptedAmountPolicy:
                    type: string
                    enum:
                      - ACCEPTED_AMOUNT_POLICY_FIXED
                      - ACCEPTED_AMOUNT_POLICY_ALLOW_PARTIAL
                      - ACCEPTED_AMOUNT_POLICY_ALLOW_EXCESS
                      - ACCEPTED_AMOUNT_POLICY_ALLOW_ANY
                  paymentMethod:
                    type: string
                    nullable: true
                    enum:
                      - pay_with_transfer
                      - card
                      - dedicated_virtual_account
                      - invoice_payment_account
                      - bank_transfer
                      - null
                  paymentChannel:
                    type: string
                    enum:
                      - checkout
                      - terminal
                      - api
                      - bank_account
                  customerId:
                    type: string
                  expectedAmount:
                    type: integer
                  chargedAmount:
                    type: integer
                  fee:
                    type: number
                  vat:
                    type: number
                  emtl:
                    type: number
                  callbackUrl:
                    type: string
                    nullable: true
                  returnUrl:
                    type: string
                    nullable: true
                  receiptEmail:
                    type: string
                    nullable: true
                    format: email
                  metadata:
                    type: object
                    nullable: true
                    additionalProperties:
                      anyOf:
                        - type: string
                        - type: number
                  liveMode:
                    type: boolean
                    nullable: true
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                required:
                  - id
                  - reference
                  - currency
                  - status
                  - accessToken
                  - acceptedAmountPolicy
                  - paymentMethod
                  - paymentChannel
                  - customerId
                  - expectedAmount
                  - chargedAmount
                  - fee
                  - vat
                  - emtl
                  - callbackUrl
                  - returnUrl
                  - receiptEmail
                  - metadata
                  - liveMode
                  - createdAt
                  - updatedAt

````