Skip to main content
Issue virtual and physical debit cards linked to PIK wallet balances — enabling your connected accounts to spend their funds directly at merchants worldwide. PIK’s Card Issuing product lets platforms issue debit cards to their customers. Cards are linked directly to a connected account’s PIK wallet balance. When the cardholder makes a purchase, the spend is debited in real time from their wallet. No separate card account or top-up process is required.
Card issuing is currently available in SGD and USD only. Contact hi@pik.global to confirm availability for your platform and jurisdiction.

Card Types

TypeFormatBest For
Virtual card16-digit card number, CVV, expiry — digital onlyOnline purchases, subscriptions, digital wallets
Physical cardStandard bank card — delivered by postIn-store spending, ATM withdrawals, everyday use
Both virtual and physical cards are supported. Contact hi@pik.global to discuss your card programme requirements.

Supported Spend Currencies

Card CurrencySource WalletFX Applied at Spend?
SGDSGD wallet balanceNo
USDUSD wallet balanceNo
SGDAUD or USDT wallet (auto-converted)Yes — at PIK FX rate at time of transaction
USDAUD or USDT wallet (auto-converted)Yes — at PIK FX rate at time of transaction
When the cardholder spends in SGD but their card is denominated in USD (or vice versa), FX conversion is applied automatically at the prevailing PIK rate at the time of the transaction.

How Card Issuing Works

  1. Platform creates a connected account and completes KYC/KYB verification.
  2. Platform activates the card_issuing capability on the connected account.
  3. Platform issues a card via the PIK API — specifying virtual or physical, currency (SGD or USD), and optional spending controls.
  4. PIK returns the card details for virtual cards, or dispatches the physical card for delivery.
  5. Cardholder uses the card to make purchases.
  6. Each transaction is authorised in real time against the connected account wallet balance in the card currency.
  7. The spend amount is debited from the wallet immediately on authorisation.
  8. The platform receives transaction notifications via webhook.

Issuing a Card

Issue a Virtual Card

POST /api/v1/accounts/{connected-account-id}/cards
Authorization: Bearer YOUR_PLATFORM_API_KEY
x-on-behalf-of: {connected-account-id}
Content-Type: application/json

{
  "card_type": "virtual",
  "currency": "SGD",
  "label": "Online Purchases"
}
Response includes: card_id, card_number, cvv, expiry_month, expiry_year, status
⚠️ Card details are returned once at issuance. Store them securely — the CVV cannot be retrieved again after the initial response.

Issue a Physical Card

POST /api/v1/accounts/{connected-account-id}/cards
Authorization: Bearer YOUR_PLATFORM_API_KEY
x-on-behalf-of: {connected-account-id}
Content-Type: application/json

{
  "card_type": "physical",
  "currency": "USD",
  "delivery_address": {
    "line1": "123 Orchard Road",
    "city": "Singapore",
    "postcode": "238840",
    "country": "SG"
  }
}
Physical card delivery typically takes [REQUIRES PIK INPUT — confirm delivery timeframe]. Contact hi@pik.global for delivery coverage and timeframes.

Card Controls

Platforms can configure the following controls per card via the PIK API:
ControlDescription
Spending limitSet a daily, weekly, or monthly spend cap
Merchant category blockBlock spend at specific merchant categories (e.g. gambling)
Geographic restrictionsRestrict card use to specific countries or regions
Card freeze / unfreezeTemporarily suspend or re-enable the card
Single-useCard deactivates after the first successful transaction

Update card controls

PATCH /api/v1/accounts/{connected-account-id}/cards/{card-id}
Authorization: Bearer YOUR_PLATFORM_API_KEY
x-on-behalf-of: {connected-account-id}
Content-Type: application/json

{
  "spending_limit": {
    "amount": "1000.00",
    "period": "monthly"
  }
}

Managing a Card

Retrieve card details

GET /api/v1/accounts/{connected-account-id}/cards/{card-id}
For security, the full card number and CVV are only returned once at issuance. Subsequent GET requests return a masked card number (last 4 digits only) and no CVV.

Freeze a card

POST /api/v1/accounts/{connected-account-id}/cards/{card-id}/freeze

Unfreeze a card

POST /api/v1/accounts/{connected-account-id}/cards/{card-id}/unfreeze

Cancel a card permanently

DELETE /api/v1/accounts/{connected-account-id}/cards/{card-id}
Cancellation is permanent and cannot be reversed. Issue a new card if needed.

Card Status Reference

StatusMeaning
activeCard is live and can be used for transactions
frozenCard is temporarily suspended — no transactions authorised
cancelledCard has been permanently deactivated
pending_deliveryPhysical card has been dispatched and is in transit
expiredCard has passed its expiry date

Transaction Status Reference

StatusMeaning
authorisedTransaction approved — wallet balance debited
declinedTransaction declined — see decline reason
reversedPreviously authorised transaction reversed — balance credited back
settledTransaction fully settled

