ShegerPay for E-commerce

Quick Answer: Ethiopian online stores use ShegerPay to verify CBE, Telebirr, Visa, PayPal, and crypto payments at checkout via hosted payment links or a direct API. ShegerPay is non-custodial — funds settle straight into your existing bank, mobile money, or PayPal account — so no merchant license is required and you keep 100% of every payment minus rail fees.

The problem Ethiopian online stores face today

If you run an online store in Ethiopia, you already know the routine. A customer DMs a CBE Birr screenshot on Telegram. Your assistant squints at the transaction ID, opens online banking, scrolls through statement entries, matches the amount, and only then marks the order paid. Multiply that by 50 orders a day and you have a full-time reconciliation job that still misses fraud — screenshots are trivial to fake, transaction IDs get reused, and refund disputes drag on for weeks.

Foreign currency is even worse. International customers want to pay with PayPal or Visa, but most Ethiopian payment processors don't support cross-border cards, can't hold USD, or require a money-transmitter license your business doesn't have. So you either lose the sale, or you accept funds into a personal account and risk freezes. Crypto buyers (USDT on TRON or BSC) get ignored entirely because no local gateway speaks that rail.

Meanwhile every plugin you try wants a monthly fee, a 2.9% take rate on top of bank charges, and a settlement window that locks your cash for T+3 days minimum.

How ShegerPay solves it

ShegerPay sits in front of your checkout as a verification layer, not a custodian. The customer pays you directly — into your CBE account, your Telebirr wallet, your PayPal, your USDT address — and ShegerPay independently verifies the transaction by querying the rail (CBE statement API, Telebirr lookup, PayPal IPN, on-chain confirmations) or by OCR-parsing a receipt screenshot.

The moment a payment confirms, ShegerPay fires an HMAC-SHA256 signed webhook to your store backend. Your order flips to "paid" automatically, an invoice generates, and inventory decrements. No statement scrubbing. No screenshot squinting. No held funds — because ShegerPay never touched the money.

For WooCommerce stores we ship an official plugin (5-minute install). For custom stacks, drop in one of 12 SDKs and call payments.verify().

Code example

import ShegerPay from '@shegerpay/sdk';

const sp = new ShegerPay({ apiKey: 'sk_test_demo' });

// Create a hosted payment link for an order
const link = await sp.paymentLinks.create({
  amount: 2450,
  currency: 'ETB',
  reference: 'order_8821',
  rails: ['cbe', 'telebirr', 'visa', 'paypal', 'usdt_tron'],
  successUrl: 'https://mystore.et/thanks/8821',
  webhookUrl: 'https://mystore.et/api/shegerpay-webhook',
});

console.log(link.url); // send to customer or embed in checkout

// Webhook handler (Express)
app.post('/api/shegerpay-webhook', (req, res) => {
  const ok = sp.webhooks.verify(req.rawBody, req.headers['x-shegerpay-signature']);
  if (!ok) return res.status(401).end();

  const { event, data } = req.body;
  if (event === 'payment.verified') {
    db.orders.update(data.reference, { status: 'paid', rail: data.rail, txId: data.txId });
  }
  res.json({ received: true });
});

If your customer sends a screenshot instead of paying through the link, the OCR fallback handles it:

const result = await sp.payments.verifyImage({
  image: fs.readFileSync('./receipt.jpg'),
  expectedAmount: 2450,
  expectedReference: 'order_8821',
});
// result.verified === true | false

Why non-custodial matters for e-commerce

Custodial processors hold your money. That means licensing requirements, KYB onboarding that can take weeks, settlement delays of 2-7 days, and the very real risk that your account gets frozen because a customer disputed a chargeback you've already shipped against. For a thin-margin online store, a single frozen month kills the business.

ShegerPay never holds funds. The customer pays you directly. We verify the payment and tell your system it landed. That means no merchant license, no settlement delay, no funds at risk during a dispute, and no take-rate on top of what your bank already charges. The cash is in your CBE account before the webhook even fires.

Workflow features used

  • Hosted payment links with multi-rail selector
  • OCR receipt verification fallback
  • HMAC-SHA256 signed webhooks
  • WooCommerce plugin (one-click install)
  • Order reference matching and idempotency
  • Multi-currency (ETB, USD, USDT)

Pricing fit

Most stores start on the Free tier (100 verifications/month) to validate the flow, then move to Starter at $9/month once volume picks up. Stores doing 1,000+ orders/month sit comfortably on Growth at $29. No transaction percentage — flat monthly, predictable.

FAQ

Do I need a merchant license to accept payments through ShegerPay? No. ShegerPay is non-custodial — money flows directly to your bank, Telebirr, or PayPal. You don't need a payment service provider license because you're not holding customer funds in transit.

Can I accept PayPal in Ethiopia through ShegerPay? Yes. PayPal payments settle into your own PayPal account; ShegerPay verifies via IPN and notifies your store.

What happens if a customer sends a fake screenshot? The OCR layer cross-references the transaction against the rail's source of truth (CBE statement API, Telebirr lookup). Fake or reused transactions fail verification.

How fast does the webhook fire after payment? For CBE, Telebirr, and Visa: usually under 10 seconds. For USDT: 1-2 block confirmations (~1 minute on TRON).

Does ShegerPay work with my existing checkout? Yes — use the hosted payment link, embed the widget, or call the API directly. 12 SDKs available.

Are there transaction fees on top of the monthly plan? No ShegerPay percentage fee. You pay only what your bank, Telebirr, PayPal, or chain charges.

Related: Pricing · API Docs · ShegerPay vs Chapa · Verify CBE payments · Non-custodial payments explained