Verify Wise Payments via API — Real-Time, Non-Custodial

Quick Answer: ShegerPay verifies Wise (formerly TransferWise) payments in under 5 seconds through one REST API call. The customer sends funds via Wise to the merchant's Wise account or bank, funds settle, and ShegerPay's webhook fires with payment.verified. ShegerPay never holds the funds — no merchant license required.

What is Wise?

Wise (formerly TransferWise) is a UK-based cross-border money-movement platform that lets users hold, send, and convert money across 40+ currencies using mid-market exchange rates. Wise is one of the most cost-effective rails for sending money into and out of Ethiopia and is widely used by Ethiopian freelancers, importers, and remittance recipients. Wise developer docs: wise.com/help/articles/2935777/api-getting-started.

How Wise verification works with ShegerPay

  1. Customer initiates a Wise transfer to the merchant's Wise multi-currency account or linked bank
  2. Wise settles the transfer and emits a transfer ID
  3. Merchant backend POSTs to /api/v1/verify with provider=wise and the Wise transfer ID
  4. ShegerPay calls Wise's transfer-status API, returns verified=true with payer, source amount, target amount, 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":"wise","transaction_id":"WISE-987654321","amount":100,"currency":"USD"}'
import ShegerPay from '@shegerpay/sdk';
const sp = new ShegerPay('sk_test_demo');
const result = await sp.verify({
  provider: 'wise',
  transactionId: 'WISE-987654321',
  amount: 100,
  currency: 'USD'
});
from shegerpay import ShegerPay
sp = ShegerPay('sk_test_demo')
result = sp.verify(provider='wise', transaction_id='WISE-987654321', amount=100, currency='USD')
$sp = new ShegerPay\Client('sk_test_demo');
$result = $sp->verify([
  'provider' => 'wise',
  'transaction_id' => 'WISE-987654321',
  'amount' => 100,
  'currency' => 'USD'
]);

Wise-specific features

  • 40+ currencies — verify Wise transfers in USD, EUR, GBP, AED, KES, etc.; ShegerPay returns native + ETB-converted amount
  • Multi-currency account support — works with Wise USD/EUR/GBP balances and routing/IBAN details
  • Transfer-status state machine — ShegerPay maps Wise states (incoming_payment_waiting, processing, funds_converted, outgoing_payment_sent) to a single boolean verified
  • Cross-border ETB conversion — surfaces mid-market rate and final ETB-equivalent for reconciliation
  • Sandbox-friendly — works with Wise sandbox transfer IDs out of the box

Why ShegerPay for Wise

  • Non-custodial — funds settle directly to your Wise/bank account
  • No merchant license required
  • 3–5 second verification on the Wise API
  • Free tier includes Wise
  • Works with WooCommerce plugin out of the box
  • HMAC-SHA256 webhook signatures
  • 12 official SDKs

Pricing for Wise 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
Wise supported Yes No No Yes
Multi-currency Yes No No
Mid-market rate Yes
Non-custodial Yes No No
Verification time 3–5s Minutes

FAQ

How fast is Wise verification with ShegerPay? 3–5 seconds typical, bounded by the Wise transfer-status API.

Do I need a Wise business account? A Wise personal account works for receive; a Wise Business account unlocks API access and higher limits. ShegerPay supports both.

Can I verify a Wise transfer that has not yet completed? Yes — ShegerPay reports pending while the transfer is incoming_payment_waiting or processing, and fires the webhook once it reaches funds_converted or outgoing_payment_sent.

Does ShegerPay hold Wise funds? No — funds settle directly to your Wise multi-currency account or linked bank.

Is there a sandbox/demo for Wise? Yes — use sk_test_demo and a Wise sandbox transfer ID. No signup required.

What happens if Wise verification fails? API returns verified=false with reason: not_found, cancelled, bounced_back, amount_mismatch.

Related: Pricing · Docs · Verify PayPal · Verify Payoneer

Contact: [email protected] · +251 998 169 242