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
- Customer initiates a Wise transfer to the merchant's Wise multi-currency account or linked bank
- Wise settles the transfer and emits a transfer ID
- Merchant backend POSTs to
/api/v1/verifywithprovider=wiseand the Wise transfer ID - ShegerPay calls Wise's transfer-status API, returns
verified=truewith 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 booleanverified - 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