Back to Home
Yegna Pay
Documentation

Transaction Verification API

Automate and validate digital banking transactions inside your application pipeline. The Yegna Pay verification engine protects your system against fraud, checks totals, and confirms user data instantly.

Operational Notice

You must open a dedicated bank account specifically for payment collection. Do not use your personal or primary account. Using a dedicated account improves security, accounting accuracy, and fraud monitoring.

Authentication

Authenticate your API requests using Bearer tokens included in the Authorization header. You can manage your API keys from the developer dashboard.

Authorization: Bearer sk_live_...

API Endpoint

POSThttps://yegna-pay-api.vercel.app/api/transaction/create

Parameters Schema

full_name
stringRequired
Sender or Payer's official Full Name as recorded on the platform receipt.
price_amount
stringRequired
The exact payment value being requested or processed.
platform
stringRequired
The banking platform ('awash', 'CBE', 'BOA').
currency
stringRequired
Standard currency code system identifier (e.g., 'ETB').
transaction_id
stringRequired
The unique system-assigned transaction tracking reference key.

Request Examples

cbe
Mock Payload Data
json
{
  "full_name": "JOHN DOE ENTERPRISE",
  "price_amount": "4000",
  "platform": "CBE",
  "currency": "ETB",
  "transaction_id": "-2KCLVVWOY3-4R75E0"
}

How to Send Requests

Integrate Yegna Pay effortlessly. Copy the ready-to-use snippets below to implement the transaction POST request in your preferred programming language.

javascript
const url = 'https://yegna-pay-api.vercel.app/api/transaction/create';
const token = 'sk_live_...';

const payload = {
  full_name: "MULUGETA KASSAW CLEANING SERVICE",
  price_amount: "4000",
  platform: "awash",
  currency: "ETB",
  transaction_id: "-2KCLVVWOY3-4R75E0"
};

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${token}`
  },
  body: JSON.stringify(payload)
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));

Expected Response

Upon a successful verification query, the Yegna Pay API will respond with a JSON payload validating the status and extracted payment amount.

json
{
  "success": true,
  "data": {
    "verified": true,
    "amount": 4000,
    "platform": "CBE",
    "transaction_id": "-2KCLVVWOY3-4R75E0",
    "timestamp": "2026-06-12T01:17:00Z"
  }
}

The Verification Pipeline

Duplicate Checks

Stops replay attacks and dual-submissions.

Optical Parsing

Extracts deep metadata from receipts.

Name Verification

Evaluates payer registry match.

Date Validation

Rejects stale or delayed transfers.

Best Practices

Always verify transactions server-side; never trust client UI variables.
Store immutable verification responses inside historical log archives.
Inject API secret tokens purely through protected environment variables.
Enforce active HTTPS encrypted communication layers on all endpoints.