Before you go live
1
Keep your credentials safe
Your client secret is in a secrets manager, never in source control or
client-side code. Your servers call the Partner API; your customers’ apps
never do.
2
Handle token expiry
You reuse an access token until it expires (
limits.tokenLifetimeSeconds
in your configuration), and get a new one on
401 INVALID_PARTNER_TOKEN. You don’t authenticate on every request.3
Match your identity policy
Read your configuration and send exactly what your
identityPolicy asks for. With REFERENCED, nothing you send carries
personal data and you upload no documents.4
Use stable customer IDs
Each
externalUserId is your permanent ID for one customer. You never
reuse one for a different person.5
Retry safely
You retry customer creation after timeouts and
5xx errors, relying on
idempotent create, and back off on
429.6
Never invest twice by accident
You generate an
Idempotency-Key for each intended investment, save it
with your order before calling us, and resend the same key on timeouts and
5xx errors. You use a new key only for a new investment, or to retry
after a Payment FAILED. See Retrying.7
Show the payment reference
For bank transfers, you show your customer the
bankDetails and the
reference, and make clear the reference must be in the transfer’s memo.8
Follow status without flooding
You check status at sensible intervals and stop once a
Payment or Transaction reaches a final status.
9
Test the money flow
In development, you can’t move real money or simulate a payment. Invest
for a test customer, then ask support@ndovu.co
with the payment
reference to complete (or fail) it, and to invest it,
so you can see every status.10
Handle every error code
You branch on
code, not message, for every code in Errors,
and you show your users something sensible for each.11
Record your KYC
You send the real date you completed KYC as
kycVerification.verifiedOn,
and your own case ID as kycVerification.reference, so either side can
trace a customer back to your due diligence.12
Don't store document links
You fetch the customer again for fresh document
urls instead of storing
them; they expire after 5 minutes.Moving to production
Production has its own base URL and its own credentials, which we send you when you’re ready. Nothing created in development carries over, so onboard production customers fresh. After switching, call your configuration once to confirmenvironment, status: ACTIVE and your policies are what you expect.
