# 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](mailto:support@finix.com). ## Step 1: Create a Recipient Identity The first step for making a payout is creating a [`RECIPIENT` Identity](/api/identities/createidentity) 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 Personal Recipient ```shell 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" }' ``` ```json 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" } } } ``` Business Recipient ```shell Create Business 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" }, "business_name": "ABC Corporation", "doing_business_as": "ABC Corp", "business_address": { "line1": "123 Main Street", "line2": "Suite 101", "city": "San Francisco", "region": "CA", "postal_code": "94114", "country": "USA" } }, "identity_roles": ["RECIPIENT"], "type": "BUSINESS" }' ``` ```json Business Recipient { "id": "ID6a5FiSiDxTwYJ5n8RJdRb5", "created_at": "2024-07-31T18:28:35.84Z", "updated_at": "2024-07-31T18:28:35.84Z", "application": "APgPDQrLD52TYvqazjHJJchM", "entity": { "ach_max_transaction_amount": 0, "amex_mid": null, "annual_card_volume": 0, "business_address": { "line1": "123 Main Street", "line2": "Suite 101", "city": "San Francisco", "region": "CA", "postal_code": "94114", "country": "USA" }, "business_name": "ABC Corporation", "business_phone": null, "business_tax_id_provided": false, "business_type": null, "default_statement_descriptor": null, "discover_mid": null, "dob": null, "doing_business_as": "ABC Corp", "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": "BUSINESS", "_links": { "self": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5" }, "verifications": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/verifications" }, "merchants": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/merchants" }, "settlements": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/settlements" }, "authorizations": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/authorizations" }, "transfers": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/transfers" }, "payment_instruments": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/payment_instruments" }, "associated_identities": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/associated_identities" }, "disputes": { "href": "https://finix.sandbox-payments-api.com/identities/ID6a5FiSiDxTwYJ5n8RJdRb5/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](/guides/online-payments/payment-tokenization/tokenization-forms) or [Mobile Tokenization](/guides/online-payments/payment-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](/guides/getting-started/support-at-finix/). 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](mailto:support@finix.com). ```shell 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" }' ``` ```json 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.). ```shell 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" }' ``` ```json 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. | `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 | #### 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. | `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 | #### 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. | `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 | details summary 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. ```shell 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" }' ``` ```json 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 card as the `destination`. - In `amount`, set the funds to send in cents. In the below example, $150.00 is getting paid out. The recipient of the card payout must be: - an `Identity` whose `identity_roles` includes `RECIPIENT` - an approved `Merchant` Example API Definition