Fund your Issued Cards

Make funds available for card usage, based on how your cards are configured.

Once a card is issued, it must have access to funds before it can be used for transactions.

How funding works depends on the card type:

Debit Cards

Transactions draw funds directly from the linked account balance in real time. Ensure the account has sufficient funds before usage.

Prepaid Cards

Cards must be pre-funded before use. Funds are loaded onto the card and deducted from the source account.

Virtual Cards

Issue a virtual card already loaded with a balance to a saved contact. The amount is sent as a

VIRTUAL_CARD

transaction and the card is delivered to the contact's email.


Scenarios

Card funding follows the path that matches the card type. Prepaid cards are loaded and unloaded with a BOOK transfer between an account and the card. Debit cards draw from their linked account, so you fund that account with a BOOK transfer. Virtual cards are issued already loaded with a balance using a VIRTUAL_CARD transaction to a saved contact.

sequenceDiagram
    participant App as Your Application
    participant PCE as PCE
    participant Src as Source (Account or Card)
    participant Dest as Destination (Account or Card)

    App->>PCE: POST /v1/customer/id/{id}/transaction (method: BOOK)
    PCE->>PCE: Validate balances and status
    PCE->>Src: Debit source
    PCE->>Dest: Credit destination
    PCE-->>App: 201 (Transaction created)
    PCE-->>App: Webhook (COMPLETED)
    Note over Dest: Balance updated, funds available

Before you begin (all scenarios)

  • Source (account or card) has sufficient balance.
  • Destination (account or card) is in ACTIVE status.
  • Customer has completed KYC verification.

Scenario 1: Load funds to a Prepaid card

Use this scenario to add funds to a prepaid card before the cardholder can use it for purchases.

Business Context: A business issues prepaid cards to its employees. Before an employee can use their card for a business trip, the finance team loads $1,500.00 for estimated travel expenses.

You'll also need: Prepaid card is issued and in ACTIVE status, source account has sufficient balance.

Request

POST /v1/customer/id/48201/transaction

{
  "externalId": "load-exp-card-2026-001",
  "method": "BOOK",
  "amount": "1500.00",
  "purpose": "Employee travel expense allocation - Q3 2026",
  "source": {
    "account": {
      "id": "88712"
    }
  },
  "destination": {
    "card": {
      "id": "55903"
    }
  }
}

The prepaid card balance is now $1,500.00 and the employee can make purchases up to that amount.

Scenario 2: Unload funds from a Prepaid card

Use this scenario to move unused funds back from a prepaid card to the source account, typically before cancelling the card or when an employee returns from a trip with unspent funds.

Business Context: An employee returns from a business trip with $372.50 unspent on their prepaid expense card. The finance team unloads the remaining balance back to the corporate operating account.

You'll also need: Card has sufficient balance to unload, destination account is ACTIVE, card is not frozen.

Request

POST /v1/customer/id/48201/transaction

{
  "externalId": "unload-exp-card-2026-001",
  "method": "BOOK",
  "amount": "372.50",
  "purpose": "Return unused travel funds - John Smith Q3 trip",
  "source": {
    "card": {
      "id": "55903"
    }
  },
  "destination": {
    "account": {
      "id": "88712"
    }
  }
}

The $372.50 is removed from the prepaid card and returned to the company's account.

Scenario 3: Fund an account for Debit card usage

Use this scenario to transfer funds to the account linked to a debit card, ensuring the cardholder has available balance for transactions.

Business Context: A business needs to ensure an employee's debit card has sufficient funds for a business trip. It transfers $5,000 from the company's operating account to the employee's linked account.

You'll also need: Source account has sufficient balance, destination account is ACTIVE and linked to a debit card.

Request

POST /v1/customer/id/{customerId}/transaction

{
  "externalId": "fund-account-001",
  "method": "BOOK",
  "amount": "1000.00",
  "purpose": "Fund debit card account",
  "source": {
    "account": {
      "id": "4011850"
    }
  },
  "destination": {
    "account": {
      "id": "4011856"
    }
  }
}

The employee's debit card can now authorize transactions up to the available account balance.

Scenario 4: Fund a Virtual Card for a Contact

Use this scenario to issue a virtual card that is already loaded with a balance and delivered to a saved contact's email. Unlike prepaid load/unload, this uses the VIRTUAL_CARD method: the card is created, funded, and delivered in a single transaction.

Business Context: A platform issues a $50.00 virtual card to a contractor saved as a contact so they can cover a specific expense. The card is emailed to the contractor preloaded with the amount, ready to spend.

You'll also need: the payee saved as a contact with an email, and the cardProgram.id for your virtual-card program.

Request

POST /v1/customer/id/48201/transaction

{
  "externalId": "vcard-load-2026-001",
  "method": "VIRTUAL_CARD",
  "type": "REGULAR",
  "amount": "50.00",
  "purpose": "Contractor expense - virtual card",
  "source": {
    "account": {
      "id": "88712"
    }
  },
  "destination": {
    "contact": {
      "id": "4013552"
    }
  },
  "processingDetail": {
    "virtualCard": {
      "cardProgram": {
        "id": "2590"
      }
    }
  }
}

The virtual card is issued with a $50.00 balance and delivered to the contact's email.


Funding Debit cards

Debit cards do not require a separate funding step at the card level. Instead, you need to ensure that the linked account has sufficient balance.

Move funds between entities within the platform using the BOOK method. This is typically used to:

  • Allocate funds across accounts
  • Instantly make funds available for debit card usage

Use the POST /v1/customer/id/{id}/transaction API to add funds to the account linked to the card.

ParameterRequiredValue
methodBOOK
source.account.idAccount to be debited
destination.account.idAccount to be credited
amountAmount to be transferred

Funding Prepaid cards

Prepaid cards require explicit funding before they can be used. You manage the card balance using two operations:

Load funds to a Prepaid card

Add funds to a prepaid card using the POST /v1/customer/id/{id}/transaction API, along with following key parameters:

ParameterRequiredValue
methodBOOK
source.account.idAccount to be debited
destination.card.idCard to be credited
amountAmount to load
💡

Funds are deducted from the account and made available on the card.

Unload funds from a card

Move unused funds back to the account using the POST /v1/customer/id/{id}/transaction API, along with following key parameters:

ParameterRequiredValue
methodBOOK
source.card.idCard to be debited
destination.account.idAccount to be credited
amountAmount to unload
💡

Funds are removed from the card and returned to the account.


Funding Virtual cards

Virtual cards are funded at the moment of issuance. A VIRTUAL_CARD transaction debits your Passport Account and issues a virtual card, preloaded with amount, to a saved contact. The card is delivered to the contact's email, so the contact must be saved with a valid email first (see Save a payee's email for virtual cards).

Use the POST /v1/customer/id/{id}/transaction API with the following key parameters:

ParameterRequiredValue
methodVIRTUAL_CARD
amountAmount to load onto the virtual card
source.account.idPassport Account to be debited
destination.contact.idSaved contact (must have an email) who receives the card
processingDetail.virtualCard.cardProgram.idVirtual-card program the card is issued under
processingDetail.location.idOptionalLocation to associate with the transaction
💡

The contact must have a valid email; the issued virtual card is delivered there. See Save a payee's email for virtual cards.


Next steps

See also



Did this page help you?