---
title: "Verify Payment"
method: GET
path: "/transaction/verify/{reference}"
tags: ["Transactions"]
---

# Verify Payment

`GET /transaction/verify/{reference}`

Verify the status of a payment transaction by reference

## Path parameters

- `reference` string, required

## Headers

- `api-key` string, required
- `api-secret` string, required

## Response `200`

Transaction verification successful

- VerifyTransactionResponse
  - `status` string — Request status indicator - 'success' or 'error'
  - `message` string — Human-readable message describing the result
  - `data` object
    - `id` integer — Internal transaction ID
    - `reference` string — Unique transaction reference
    - `amount` integer — Transaction amount in smallest currency unit
    - `currency` string — Transaction currency code
    - `status` 'success' | 'failed' | 'pending' | 'abandoned' | 'cancelled' — Transaction status
    - `gateway_response` string — Response message from the payment gateway
    - `paid_at` string, date-time, nullable — ISO 8601 timestamp when payment was completed (null if not paid)
    - `created_at` string, date-time — ISO 8601 timestamp when transaction was created
    - `channel` 'card' | 'bank' | 'ussd' | 'qr' | 'mobile_money' | 'bank_transfer' — Payment method used
    - `fees` integer — Transaction fees charged in smallest currency unit
    - `customer` object
      - `id` integer — Customer ID in PayVessel system
      - `email` string — Customer's email address
      - `first_name` string — Customer's first name
      - `last_name` string — Customer's last name
      - `phone` string — Customer's phone number
    - `authorization` object, nullable
      - `authorization_code` string — Authorization code for future charges
      - `bin` string — First 6 digits of the card number
      - `last4` string — Last 4 digits of the card number
      - `exp_month` string — Card expiry month
      - `exp_year` string — Card expiry year
      - `channel` string — Authorization channel used
      - `card_type` string — Type of card - 'visa', 'mastercard', 'american express', etc.
      - `bank` string — Issuing bank name
      - `country_code` string — Country code of the issuing bank
      - `brand` string — Card brand
      - `reusable` boolean — Whether the authorization can be reused for future payments
    - `metadata` object — Custom metadata attached to the transaction
    - `log` object — Transaction processing log and history

## Other responses

- `401` — Unauthorized
- `404` — Transaction not found

---

[API](https://skmtc.net/payvessel/apis/payvessel-value-added-services-api.md) · [All operations](https://skmtc.net/payvessel/apis/payvessel-value-added-services-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/payvessel/payvessel-value-added-services-api/revisions/31040a9358ef/schema)
