Sending a Card Payment
Transfer funds from user wallets to external payment cards via OCT.
Before You Start
Read the following guides before proceeding:
| Guide | Why |
|---|---|
| Getting Started | Platform overview and setup |
| Api Basics | Required headers and request configuration |
| Authentication | How to obtain access tokens |
| Onboarding | User and wallet registration |
| KYC | KYC verification requirements |
| Recipients | Recipient management |
Push to Card enables users to transfer funds from their wallet directly to external Visa or Mastercard payment cards. The transfer uses OCT (Original Credit Transaction) rails to credit the destination card, typically within minutes. This provides a fast off-ramp for users who want to move funds to their existing bank cards.
Before initiating transfers, external cards must be registered through a two-step process: first tokenizing the card in Wirex's PCI-compliant secure environment, then creating a recipient with the tokenized card details. Cards can be registered as first-party (user's own card) or third-party (another person's card).
Transfers follow the standard estimate-then-execute flow. The estimate provides exchange rates for available tokens, and execution debits the selected token from the user's wallet. Transaction status is reported via activity webhooks.
Integration Flow (Simplified)
Detailed documentation available in Card Tokenization and Card Transfer.
sequenceDiagram
participant User
participant App as Your App
participant PCI as Wirex PCI
participant BaaS as Wirex BaaS
Note over User,BaaS: Card Registration (one-time)
User->>App: Enter card details
App->>PCI: POST /b2b/cards/oct
PCI-->>App: card_token
App->>BaaS: POST /api/v2/recipients (type: Card)
BaaS-->>App: payment_details.id
Note over User,BaaS: Transfer Execution
User->>App: Request transfer
App->>BaaS: POST /api/v1/cards/transfer/estimate
BaaS-->>App: estimation_id, rates
App-->>User: Transfer quote
User->>App: Confirm transfer
App->>BaaS: POST /api/v1/cards/transfer
BaaS-->>App: activity_id
Note over App,BaaS: Completion
BaaS->>App: POST /v2/webhooks/activities
App-->>User: Transfer complete
| Step | Action | Description |
|---|---|---|
| 1 | POST /b2b/cards/oct | Tokenize card in PCI environment |
| 2 | POST /api/v2/recipients | Create recipient with card token |
| 3 | POST /api/v1/cards/transfer/estimate | Get transfer quote |
| 4 | POST /api/v1/cards/transfer | Execute transfer |
| 5 | Webhook | Receive completion notification |
Updated 8 days ago
