SwitchApp API
  • Introduction
  • Quick Start
  • Authentication
  • Errors
  • Metadata
  • Pagination
  • Versioning
  • No-code solutions
  • Webhooks
  • Payments
    • Transactions
      • Initialize a transaction
      • Verify transaction
      • List transactions
      • Retrieve Transaction
      • Transaction Webhooks
  • Payment Providers
    • Payment Providers
  • Countries & Currencies
    • Countries
    • Currencies
  • Products
    • Products
      • Create a product
      • Retrieve a product
      • Update a product
      • List all products
      • Delete a product
  • Customers
    • Customers
      • Create Customer
      • List Customers
      • Fetch Customer
      • Update Customer
      • Delete/Archive Customer
  • Payment Links
    • Payment Links
      • Create a payment link
      • Fetch payment link
      • Update a payment link
      • List all payment links
      • Delete a payment link
  • Payouts
    • Payouts
      • List Payouts
      • Fetch Payout
      • Retry Payout
  • BALANCES
    • Balances
      • Fetch all balances
      • Fetch a balance
      • Fetch currency balance
  • DISBURSEMENTS
    • Disbursements (Transfers)
      • Batch Disbursements
        • Initiate A Disbursement
        • List Batch Transfers
        • Fetch A Batch
        • Requeue All Failed Transfers
      • Single Disbursements
        • Fetch List By Batch Reference
        • Fetch All Singles By Page
        • Fetch A Single Disbursement
        • Fetch fee
        • Fetch rate
    • Beneficiaries
      • Create a beneficiary
      • List all beneficiaries
      • Fetch a beneficiary
      • Delete a beneficiary
    • Banks
      • Bank list
      • Bank slugs
      • Resolve account details
  • VIRTUAL ACCOUNTS
    • Virtual Accounts
      • Top-up virtual accounts
        • Fetch providers
        • Create top-up account
        • List accounts
        • Fetch account
        • Requery account
        • Deallocate account
      • Payment virtual accounts
        • Fetch providers
        • Create payment account
        • Update account details
        • List accounts
        • Fetch account
        • Requery account
        • Deallocate account
Powered by GitBook
On this page
  1. Payments
  2. Transactions

Verify transaction

Verification guarantees you have received payment

PreviousInitialize a transactionNextList transactions

Last updated 2 years ago

After initializing a transaction, you transfer control to your customer to complete payment. Hence, online payments require you to always run a verification check even if you are informed that payment has been completed.

Transaction verification provides a way for you to confirm the status of a transaction. A transaction may be in a processing state if payment processor networks are having a slow day. However, once a transaction is completed, a verification request will let you know if it was successful or failed.

NOTE: If a verified transaction is successful, you can give value to your customer as SwitchApp guarantees that payment has been received.

curl https://api.switchappgo.com/v1/transactions/verify/{reference} \
    -H "authorization: 'bearer sk_test_nTgS42KNdKr6Ts798DT'"
    -X GET
const switchapp = require('switchapp')('sk_test_nTgS42KNdKr6Ts798DT');

const newTx = await switchapp.transactions.verify({
    tx_ref: 'YOUR_REFERENCE'
})

Retrieves a transaction with the specified reference.

get
Authorizations
Path parameters
tx_refstringRequired

The reference of the transaction to retrieve

Responses
200
Returns 200 and the requested transaction
application/json
400
Returns 400 if the query is invalid
401
Returns 401 when authorization details is invalid
404
Returns 404 if a transaction with the specified id is not found
get
GET /v1/transactions/verify/{tx_ref} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
{
  "status": "success",
  "message": "text",
  "data": {
    "id": "text",
    "is_live": true,
    "gateway_code": "text",
    "tx_ref": "text",
    "dedicated_virtual_account_reference": "text",
    "currency": "text",
    "amount": 1,
    "charged_amount": 1,
    "amount_settled": 1,
    "app_fee": 1,
    "merchant_fee": 1,
    "bearer": "customer",
    "status": "successful",
    "metadata": "text",
    "redirect_url": "text",
    "payment_type": "text",
    "is_direct_card_charge": true,
    "is_virtual_account_checkout": true,
    "is_dedicated_virtual_account_checkout": true,
    "device_fingerprint": "text",
    "ip": "text",
    "narration": "text",
    "processor_response": "text",
    "auth_model": "text",
    "card_pan": "text",
    "card_issuer": "text",
    "card_country": "text",
    "card_type": "text",
    "card_expiry": "text",
    "bank_trsf_country": "text",
    "bank_trsf_bank_code": "text",
    "bank_trsf_bank_name": "text",
    "bank_trsf_account_number": "text",
    "bank_trsf_account_name": "text",
    "bank_trsf_swift": "text",
    "bank_trsf_iban": "text",
    "bank_trsf_session_id": "text",
    "title": "text",
    "logo_url": "text",
    "description": "text",
    "customer": {
      "id": "text",
      "full_name": "text",
      "email": "text",
      "phone_number": "text",
      "address": "text",
      "status": "active",
      "created_at": "2025-05-20T15:29:20.416Z",
      "edited_at": "2025-05-20T15:29:20.416Z"
    },
    "paid_at": "2025-05-20T15:29:20.416Z",
    "created_at": "2025-05-20T15:29:20.416Z",
    "edited_at": "2025-05-20T15:29:20.416Z",
    "transaction_payout_tags": [
      {
        "payout_tag": "text",
        "amount": 1,
        "description": "text",
        "metadata": "text"
      }
    ],
    "virtual_account_transfer_timeline_entries": [
      {
        "id": "text",
        "action_type": "awaitingProviderResponse",
        "action": "text",
        "description": "text",
        "gateway_code": "text",
        "is_live": true,
        "created_at": "2025-05-20T15:29:20.416Z",
        "edited_at": "2025-05-20T15:29:20.416Z"
      }
    ]
  },
  "meta": {},
  "errors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "is_error": true
}