Integration checklist
- Store
apiKeyId+secretin server-side secret storage; never in client code. - Generate a unique
orderIdper award and persist it with your record. - Serialize the body once, sign that exact string, send those exact bytes.
- Send
X-Timestampin milliseconds; keep your clock NTP-synced. - Send only
amount ≥ 1000(raw). RememberEP = floor(amount / 1000). - Treat
202and200 DUPLICATEas success; never re-award onDUPLICATE. - Branch on the string
code, not the message. - Retry only
503/ network errors, with backoff, reusing the sameorderId. - Test end-to-end against the sandbox base URL before going live.