Card Payouts

Card Payouts

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

post
/identities

- Sandbox server
https://finix.sandbox-payments-api.com/identities

cURL

curl -i -X POST \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  https://finix.sandbox-payments-api.com/identities \
  -H 'Content-Type: application/json' \
  -H 'Finix-Version: 2022-02-01' \
  -d '{
    "entity": {
      "first_name": "John",
      "last_name": "Jeremy",
      "personal_address": {
        "city": "Springfield",
        "country": "USA",
        "line1": "789 Oak Drive",
        "line2": null,
        "postal_code": "62704",
        "region": "IL"
      }
    },
    "identity_roles": [\
      "RECIPIENT"\
    ],
    "type": "PERSONAL"
  }'

Recipient (Personal)

{
  "id": "IDdRDX7H6hNcm4HexJBeZVUV",
  "created_at": "2024-08-08T09:36:10.26Z",
  "updated_at": "2024-08-08T09:36:10.26Z",
  "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": "Jeremy",
    "max_transaction_amount": 0,
    "mcc": null,
    "ownership_type": null,
    "personal_address": {
      "line1": "789 Oak Drive",
      "line2": null,
      "city": "Springfield",
      "region": "IL",
      "postal_code": "62704",
      "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/IDdRDX7H6hNcm4HexJBeZVUV"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/verifications"
    },
    "merchants": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/merchants"
    },
    "settlements": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/settlements"
    },
    "authorizations": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/authorizations"
    },
    "transfers": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/transfers"
    },
    "payment_instruments": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/payment_instruments"
    },
    "associated_identities": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/associated_identities"
    },
    "disputes": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDdRDX7H6hNcm4HexJBeZVUV/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.

post
/payment_instruments

- Sandbox server
https://finix.sandbox-payments-api.com/payment_instruments

cURL

curl -i -X POST \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  https://finix.sandbox-payments-api.com/payment_instruments \
  -H 'Content-Type: application/json' \
  -H 'Finix-Version: 2022-02-01' \
  -d '{
    "address": {
      "city": "San Francisco",
      "country": "USA",
      "line1": "900 Metro Center Blv",
      "postal_code": "94404",
      "region": "CA"
    },
    "expiration_month": 12,
    "expiration_year": 2029,
    "identity": "IDmj1yA97RS4rMjiQgvK3Vio",
    "name": "John Jeremy",
    "number": "5200828282828210",
    "security_code": "022",
    "type": "PAYMENT_CARD"
  }'

Payment Instrument - Card

{
  "id": "PI6F5kkcCB3dtGhFy1t8Aua5",
  "created_at": "2024-11-15T09:42:33.42Z",
  "updated_at": "2024-11-15T09:42:33.42Z",
  "account_updater_enabled": false,
  "application": "APgPDQrLD52TYvqazjHJJchM",
  "created_via": "API",
  "currency": "USD",
  "disabled_code": null,
  "disabled_message": null,
  "enabled": true,
  "fingerprint": "FPRiCenDk2SoRng7WjQTr7RJY",
  "identity": "IDgWxBhfGYLLdkhxx2ddYf9K",
  "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": "8210",
  "name": "John Jeremy",
  "network_token_enabled": false,
  "network_token_state": "NOT_ENABLED",
  "security_code_verification": "UNKNOWN",
  "tags": {},
  "third_party": null,
  "third_party_token": null,
  "type": "PAYMENT_CARD",
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI6F5kkcCB3dtGhFy1t8Aua5"
    },
    "authorizations": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI6F5kkcCB3dtGhFy1t8Aua5/authorizations"
    },
    "transfers": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI6F5kkcCB3dtGhFy1t8Aua5/transfers"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI6F5kkcCB3dtGhFy1t8Aua5/verifications"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
    },
    "identity": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDgWxBhfGYLLdkhxx2ddYf9K"
    },
    "updates": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI6F5kkcCB3dtGhFy1t8Aua5/updates"
    }
  }
}

Step 3: Verify the Payment Instrument

After associating a payment instrument with a recipient, you must verify the card's eligibility for push-to-card by submitting the following request. The resulting Verification resource provides general attributes and specific card details, including card type and issuer information.

post
/payment_instruments/{payment_instrument_id_verify}/verifications

- Sandbox server
https://finix.sandbox-payments-api.com/payment_instruments/{payment_instrument_id_verify}/verifications

cURL

curl -i -X POST \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  https://finix.sandbox-payments-api.com/payment_instruments/PIn8as75qLQFqQ7G4NdBUk58/verifications \
  -H 'Content-Type: application/json' \
  -d '{
    "processor": "DUMMY_V1"
  }'

