📄 Guide
Whether you want to check that an authorization callback parses correctly or to run the whole chain from card use through authorization forwarding to posting before you go live, you can do it all in the sandbox, with no real card network, no real money, and no real cardholder ever involved. As a licensed card issuer, DCS gives partners a sandbox built to the same shape as production, so you can rehearse your authorization decision logic from the earliest days of integration.Does the backend support simulation?
Yes, but only within limits. As of the current release, the Partner-Managed API provides one simulation endpoint:Sandbox simulation today focuses on the authorization stage; dedicated endpoints for clearing, 3DS, deposits and the like are still planned. If your testing needs any of those scenarios, talk to the DCS team about a workable alternative.
What the sandbox does for you
Thefund-auth simulation endpoint triggers a genuine authorization forwarding flow: once DCS receives your simulated request, it pushes the authorization notification to the authUrl you configured over exactly the same path as production, and you return the approve-or-decline decision. That makes it a good fit for:
- checking that RSA two-way signing plus encryption and decryption on the authorization notification works end to end;
- checking your own authorization decision logic (limit checks, risk rules, timeout fallbacks);
- checking that your system transitions state correctly across all three scenarios:
EXPEND(purchase),REFUND(return) andREVERSAL(purchase reversal).
Base URLs
the simulation endpoint is available in the sandbox only. Production blocks the path outright and returns
OPERATION_NOT_SUPPORT, so never call a simulation endpoint against production.What you need before you simulate
For the full explanation of the authentication headers, RSA key generation with openssl, and the IP whitelists, see Authentication.
Minimal request
POST /open-api/simulation/v1/fund-auth):
Minimal response
The standard response envelope: every endpoint returns{ code, message, messageDetail, data }.codereports the outcome of the system call (SYS_SUCCESS, for example), while the business outcome must be read from insidedata, hereapproved. Acode=SYS_SUCCESSmeans only that the request was accepted correctly, not that the authorization was approved, so never judge the business outcome fromcodealone.messageDetailis a prompt object aimed at end users and is oftennull. For the full contract of the envelope, see Authentication.
A suggested verification loop
- Call
fund-authwithauthType=EXPENDand watch for DCS pushing an authorization notification to yourauthUrl. - At
authUrl, verify the signature, decrypt, make your decision, then sign and return it. - Check that
data.approvedin thefund-authresponse matches the decision you returned. - Repeat with
authType=REFUNDandREVERSALto exercise the return and reversal paths.

