/portal/playground helps you exercise the public /v1/request-money contract—and, when your operator enables it, first-party remittance status updates—from guided forms before you wire your own HTTP client.
What it does
- Create request-money — Builds a card payout payload (tokenized PAN or token, expiry, cardholder, applicant, and address fields) and sends
POST {REQUEST_API_BASE_URL}/v1/request-moneyusing the API key you paste into the playground. Required card fields match the public API:number,expiryMonth,expiryYear, andcardholderName.last4,brand,country, andstateCodeon the card are optional, as arestateCodeandcityon the address; empty optional fields are omitted from the proxied JSON. - Get by referenceId — Sends
GET {REQUEST_API_BASE_URL}/v1/request-money/{referenceId}for an eight-character alphanumericreferenceIdyou enter. - Update status (internal) — Sends
PATCH {REQUEST_API_BASE_URL}/v1/internal/remittances/statuswith JSONreferenceId,status, and optionalstatusDetails. The admin API setspartnerIdfrom your partner JWT (you do not type it). You never paste the internal bearer secret in the browser; the admin API readsINTERNAL_REMITTANCE_STATUS_SECRETfrom its environment and must match the value configured onrequest-api.
POST /api/partner/playground/execute with your partner portal JWT (cookie or Authorization header, depending on deployment). You do not send X-API-Key directly from the browser for that call.
How credentials flow
Pick an operation tab
Use Create request-money or Get by referenceId when you need the bring-your-own-key flow. Use Update status (internal) when your operator configured
INTERNAL_REMITTANCE_STATUS_SECRET on the admin API to match request-api; the API key field is disabled for that tab.Paste your active API key (create and lookup only)
For create and lookup, enter the raw integrator key in the playground Credentials card. The SPA keeps it in memory only; it is not written to
localStorage or sessionStorage, and navigating away clears it.Run an operation
Each Run sends
POST /api/partner/playground/execute with your operation payload. The admin API validates your partner JWT, reads partnerId from the token (never from the body for internal status), then either forwards your call with x-api-key (create and lookup) or Authorization: Bearer plus the server secret (internal status). It returns publicApiStatus, publicApiBody, publicApiUrl, and operation. The admin service does not store or log the raw integrator key beyond what your deployment’s operational logging policy allows.API key rotation
The playground does not rotate your integrator key when you click Run. Your key stays valid until you rotate it explicitly.
POST /api/partner/rotate-key. Copy the new key once, then paste it into the playground if you want to keep testing create and lookup.
Prerequisites
- Partner portal account and sign-in.
- An active integrator API key that you paste yourself for create and lookup sessions.
- For Update status (internal), your operator must set
INTERNAL_REMITTANCE_STATUS_SECRETon the admin API to the same value as onrequest-apifor that environment. You never receive or paste that secret in the portal UI. - Partner documents in MongoDB must include
whatsappBaseUrlandwhatsappMessageTemplateforPOST /v1/request-moneyto succeed—the same fieldsrequest-apienforces. You can set them under Account overview → Messaging configuration in the portal (or your operator can set them via the admin console).
Deployment and safety
- Configure
REQUEST_API_BASE_URLon the admin API to therequest-apihost base URL (no trailing slash, no/v1) for the environment you intend to hit. Banrural sandbox example:https://banrural-request-api-sandbox.up.railway.app(public routes:https://banrural-request-api-sandbox.up.railway.app/v1/...). In hosted environments, point it at non-productionrequest-apiwhen possible: each successful create runs the real flow, including third-party side effects such as identity screening. - Configure
INTERNAL_REMITTANCE_STATUS_SECRETon the admin API when you want partners to use Update status (internal) in the playground; omit or leave unset only if you disable that path operationally (the admin API returns a clear configuration error when the tab runs without it). - The playground is a whitelist, not a generic HTTP proxy: only
createRequestMoney,getByReferenceId, andupdateRemittanceStatusare supported. Adding operations requires product changes toExecutePlaygroundDtoand the playground service.
Limitations
- The guided create flow is card-only; bank account and cash shapes from OpenAPI are not exposed in the form.
- The playground’s card and address optional fields follow the same rules as
request-api(for example optionallast4/brand/countryon the card). Use the API Reference for the full schema if you need every property. referenceIdmust match the public API: exactly 8 characters froma-z,A-Z, and0-9.PATCH /v1/internal/remittances/statusis not part of the public OpenAPI contract for integrators. You do not call it withX-API-Keyfrom your own backends; the playground exercises it through the admin API for testing and operations workflows your team approves.
Related documentation
Use the API Reference tab for the fullCreateRequestMoneyDto surface, 403 screening behavior on create, and GET semantics when no snapshot exists.