Card is eligible for push-to-card

{
  "id": "VI9cSUm3SDaLKtuL92Z34rK9",
  "created_at": "2025-11-07T20:36:16.90Z",
  "updated_at": "2025-11-07T20:36:16.92Z",
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "identity": null,
  "merchant": null,
  "merchant_identity": null,
  "messages": [],
  "outcome_summary": null,
  "outcomes": null,
  "payment_instrument": "PIn8as75qLQFqQ7G4NdBUk58",
  "payment_instrument_verification_details": {
    "push_to_card_domestic": null,
    "push_to_card_cross_border": null,
    "card_type": null,
    "billing_currency": null,
    "issuer_country": "UNKNOWN",
    "name_verification_results": {
      "first_name_verification": "UNKNOWN",
      "last_name_verification": "UNKNOWN",
      "middle_name_verification": "UNKNOWN",
      "name_verification": "UNKNOWN"
    }
  },
  "processor": "DUMMY_V1",
  "raw": null,
  "state": "PENDING",
  "tags": {
    "card_name": "Business_Card"
  },
  "trace_id": "63eefc66-81a3-4f24-a09d-bb7650e23943",
  "type": "PAYMENT_INSTRUMENT",
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/verifications/VI9cSUm3SDaLKtuL92Z34rK9"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    },
    "payment_instrument": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIn8as75qLQFqQ7G4NdBUk58"
    }
  }
}

Payment Instrument Verification Result Codes

Card Type (card_type)

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

CODE Description
CREDIT Credit or Charge Card
DEBIT Debit or Deferred Debit Card
HSA_FSA HSA or FSA Card
RELOADABLE_PREPAID Reloadable Prepaid Card
UNRELOADABLE_PREPAID Unreloadable Prepaid Card
UNKNOWN Unknown

Pull From Card Cross Border (pull_from_card_cross_border)

This field indicates whether pull-from-card functionality is supported cross-border for this instrument.

CODE Description
FAST_FUNDS Indicates fast fund movement is supported for this instrument
NON_FAST_FUNDS Indicates movement is supported for this instrument
NOT_SUPPORTED Indicates this instrument is not supported
UNKNOWN Unexpected verification result

Pull From Card Domestic (pull_from_card_domestic)

This field indicates whether pull-from-card functionality is supported domestically for this instrument.

Push to Card Domestic (push_to_card_domestic)

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

Push to Card Cross Border (push_to_card_cross_border)

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

Raw Message Response Arguments

Address Verification Results (address_verification_results)

Letter Description
D, F, M, Y Address verified
A, B, C, G, I, N, P, R, S, U, W Address not verified
Z Postal/ZIP match, street addresses do not match or street address not included in request

Card Verification 2 Results (cvv2_result_code)

Letter Description
M CVV and expiration verified
N, P, S Either CVV or expiration date is incorrect
U Issuer 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.

Letter Description
C Credit
D Debit
H Charge Card
P Prepaid
R Deferred 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.

Letter Description
B Fast Funds eligible for all transactions
D Fast Funds eligible for only domestic transactions
N Not eligible for Fast Funds

Push Funds Indicator (push_funds_block_indicator)

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

Letter Description
A, B, C Accepts push-to-card payments
N Does 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.

Letter Description
Y Blocked for online gambling payouts
N Not blocked for online gambling payouts

Card Product ID (card_product_id)

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

Letter Description
A Visa Traditional
AX American Express
B Visa Traditional Rewards
C Visa Signature
D Visa Signature Preferred
DI Discover
DN Diners
E Proprietary ATM
F Visa Classic
G Visa Business
G1 Visa Signature Business
G2 Visa Business Check Card
G3 Visa Business Enhanced
G4 Visa Infinite Business
G5 Visa Business Rewards
I Visa Infinite
I1 Visa Infinite Privilege
I2 Visa UHNW
J3 Visa Healthcare
JC JCB
K Visa Corporate T&E
K1 Visa Government Corporate T&E
L Visa Electron
M MasterCard
N Visa Platinum
N1 Visa Rewards
N2 Visa Select
P Visa Gold
Q Private Label
Q1 Private Label Prepaid
Q2 Private Label Basic
Q3 Private Label Standard
Q4 Private Label Enhanced
Q5 Private Label Specialized
Q6 Private Label Premium
R Proprietary
S Visa Purchasing
S1 Visa Purchasing with Fleet
S2 Visa Government Purchasing
S3 Visa Government Purchasing with Fleet
S4 Visa Commercial Agriculture
S5 Visa Commercial Transport
S6 Visa Commercial Marketplace
U Visa Travel Money
V Visa V PAY

