Card Payouts

Learn how to send money to recipients' credit or debit cards.


Send funds to your recipient's debit or credit card using Payouts. Please note card payouts are only available to Visa and Mastercard cards.

If you have any questions about creating payouts, reach out to your Finix Point of Contact or Finix Support.


Step 1: Create a Recipient Identity

The first step for making a payout is creating a RECIPIENT Identity to represent whom you'll send funds to. The Identity resource helps manage bank accounts, cards, payout history, and the details of your customers. You can create either PERSONAL or BUSINESS Recipients.

Required Data

Required Optional Invalid
Field type: PERSONAL type: BUSINESS
Type
type
First Name
first_name
Last Name
last_name
Personal Address
personal_address
Business Name
business_name
Doing Business As
doing_business_as
Business Address
business_address
Business Phone
business_phone
Personal Email
email
Personal Phone
phone

API Request

Create Personal Recipient
curl https://finix.sandbox-payments-api.com/identities \
    -H "Content-Type: application/json" \
    -H 'Finix-Version: 2022-02-01' \
    -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
    -d '{
        "entity": {
            "first_name": "John",
            "last_name": "Doe",
            "personal_address": {
                "line1": "741 Douglass St",
                "line2": "Apartment 7",
                "city": "San Mateo",
                "region": "CA",
                "postal_code": "94114",
                "country": "USA"
            }
        },
        "identity_roles": ["RECIPIENT"],
        "type": "PERSONAL"
    }'
Personal Recipient
{
    "id": "ID2dgoqygWvVthU9kQBKz7t4",
    "created_at": "2024-07-31T18:28:05.92Z",
    "updated_at": "2024-07-31T18:28:05.92Z",
    "application": "APgPDQrLD52TYvqazjHJJchM",
    "entity": {
        "ach_max_transaction_amount": 0,
        "amex_mid": null,
        "annual_card_volume": 0,
        "business_address": null,
        "business_name": null,
        "business_phone": null,
        "business_tax_id_provided": false,
        "business_type": null,
        "default_statement_descriptor": null,
        "discover_mid": null,
        "dob": null,
        "doing_business_as": null,
        "email": null,
        "first_name": "John",
        "has_accepted_credit_cards_previously": false,
        "incorporation_date": null,
        "last_name": "Doe",
        "max_transaction_amount": 0,
        "mcc": null,
        "ownership_type": null,
        "personal_address": {
            "line1": "741 Douglass St",
            "line2": "Apartment 7",
            "city": "San Mateo",
            "region": "CA",
            "postal_code": "94114",
            "country": "USA"
        },
        "phone": null,
        "principal_percentage_ownership": null,
        "short_business_name": null,
        "tax_authority": null,
        "tax_id_provided": false,
        "title": null,
        "url": null
    },
    "identity_roles": ["RECIPIENT"],
    "tags": {},
    "type": "PERSONAL",
    "_links": {
        "self": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4"
        },
        "verifications": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/verifications"
        },
        "merchants": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/merchants"
        },
        "settlements": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/settlements"
        },
        "authorizations": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/authorizations"
        },
        "transfers": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/transfers"
        },
        "payment_instruments": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/payment_instruments"
        },
        "associated_identities": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/associated_identities"
        },
        "disputes": {
            "href": "https://finix.sandbox-payments-api.com/identities/ID2dgoqygWvVthU9kQBKz7t4/disputes"
        },
        "application": {
            "href": "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
        }
    }
}

Step 2: Add a Payment Instrument for the Recipient

PCI Level 1 Compliance

Creating Payment Instruments and passing payment details (account number, card number, etc.) directly via the API should only be done for testing purposes and by PCI Level 1 compliant entities. If you aren't a Level 1 PCI-compliant entity, you must use our Tokenization Forms or Mobile Tokenization to accept payment details and comply with PCI regulations. If you have any questions, please don't hesitate to reach out to your Finix point of contact or email the Finix Support team.

Now that we've created an Identity for our recipient, we'll need to create a Payment Instrument using the recipient's card details. A Payment Instrument represents the recipient's payment method that will receive funds. When creating Payment Instruments for Payouts, attempt_bank_account_validation_check must be set to true.

