Skip to main content
Card transfers move money in both directions between a user’s card and their own wallet:
  • Card to account (card_to_account): pull money from the user’s card into their wallet.
  • Account to card (account_to_card): push money from the user’s wallet to their card.
Card transfers are available in the Sandbox environment only. In production these endpoints answer 403 with code sandbox_only.

How it works

1

Enable the directions you need

Call Enable a Card Transfer Direction once per direction, with product set to card_to_account or account_to_card. In sandbox the request is approved at once. Check both directions with Card Transfer Direction Status.
2

Add the user's card

Call Add a Card with the user’s user_id and card details. The response carries the card_id. The card starts as pending_approval and can already be used: Finogate approves it together with its first transfer. Read cards back with Get a Card and List Cards.
3

Request a payment payload

Call Request a Payment Payload with account as the user’s wallet. Use card → account for money in and account → card for money out. The response carries a reference and the fee.
4

Create the payment

Call Create a Payment from a Request with the reference, the user_id, the card_id and the user’s wallet_id. Both the card and the wallet must belong to that user.
5

Track it to settlement

The payment waits as pending_review until Finogate approves it, then moves to processing and settles on its own. Read it with Get Payment, or follow the webhooks.

Example: card to account

1. Request the payload
POST /v1/platform/payments/request-payload
2. Create the payment
POST /v1/platform/payments/create-transaction
For account to card, swap the types: "source_type": "account" and "destination_type": "card". The create-transaction body is the same.

Webhooks

Testing in sandbox

Common errors