Product Sub-Type (card_product_subtype)

Description of product subtype.

Letter Description
AC Agriculture Maintenance Account
AE Agriculture Debit Account/Electron
AG Agriculture
AI Agriculture Investment Loan
CG Brazil Cargo
CS Construction
DS Distribution
HC Healthcare
LP Visa Large Purchase Advantage
MA Visa Mobile Agent
MB Interoperable Mobile Branchless Banking
MG Visa Mobile General
VA Visa Vale - Supermarket
VF Visa Vale - Fuel
VR Visa Vale - Restaurant

Card Sub-Type (card_subtype_code)

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

Letter Description
N Non-Reloadable
R Reloadable

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.

post
/identities/{identity_id}/merchants

- Sandbox server
https://finix.sandbox-payments-api.com/identities/{identity_id}/merchants

cURL

curl -i -X POST \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  https://finix.sandbox-payments-api.com/identities/IDhC29dXMAkbmr1aBpS91Hpx/merchants \
  -H 'Content-Type: application/json' \
  -H 'Finix-Version: 2022-02-01' \
  -d '{
    "processor": "DUMMY_V1",
    "tags": {
      "key_2": "value_2"
    }
  }'

Merchant

{
  "id": "MUeTBamsYxqr1KSnT4U2x9SP",
  "created_at": "2024-08-16T13:11:36.72Z",
  "updated_at": "2024-08-16T13:11:36.72Z",
  "application": "APgPDQrLD52TYvqazjHJJchM",
  "card_cvv_required": false,
  "card_expiration_date_required": true,
  "card_network_details": null,
  "convenience_charges_enabled": false,
  "country": "USA",
  "creating_transfer_from_report_enabled": true,
  "currencies": [\
    "USD"\
  ],
  "default_partial_authorization_enabled": false,
  "disbursements_ach_pull_enabled": false,
  "disbursements_ach_push_enabled": false,
  "disbursements_card_pull_enabled": false,
  "disbursements_card_push_enabled": false,
  "disbursements_same_day_ach_pull_enabled": false,
  "disbursements_same_day_ach_push_enabled": false,
  "fee_ready_to_settle_upon": "RECONCILIATION",
  "gateway": null,
  "gross_settlement_enabled": false,
  "identity": "ID6ZC4KedcaCwECQcWr7SM4m",
  "instant_payouts_card_push_enabled": false,
  "level_two_level_three_data_enabled": false,
  "loan_repayment": null,
  "mcc": "4900",
  "merchant_name": "Blue Horizon Technologies",
  "merchant_profile": "MP8aC84QAtA69Qhv6BJSyvHr",
  "mid": null,
  "onboarding_state": "PROVISIONING",
  "processing_enabled": false,
  "processor": "DUMMY_V1",
  "processor_details": {},
  "ready_to_settle_upon": "RECONCILIATION",
  "ready_to_settle_upon_delay_alignment": "NONE",
  "rent_surcharges_enabled": false,
  "settlement_enabled": false,
  "settlement_funding_identifier": "UNSET",
  "surcharges_enabled": false,
  "tags": {
    "key_2": "value_2"
  },
  "unreferenced_refund_manual_entry_enabled": false,
  "verification": "VI7jopNSiaVMXWKkhxt6dJm7",
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/merchants/MUeTBamsYxqr1KSnT4U2x9SP"
    },
    "identity": {
      "href": "https://finix.sandbox-payments-api.com/identities/ID6ZC4KedcaCwECQcWr7SM4m"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/merchants/MUeTBamsYxqr1KSnT4U2x9SP/verifications"
    },
    "merchant_profile": {
      "href": "https://finix.sandbox-payments-api.com/merchant_profiles/MP8aC84QAtA69Qhv6BJSyvHr"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
    },
    "verification": {
      "href": "https://finix.sandbox-payments-api.com/verifications/VI7jopNSiaVMXWKkhxt6dJm7"
    }
  }
}

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:

The recipient of the card payout must be:

post
/transfers

- Sandbox server
https://finix.sandbox-payments-api.com/transfers

cURL

curl -i -X POST \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  https://finix.sandbox-payments-api.com/transfers \
  -H 'Content-Type: application/json' \
  -H 'Finix-Version: 2022-02-01' \
  -d '{
    "amount": 15000,
    "currency": "USD",
    "destination": "PIveyqg2bVkKo6SHsstxBSDc",
    "funds_flow_type": "GENERAL_PAYOUT",
    "operation_key": "PUSH_TO_CARD"
  }'

Was this helpful?