If you have any questions about creating Payment Instruments, reach out to your Finix Point of Contact or Finix Support.

Create Card Payment Instrument
curl https://finix.sandbox-payments-api.com/payment_instruments \
    -H "Content-Type: application/json" \
    -H 'Finix-Version: 2022-02-01' \
    -u US9bhCUqoTxo7V6di8ceb3Td:e704591a-1972-4b41-9884-6a67f5d7cdbb \
    -d '{
        "address": {
            "city": "San Francisco",
            "country": "USA",
            "line1": "900 Metro Center Blv",
            "postal_code": "94404",
            "region": "CA"
        },
        "expiration_month": 12,
        "expiration_year": 2029,
        "identity": "IDoFbnXcAmPPU2i4YKu8Mhr4",
        "name": "John Smith",
        "number": "5200820000007201",
        "security_code": "022",
        "tags": {
            "card_name": "Business Card"
        },
        "type": "PAYMENT_CARD"
    }'
Card Payment Instrument
{
    "id": "PIxjVj1SCbcesKGtE71oW9En",
    "created_at": "2023-12-02T01:04:55.68Z",
    "updated_at": "2023-12-02T01:04:55.68Z",
    "application": "AP5Tq3MMxKwHYX7soDncrCQ3",
    "created_via": "API",
    "currency": "USD",
    "disabled_code": null,
    "disabled_message": null,
    "enabled": true,
    "fingerprint": "FPRihepew9PmKPKA1upHe8XXL",
    "identity": "IDoFbnXcAmPPU2i4YKu8Mhr4",
    "instrument_type": "PAYMENT_CARD",
    "address": {
        "line1": "900 Metro Center Blv",
        "line2": null,
        "city": "San Francisco",
        "region": "CA",
        "postal_code": "94404",
        "country": "USA"
    },
    "address_verification": "UNKNOWN",
    "bin": "520082",
    "brand": "MASTERCARD",
    "card_type": "DEBIT",
    "expiration_month": 12,
    "expiration_year": 2029,
    "issuer_country": "NON_USA",
    "last_four": "7201",
    "name": "John Smith",
    "security_code_verification": "UNKNOWN",
    "tags": {
        "card_name": "Business Card"
    },
    "type": "PAYMENT_CARD",
    "_links": {
        "self": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIxjVj1SCbcesKGtE71oW9En"
        },
        "authorizations": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIxjVj1SCbcesKGtE71oW9En/authorizations"
        },
        "transfers": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIxjVj1SCbcesKGtE71oW9En/transfers"
        },
        "verifications": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIxjVj1SCbcesKGtE71oW9En/verifications"
        },
        "application": {
            "href": "https://finix.sandbox-payments-api.com/applications/AP5Tq3MMxKwHYX7soDncrCQ3"
        },
        "identity": {
            "href": "https://finix.sandbox-payments-api.com/identities/IDoFbnXcAmPPU2i4YKu8Mhr4"
        },
        "updates": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIxjVj1SCbcesKGtE71oW9En/updates"
        }
    }
}

Step 3: Verify the Payment Instrument

Now that we've associated a payment instrument with a recipient, we'll need to verify whether or not the card is eligible to receive push-to-card disbursements.

Luckily, you've already done most of the heavy lifting. Just make making the following request to the Verifications endpoint. The Verification resource that gets returned includes a set of general attributes and details about the card in question (e.g. card type, issuer information, etc.).

Verify a Payment Instrument
curl https://finix.sandbox-payments-api.com/payment_instruments/PIxjVj1SCbcesKGtE71oW9En/verifications \
    -H "Content-Type: application/json" \
    -H 'Finix-Version: 2022-02-01' \
    -u US9bhCUqoTxo7V6di8ceb3Td:e704591a-1972-4b41-9884-6a67f5d7cdbb \
    -d '{
      "processor": "DUMMY_V1"
    }'
