Prerequisites
- A UQPAY sandbox account with Card Issuance enabled
- An API token from the Access Token endpoint
- The UQPAY CLI installed (recommended), or
curl
Step 1: Create a cardholder
A cardholder represents the person who will use the card. Create one with a name, email, phone number, and country code.- CLI
- curl
cardholder_id — you need it to create a card.
Some card products require Enhanced KYC. If
cardholder_status returns PENDING, the cardholder must complete identity verification before you can issue a card. See KYC verification.Step 2: Find a card product
Card products define the BIN, card scheme, funding mode, and supported currencies. List the products available on your account.- CLI
- curl
card_form containing VIR (virtual). For sandbox simulation, use a product with BIN 40963608 — this is the only BIN that supports the Simulate Authorization endpoint.
Example product (abbreviated):
product_id to use in the next step.
Step 3: Create a virtual card
Issue a virtual card to the cardholder using the product you selected.- CLI
- curl
PENDING status. Within a few seconds, it transitions to ACTIVE and a card.create.succeeded webhook fires. Virtual cards do not require activation.
Step 4: Verify the card
Retrieve the card to confirm it is active.- CLI
- curl
ACTIVE with an available balance of 1000.00 USD. It is ready to simulate transactions.
Next steps
- Simulate a transaction — Use the Simulator API to test authorization and reversal flows
- Core concepts — Learn about card forms, funding modes, and configuration options
- Spending controls — Set per-transaction limits and merchant category restrictions
- Card lifecycle — Freeze, unfreeze, or cancel a card

