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"]
}