Payment Instrument Verification
{
    "id": "VIffDtxJe3LWw2CkjYzWpy7y",
    "created_at": "2023-12-02T01:05:49.15Z",
    "updated_at": "2023-12-02T01:05:49.20Z",
    "application": "AP5Tq3MMxKwHYX7soDncrCQ3",
    "identity": null,
    "merchant": null,
    "merchant_identity": null,
    "messages": [],
    "payment_instrument": "PIxjVj1SCbcesKGtE71oW9En",
    "payment_instrument_verification_details": {
        "push_to_card_domestic": null,
        "push_to_card_cross_border": null,
        "card_type": null,
        "billing_currency": null,
        "issuer_country": "UNKNOWN"
    },
    "processor": "DUMMY_V1",
    "raw": null,
    "state": "PENDING",
    "tags": {},
    "trace_id": "96be3a15-d72e-485a-828c-8d0c23f16e64",
    "type": "PAYMENT_INSTRUMENT",
    "_links": {
        "self": {
            "href": "https://finix.sandbox-payments-api.com/verifications/VIffDtxJe3LWw2CkjYzWpy7y"
        },
        "application": {
            "href": "https://finix.sandbox-payments-api.com/applications/AP5Tq3MMxKwHYX7soDncrCQ3"
        },
        "payment_instrument": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIxjVj1SCbcesKGtE71oW9En"
        }
    }
}

Payment Instrument Verification Result Codes

Card Type (card_type)

This code indicates whether the card is credit, debit, or prepaid.

CODEDescription
CREDITCredit or Charge Card
DEBITDebit or Deferred Debit Card
HSA_FSAHSA or FSA Card
RELOADABLE_PREPAIDReloadable Prepaid Card
UNRELOADABLE_PREPAIDUnreloadable Prepaid Card
UNKNOWNUnknown

Push to Card Domestic (push_to_card_domestic)

This field is used to indicate push and pull from card functionality is supported domestically for this instrument.

CODEDescription
FAST_FUNDSIndicates fast fund movement is supported for this instrument
NON_FAST_FUNDSIndicates movement is supported for this instrument
NOT_SUPPORTEDIndicates this instrument is not supported
UNKNOWNUnexpected verification result

Push to Card Cross Border (push_to_card_cross_border)

This field is used to indicate push and pull from card functionality is supported cross border for this instrument.

CODEDescription
FAST_FUNDSIndicates fast fund movement is supported for this instrument
NON_FAST_FUNDSIndicates movement is supported for this instrument
NOT_SUPPORTEDIndicates this instrument is not supported
UNKNOWNUnexpected verification result
Raw Message Response Arguments

Address Verification Results (address_verification_results)

LetterDescription
D, F, M, YAddress verified
A, B, C, G, I, N, P, R, S, U, WAddress not verified
ZPostal/ZIP match, street addresses do not match or street address not included in request

Card Verification 2 Results (cvv2_result_code)

LetterDescription
MCVV and expiration verified
N, P, SEither CVV or expiration date is incorrect
UIssuer does not participate in CVV2 service

Card Type (card_type_code)

This one-character code indicates whether the account is credit, debit, prepaid, deferred debit, or charge.

LetterDescription
CCredit
DDebit
HCharge Card
PPrepaid
RDeferred Debit

Fast Funds Indicator (fast_funds_indicator)

Indicates whether or not the card is Fast Funds eligible (i.e. if the funds will settle in 30 mins or less). If not eligible, typically funds will settle within 2 business days.

LetterDescription
BFast Funds eligible for all transactions
DFast Funds eligible for only domestic transactions
NNot eligible for Fast Funds

Push Funds Indicator (push_funds_block_indicator)

This code indicates if the associated card can receive push-to-card disbursements.

LetterDescription
A, B, CAccepts push-to-card payments
NDoes not accept push-to-card payments

Online Gambling Block Indicator (online_gambing_block_indicator)

Indicates if the card can receive push-payments for online gambling payouts.

LetterDescription
YBlocked for online gambling payouts
NNot blocked for online gambling payouts

Card Product ID (card_product_id)

A combination of card brand, platform, class and scheme.

