Skip to main content
You build and test against the development environment. Before you go live, work through this list, then contact support@ndovu.co to move to production.

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 confirm environment, status: ACTIVE and your policies are what you expect.