Skip to main content
The card API issues a USD virtual Visa or Mastercard for online checkout. A cardholder pays with the card number, expiration, security code, and billing address. Authenticate with your partner consumer key (x-api-key). Every endpoint is POST with a JSON body under /card.

Online payments and subscriptions

Use the card anywhere a merchant accepts Visa or Mastercard online: stores, invoices, app stores, and ads. Cards created here are virtual. is_contactless_payment is false, and is_physical stays unset unless the issuer reports otherwise. Auto-renewal is chosen once, on create card, with is_non_subscription: Renewals draw from the card balance. Fund the card before a billing date so the charge can clear, and freeze it to stop further spend.

Flow

  1. Create a card user. Keep the returned user_id.
  2. Create a card for that user. The opening amount is loaded onto the card in USD and must be greater than 0.9.
  3. Read the card, fund it, or withdraw.
  4. List transactions. Freeze and unfreeze when you need to block spending.
A card user can hold one card. A second create returns Card user already has a card.

Identifying a card

Later calls use the user_id from create-user (your cardholder id). They do not take a separate card id, except terminate, which takes card_id. user_id is scoped to your partner account. Another partner’s id returns Card user not found.

Card object

Create, list, and get return this object. Fund, withdraw, freeze, and unfreeze return the same fields except card_number and security_code.
POST /card/create, POST /card/all, and POST /card/get-card return the full card number and security code. Store them as cardholder secrets. List-users nests cards without those fields.

Card user object

Create and edit return: List users adds phone, country, state, city, address, zip_code, and a cards array. ID type and ID number are not returned.

Statuses

Get, fund, withdraw, freeze, and unfreeze only resolve a card that is not terminated or terminating. Transaction history still resolves a closed card.

Amounts

Cards are issued in USD. A withdrawal the card cannot cover returns Card has insufficient balance.