Identity verification
Check a payout destination before money leaves, from an IBAN's checksum to the name the operator holds for a wallet.
Shield judges the money coming in. Identity checks are for the other direction: before you pay a seller, a courier or a customer, you can make sure the destination is well-formed and that it belongs to the person you think. None of these checks blocks anything on its own. Each one answers a question, and your code decides what to do with the answer.
Three questions, three calls
| You want to know | Call | In live |
|---|---|---|
| Whether an IBAN is well-formed | POST /identity/validate | Yes, the same in both environments |
| Which channel a mobile number belongs to | POST /identity/resolve | No, sandbox only |
| Whose name a wallet is registered under | POST /beneficiaries/{id}/verify | Yes, on cm.mtn, cm.orange, cm.eu and wajub |
The two Identity calls are synchronous and have no side effect: nothing is created, nothing is charged. The wallet check runs on a beneficiary you have already saved.
Before the first call
Identity needs a secret key (sk.) or a restricted key carrying identity.write, and the
Growth, Scale or Enterprise plan. On Pay as you go both calls answer 403 and ask you to
upgrade. Sent for a connected account with Sync, they need the connection's withdrawals
capability, the one payouts need.