Paystack · JSON Structure

Paystack Transaction Structure

JSON Structure representation of a Paystack transaction — the canonical record of a payment processed through Paystack.

Type: object Properties: 14 Required: 5
PaymentsAfricaFintechRecurring BillingMarketplacesPayoutsMobile MoneyStripe

PaystackTransaction is a JSON Structure definition published by Paystack, describing 14 properties, of which 5 are required. It conforms to the https://json-structure.org/meta/extended/v0/# meta-schema.

Properties

id reference amount currency status gateway_response channel ip_address metadata fees paid_at created_at customer authorization

Meta-schema: https://json-structure.org/meta/extended/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/extended/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/paystack/main/json-structure/paystack-transaction-structure.json",
  "name": "PaystackTransaction",
  "type": "object",
  "description": "JSON Structure representation of a Paystack transaction — the canonical record of a payment processed through Paystack.",
  "properties": {
    "id": { "type": "int64", "description": "Unique transaction id." },
    "reference": { "type": "string", "description": "Merchant or Paystack-generated unique reference." },
    "amount": { "type": "int64", "description": "Amount in lowest currency denomination (kobo for NGN, pesewas for GHS)." },
    "currency": { "type": "string", "description": "ISO 4217 currency code." },
    "status": { "type": "string", "description": "Lifecycle status: success, failed, abandoned, reversed, pending." },
    "gateway_response": { "type": "string", "description": "Bank/gateway response message." },
    "channel": { "type": "string", "description": "Payment channel: card, bank, ussd, qr, mobile_money, bank_transfer, eft." },
    "ip_address": { "type": "string" },
    "metadata": { "type": "any" },
    "fees": { "type": "int64" },
    "paid_at": { "type": "string", "format": "date-time" },
    "created_at": { "type": "string", "format": "date-time" },
    "customer": {
      "type": "object",
      "properties": {
        "id": { "type": "int64" },
        "customer_code": { "type": "string" },
        "email": { "type": "string" }
      }
    },
    "authorization": {
      "type": "object",
      "properties": {
        "authorization_code": { "type": "string", "description": "Reusable token for charging the same payment method again." },
        "bin": { "type": "string" },
        "last4": { "type": "string" },
        "exp_month": { "type": "string" },
        "exp_year": { "type": "string" },
        "channel": { "type": "string" },
        "card_type": { "type": "string" },
        "bank": { "type": "string" },
        "country_code": { "type": "string" },
        "brand": { "type": "string" },
        "reusable": { "type": "boolean" }
      }
    }
  },
  "required": ["id", "reference", "amount", "currency", "status"]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/paystack-transaction-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.