Verify Bank of Abyssinia (BOA) Payments via API — Real-Time, Non-Custodial
Quick Answer: ShegerPay verifies Bank of Abyssinia (BOA) payments in under 2 seconds through one REST API call. The customer pays from BOA mobile, BOA branch, or a BOA QR slip, the money lands in the merchant's BOA account, and ShegerPay's webhook fires with payment.verified. ShegerPay never holds the funds — no merchant license required.
What is Bank of Abyssinia?
Bank of Abyssinia (BOA) is one of Ethiopia's largest private commercial banks, with a wide branch and agent footprint across the country. BOA offers BoA Mobile, BoA Internet Banking, ATM and POS rails, and is one of the most common banks used by Ethiopian SMEs and online merchants for receiving transfers.
How BOA verification works with ShegerPay
- Customer initiates a transfer from BOA Mobile, internet banking, branch, or scans a BOA QR
- BOA settles the transfer into the merchant's BOA account and emits a transaction reference + slip URL
- Merchant backend POSTs to
/api/v1/verifywithprovider=boaand the transaction_id or slip URL - ShegerPay returns
verified=truewith sender, amount, and timestamp, then fires the webhook
Code example
curl -X POST https://api.shegerpay.com/api/v1/verify \
-H "X-API-Key: sk_test_demo" \
-H "Content-Type: application/json" \
-d '{"provider":"boa","transaction_id":"BOA20260513XYZ","amount":1200}'
import ShegerPay from '@shegerpay/sdk';
const sp = new ShegerPay('sk_test_demo');
const result = await sp.verify({
provider: 'boa',
transactionId: 'BOA20260513XYZ',
amount: 1200
});
from shegerpay import ShegerPay
sp = ShegerPay('sk_test_demo')
result = sp.verify(provider='boa', transaction_id='BOA20260513XYZ', amount=1200)
$sp = new ShegerPay\Client('sk_test_demo');
$result = $sp->verify([
'provider' => 'boa',
'transaction_id' => 'BOA20260513XYZ',
'amount' => 1200
]);
BOA-specific features
- QR slip auto-parsing — paste a BOA slip URL (e.g.,
https://cs.bankofabyssinia.com/slip/...) into/api/v1/verifyand ShegerPay fetches and parses the slip server-side - Receipt URL extraction — BOA Mobile receipts include a unique shareable URL; ShegerPay accepts the URL directly as
transaction_id - Mobile + branch + QR — single integration covers BoA Mobile, branch transfer, and scan-to-pay flows
- Receipt OCR — BOA receipt screenshots upload cleanly to
/api/v1/verify-image - Sub-2-second verification typical latency
Why ShegerPay for BOA
- Non-custodial — funds settle directly to your BOA account
- No merchant license required
- Sub-2-second verification with QR slip auto-parsing
- Free tier includes BOA
- Works with WooCommerce plugin out of the box
- HMAC-SHA256 webhook signatures
- 12 official SDKs
Pricing for BOA verification
- Free: 100 verifications/month
- Startup ($9/mo): 2,000 verifications
- Business ($29/mo): 10,000 verifications + crypto
- Enterprise: custom
Comparison
| Feature | ShegerPay | Chapa | Arifpay | Manual |
|---|---|---|---|---|
| BOA supported | Yes | Yes | Yes | Yes |
| QR slip auto-parse | Yes | No | No | — |
| Verification time | <2s | 5–30s | 5–30s | Minutes |
| Non-custodial | Yes | No | No | — |
| Free tier | Yes | Limited | No | — |
FAQ
How fast is BOA verification with ShegerPay? Under 2 seconds typical. For BOA QR slips, ShegerPay fetches and parses the slip server-side and returns the parsed amount, sender, and timestamp.
Do I need a BOA merchant account? No — any BOA account (business or personal) works. ShegerPay is non-custodial; the customer pays into your BOA account directly.
Can I verify BOA from a receipt screenshot or slip URL?
Yes — paste the slip URL directly into transaction_id, or POST the image to /api/v1/verify-image.
Does ShegerPay hold BOA funds? No — funds settle directly to your BOA account.
Is there a sandbox/demo for BOA?
Yes — use sk_test_demo on any endpoint without signup.
What happens if BOA verification fails?
API returns verified=false with reason: not_found, pending, slip_unreachable, or amount_mismatch. Retry or escalate.
Related: Pricing · Docs · ShegerPay vs Chapa · Verify CBE · Verify Awash
Contact: [email protected] · +251 998 169 242