Common decline reasons

ReasonWhat It Means
insufficient_balanceWallet balance too low to cover the transaction
card_frozenCard is currently frozen
card_cancelledCard has been cancelled
merchant_blockedMerchant category is blocked by card controls
geographic_restrictionTransaction attempted in a restricted country
limit_exceededSpending limit reached for the current period

Webhook Events

Add the following webhook events to your PIK webhook configuration to receive real-time card notifications: card.transaction.authorised — Card transaction approved — wallet balance debited. card.transaction.declined — Card transaction declined — check decline_reason field. card.transaction.reversed — Authorised transaction reversed — balance credited back. card.3ds.otp — 3DS OTP generated — your platform must forward the OTP to the cardholder. card.issued — A new card has been issued — card ID returned, sensitive data not included. card.status_updated — Card status changed (active, frozen, cancelled, expired).

Capability Activation

The card_issuing capability must be activated on each connected account before a card can be issued for that account.
POST /api/v1/accounts/{connected-account-id}/capabilities
Authorization: Bearer YOUR_PLATFORM_API_KEY
Content-Type: application/json

{
  "capability": "card_issuing"
}
The connected account must have approved verification status before card_issuing can be activated. See Onboarding a Customer for the KYC/KYB process.

Settlement Model

PIK Card Issuing operates on a pre-funded model. Your platform must maintain a sufficient balance in the card issuing account before cards can be used for transactions. Cards cannot be used to spend beyond the funded balance — there is no overdraft or credit facility. For settlement cycle details and funding requirements, contact hi@pik.global.

Interchange Fees

Interchange fees are included in webhook notifications. The specific fee fields and timing vary by transaction type and card network rules. Because interchange fee treatment differs depending on the transaction category, merchant type, card scheme, and processing outcome, contact hi@pik.global to understand the exact interchange fee reporting applicable to your card programme.

Card Creation — No Manual Approval Required

Cards are created instantly via the API. No manual approval or review is required to create a card. Once the API call is made, the card is issued and the card ID is returned immediately.
⚠️ Card details are returned once at issuance. Sensitive card data (full card number, CVV) is not transmitted via webhook for security reasons. After issuance, retrieve card details via GET /api/v1/accounts/{connected-account-id}/cards/{card-id} using the card ID returned at creation.

How Card Information Is Delivered

DataHow It Is Delivered
Card IDReturned in the API response at card creation
Sensitive card data (card number, CVV, expiry)Returned once in the API response at card creation — not sent via webhook
Card status changesVia webhook (card.status_updated)
Transaction results (all attempts, success or failure)Via webhook (card.transaction.authorised, card.transaction.declined)
Transaction failure reasonVia webhook — check the decline_reason field in the card.transaction.declined event
3DS verification (OTP)Via webhook — PIK receives the 3DS OTP notification and forwards it to your platform via webhook for you to pass to the cardholder
Interchange feesVia webhook — varies by transaction type and scenario. Contact hi@pik.global for specifics

All Transactions Are Notified — Including Failed Attempts

PIK sends a webhook notification for every transaction attempt — whether it succeeds, fails, or is declined. You will receive a notification regardless of outcome. This means your platform has a complete real-time view of all spending activity on every card, including declined attempts.

3DS (3D Secure) Verification

When a cardholder makes a 3DS-authenticated transaction (common for online purchases), the flow is:
  1. The merchant’s payment page triggers a 3DS challenge.
  2. A one-time password (OTP) or authentication request is generated.
  3. PIK receives the 3DS event and notifies your platform via webhook.
  4. Your platform receives the webhook and forwards the OTP or authentication instruction to the cardholder via your own channel (SMS, push notification, email, or in-app).
  5. Cardholder completes the 3DS challenge.
  6. Transaction proceeds or is declined based on the authentication result.
Your platform is responsible for delivering the 3DS OTP to the cardholder. PIK does not send OTPs directly to cardholders — your platform is the delivery channel.

Chargebacks and Disputes

For chargeback dispute handling, a template form is available. Contact hi@pik.global or your PIK account manager to obtain the chargeback dispute template and process documentation.

Prerequisites Summary

RequirementDetail
Platform accountApproved PIK platform account required
Card Issuing agreementPIK Card Issuing addendum must be signed — contact hi@pik.global
Connected account statusMust be approved (KYC/KYB completed)
Capabilitycard_issuing must be activated per connected account
Supported currenciesSGD and USD only
Settlement modelPre-funded — account must be funded before cards can be used
Card creation approvalNo manual approval required — cards are issued instantly via API
3DS deliveryYour platform is responsible for delivering 3DS OTP to cardholders
ChargebacksContact hi@pik.global for chargeback dispute template and process
Settlement cycleContact hi@pik.global
Jurisdiction availabilityContact hi@pik.global to confirm availability for your target markets