LetterDescription
AVisa Traditional
AXAmerican Express
BVisa Traditional Rewards
CVisa Signature
DVisa Signature Preferred
DIDiscover
DNDiners
EProprietary ATM
FVisa Classic
GVisa Business
G1Visa Signature Business
G2Visa Business Check Card
G3Visa Business Enhanced
G4Visa Infinite Business
G5Visa Business Rewards
IVisa Infinite
I1Visa Infinite Privilege
I2Visa UHNW
J3Visa Healthcare
JCJCB
KVisa Corporate T&E
K1Visa Government Corporate T&E
LVisa Electron
MMasterCard
NVisa Platinum
N1Visa Rewards
N2Visa Select
PVisa Gold
QPrivate Label
Q1Private Label Prepaid
Q2Private Label Basic
Q3Private Label Standard
Q4Private Label Enhanced
Q5Private Label Specialized
Q6Private Label Premium
RProprietary
SVisa Purchasing
S1Visa Purchasing with Fleet
S2Visa Government Purchasing
S3Visa Government Purchasing with Fleet
S4Visa Commercial Agriculture
S5Visa Commercial Transport
S6Visa Commercial Marketplace
UVisa Travel Money
VVisa V PAY

Product Sub-Type (card_product_subtype)

Description of product subtype.

LetterDescription
ACAgriculture Maintenance Account
AEAgriculture Debit Account/Electron
AGAgriculture
AIAgriculture Investment Loan
CGBrazil Cargo
CSConstruction
DSDistribution
HCHealthcare
LPVisa Large Purchase Advantage
MAVisa Mobile Agent
MBInteroperable Mobile Branchless Banking
MGVisa Mobile General
VAVisa Vale - Supermarket
VFVisa Vale - Fuel
VRVisa Vale - Restaurant

Card Sub-Type (card_subtype_code)

The code for account funding source subtype, such as reloadable and non-reloadable.

LetterDescription
NNon-Reloadable
RReloadable

Step 4: Verify and Onboard the Recipient Account

Now that we've associated a Payment Instrument with our recipient's Identity we're ready to provision a recipient account. This is the last step before you can begin paying out a recipient Identity. Luckily you've already done most of the heavy lifting - make one final POST request, a Merchant resource will get returned.

Create Merchant
curl https://finix.sandbox-payments-api.com/identities/IDh3wzPh9tFjodGvzyy23anK/merchants \
    -H "Content-Type: application/json" \
    -H 'Finix-Version: 2022-02-01' \
    -u USte61SqeNkAZnpfavK3fQNG:bd98703c-d72c-458e-8873-4295f5bac713 \
    -d '{
        "processor": "DUMMY_V1"
    }'
Merchant
{
    "id": "MUiYhqXdeyd4SufJCtzASW9V",
    "created_at": "2023-12-02T01:06:54.57Z",
    "updated_at": "2023-12-02T01:06:54.57Z",
    "application": "AP5Tq3MMxKwHYX7soDncrCQ3",
    "card_cvv_required": false,
    "card_expiration_date_required": true,
    "convenience_charges_enabled": false,
    "country": "USA",
    "creating_transfer_from_report_enabled": false,
    "currencies": ["USD"],
    "default_partial_authorization_enabled": false,
    "disbursements_ach_pull_enabled": false,
    "disbursements_ach_push_enabled": true,
    "disbursements_card_pull_enabled": false,
    "disbursements_card_push_enabled": true,
    "fee_ready_to_settle_upon": "PROCESSOR_WINDOW",
    "gateway": null,
    "gross_settlement_enabled": false,
    "identity": "IDoFbnXcAmPPU2i4YKu8Mhr4",
    "level_two_level_three_data_enabled": false,
    "mcc": null,
    "merchant_name": "John Smith",
    "merchant_profile": "MPobV95YXNLua94jCnpJsvJS",
    "mid": null,
    "onboarding_state": "PROVISIONING",
    "processing_enabled": false,
    "processor": "DUMMY_V1",
    "processor_details": {},
    "ready_to_settle_upon": "PROCESSOR_WINDOW",
    "rent_surcharges_enabled": false,
    "settlement_enabled": false,
    "settlement_funding_identifier": "UNSET",
    "surcharges_enabled": false,
    "tags": {},
    "verification": "VIx3SHyTCWiykSWcEdXaowES",
    "_links": {
        "self": {
            "href": "https://finix.sandbox-payments-api.com/merchants/MUiYhqXdeyd4SufJCtzASW9V"
        },
        "identity": {
            "href": "https://finix.sandbox-payments-api.com/identities/IDoFbnXcAmPPU2i4YKu8Mhr4"
        },
        "verifications": {
            "href": "https://finix.sandbox-payments-api.com/merchants/MUiYhqXdeyd4SufJCtzASW9V/verifications"
        },
        "merchant_profile": {
            "href": "https://finix.sandbox-payments-api.com/merchant_profiles/MPobV95YXNLua94jCnpJsvJS"
        },
        "application": {
            "href": "https://finix.sandbox-payments-api.com/applications/AP5Tq3MMxKwHYX7soDncrCQ3"
        },
        "verification": {
            "href": "https://finix.sandbox-payments-api.com/verifications/VIx3SHyTCWiykSWcEdXaowES"
        }
    }
}

