Skip to main content

Sandbox Testing

The sandbox environment (https://api-sandbox.finperks.com) lets you build and test your integration without any monetary settlement. It offers the same API surface as the live environment and adds a few sandbox-only endpoints to simulate situations that would otherwise require action by finperks or real money movements.

Sandbox credentials are separate from live credentials: create a sandbox API key in the finperks Control Center and configure sandbox webhook subscriptions independently from your live setup.

Sandbox-Only Endpoints

EndpointUse it to
PATCH /balances/{currency}Set your balance to any value — e.g. a high value for happy-path testing, or a low value to test insufficient_available_balance handling.
POST /products/{code}/actions/trigger_eventTrigger a product created or updated event to test your product webhook processing and cache refresh logic.
POST /client_partners/{id}/actions/trigger_eventMove a client partner through its lifecycle (created, updated, approved, rejected, revoked) without waiting for a manual review, e.g. to test that orders work once a partner is approved.
POST /orders/{id}/actions/refundSimulate a refund of a completed order to test your handling of the refunded state and webhook event. In live mode, refunds are only triggered by finperks.

What to Test

Before going live, we recommend verifying at least the following flows in the sandbox:

  • Order happy path — create orders in sync and async mode and process the delivery data, including the urls entries where available.
  • Idempotent retries — send the same order creation request twice with the same Idempotency-Key and verify your system handles the replayed response correctly, see Idempotency.
  • Invalidation — invalidate an order right after creation and verify your handling, including the error responses for orders that can no longer be invalidated, see Order Lifecycle.
  • Insufficient balance — lower your balance via PATCH /balances/{currency} and verify your handling of the insufficient_available_balance error.
  • Webhooks — subscribe to order and product events in the sandbox and verify signature validation, deduplication by webhook id, and your 2xx acknowledgment behavior, see Webhooks.
  • Refunds — trigger a sandbox refund and verify the refunded state is reflected correctly in your system.
  • Rate limiting — if you expect bursts of requests, verify your client-side rate limiting and Retry-After handling, see Rate Limiting.

Differences From Live

  • Settlements do not exist in the sandbox. The settlement endpoints and settlement webhook events are only available in the live API.
  • No real fulfillment. Sandbox orders deliver test data; codes cannot be redeemed.
  • Data retention. Sandbox data is cleaned up periodically — do not treat sandbox orders as permanent records.