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
https://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.
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
Example Integration
Success Response
{
"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
{
"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.