Skip to Content
Integration GuideVerify Payment

Verify Payment

This document will explain how to verify payments. It is the most critical step in your payment integration.

Why Verification is Mandatory

Always verify payment transactions server-side before fulfilling orders or delivering services. Verification protects your business from fraud and ensures payment authenticity.

🛡️

Prevents Fraud

Protects against fake payment notifications

Confirms Delivery

Only deliver for verified payments

🔒

Stops Spoofing

Protects against callback/webhook spoofing

💰

Amount Verification

Confirms the exact amount was received

Endpoint

GEThttps://api.admaspay.com/api/v1/key-auth/transactions/verify/{transaction-ref}

Replace {transaction-ref} with your transaction reference (txn_ref) used during payment initiation.

Headers

Pass your API key as a bearer token in the request header to authorize this API.

AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Example Integration

Success Response

200 OK
{
    "id": "5a31f985-6306-4ac2-a09b-df31d94daab9",
    "account": {
        "id": "bed5a3be-7863-4d93-b6f2-8559a290f4fb",
        "merchant_code": "k3jI75",
        "total_balance": 5000000.00
    },
    "reference": {
        "custom_ref": "jshyysbwy",
        "txn_ref": "QgOSu2V8AD",
        "payment_processor_ref": "tSLQx6W939"
    },
    "transaction_method": {
        "payment_method": {
            "id": "5fdeedc2-1a85-492e-ab4b-841c95065bfe",
            "type": "WALLET",
            "name": "Telebirr",
            "code": "TELEBIRR",
            "account_number_length": 8,
            "logo": "https://ekhcdc.org/wp-content/uploads/2023/12/photo_2021-05-10_22-48-53-telebirr_icon-1600x900.jpg",
            "url": "https://www.ethiotelecom.et/telebirr",
            "supported_currencies": [
                "ETB"
            ],
            "status": "ACTIVE"
        },
        "currency": {
            "id": "2f4c8878-554c-4ced-b875-9f5ae91f615b",
            "name": "ETB",
            "display_symbol": ".",
            "name_code": "ETB"
        }
    },
    "against": {
        "customer": {
            "id": "f0846f7b-5189-4f88-830d-b0e2c5c353d6",
            "first_name": "John",
            "last_name": "Doe",
            "phone_number": "null"
        }
    },
    "amount": 300.00,
    "charge_amount": 0,
    "description": "null",
    "transaction_date": "2025-04-05T06:40:45.626456Z",
    "type": "RECEIVE",
    "status": "CHECKED_OUT"
}

Error Response

Error
{
    "code": "transaction.not.found",
    "message": "Transaction not found"
}

Best Practices

✓ Always verify payments server-side, never trust client-side callbacks alone.

✓ Compare the verified amount with your expected amount before fulfilling orders.

✓ Store the verification response for your records and dispute resolution.

For detailed error responses, see Error Codes.

Last updated on