Step 5: Send Payout

Next you'll need to create a Transfer. A Transfer represents any flow of funds either to or from a Payment Instrument. In this case a payout to a debit or credit card.

To create a Transfer:

  • Include the ID of the Payment Instrument of the previously tokenized bank account as the destination.
  • In amount, set the funds to send in cents. In the below example, $151.00 is getting paid out.

Transfers can have two possible states SUCCEEDED and FAILED.

Create Transfer
curl https://finix.sandbox-payments-api.com/transfers \
    -H "Content-Type: application/json" \
    -H 'Finix-Version: 2022-02-01' \
    -u US9bhCUqoTxo7V6di8ceb3Td:e704591a-1972-4b41-9884-6a67f5d7cdbb \
    -d '{
        "amount": 15000,
        "currency": "USD",
        "destination": "PIxjVj1SCbcesKGtE71oW9En",
        "operation_key": "PUSH_TO_CARD",
        "tags": {
            "order_number": "21DFASJSAKAS"
        }
    }'
Transfer
{
    "id": "TRkiwUjvxPneNvatWyqPoDNB",
    "created_at": "2022-10-10T04:11:27.03Z",
    "updated_at": "2022-10-10T04:11:28.69Z",
    "additional_buyer_charges": null,
    "additional_healthcare_data": null,
    "address_verification": null,
    "amount": 1510,
    "amount_requested": 1510,
    "application": "APpJbVTLdEuwGfcxBJvb1qNH",
    "currency": "USD",
    "destination": "PIxjVj1SCbcesKGtE71oW9En",
    "externally_funded": "UNKNOWN",
    "failure_code": null,
    "failure_message": null,
    "fee": 0,
    "idempotency_id": null,
    "merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
    "merchant_identity": "IDqeE5eaMBksiphXMfv3gJZw",
    "messages": [],
    "raw": null,
    "ready_to_settle_at": null,
    "security_code_verification": null,
    "source": null,
    "state": "SUCCEEDED",
    "statement_descriptor": null,
    "subtype": "API",
    "tags": {
        "order_number": "21DFASJSAKAS"
    },
    "trace_id": "228304000167",
    "type": "DEBIT",
    "_links": {
        "application": {
            "href": "https://finix.sandbox-payments-api.com/applications/APpJbVTLdEuwGfcxBJvb1qNH"
        },
        "self": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRkiwUjvxPneNvatWyqPoDNB"
        },
        "merchant_identity": {
            "href": "https://finix.sandbox-payments-api.com/identities/IDqeE5eaMBksiphXMfv3gJZw"
        },
        "payment_instruments": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRkiwUjvxPneNvatWyqPoDNB/payment_instruments"
        },
        "reversals": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRkiwUjvxPneNvatWyqPoDNB/reversals"
        },
        "fees": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRkiwUjvxPneNvatWyqPoDNB/fees"
        },
        "disputes": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRkiwUjvxPneNvatWyqPoDNB/disputes"
        },
        "destination": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIRp4Cu3fG7DFQPdzhGcePL"
        },
        "fee_profile": {
            "href": "https://finix.sandbox-payments-api.com/fee_profiles/FPbDSnEPtaT8Nttxj9NJk7eC"
        }
    }
}