EFT PAD Requirements
Canadian-based sellers must present a clear authorization to buyers. Before debiting a buyer's bank account, sellers must first collect authorization from the buyer defining a specific payment schedule or terms. To learn more, read our EFT Pad Requirements guide.
EFT Payments
To accept an EFT Payment, you must collect the following bank account information.
Field | Description |
---|---|
Account Typeaccount_type |
Bank account type |
Account Ownername |
Bank account owner name |
Account Numberaccount_number |
Bank account number |
Routing Numberbank_code |
Bank account routing number/bank code |
Institution Numberinstitution_number |
Bank account institution number |
Transit Numbertransit_number |
Bank account transit number |
Step 1: Create an Identity for your Buyer
To process an EFT payment, first create an Identity
to represent the buyer. An Identity
resource helps manage payments, payment methods, bank accounts, transaction history, and more.
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": {
"phone": "7145677613",
"first_name": "Collen",
"last_name": "Wade",
"email": "therock@gmail.com"
}
}'
{
"id" : "IDo6hT8RukoNfFDBx8KmzsyP",
"created_at" : "2024-04-17T00:21:13.52Z",
"updated_at" : "2024-04-17T00:21:13.52Z",
"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" : "therock@gmail.com",
"first_name" : "Collen",
"has_accepted_credit_cards_previously" : false,
"incorporation_date" : null,
"last_name" : "Wade",
"max_transaction_amount" : 0,
"mcc" : null,
"ownership_type" : null,
"personal_address" : {
"line1" : null,
"line2" : null,
"city" : null,
"region" : null,
"postal_code" : null,
"country" : null
},
"phone" : "7145677613",
"principal_percentage_ownership" : null,
"short_business_name" : null,
"tax_authority" : null,
"tax_id_provided" : false,
"title" : null,
"url" : null
},
"identity_roles" : [ ],
"tags" : { },
"_links" : {
"self" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP"
},
"verifications" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/verifications"
},
"merchants" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/merchants"
},
"settlements" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/settlements"
},
"authorizations" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/authorizations"
},
"transfers" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/transfers"
},
"payment_instruments" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/payment_instruments"
},
"associated_identities" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/associated_identities"
},
"disputes" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP/disputes"
},
"application" : {
"href" : "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
}
}
}
Step 2. Create a Bank Account
Create a CAD Bank Account using Plaid
We recommend you use Plaid to create bank accounts for your buyers. Learn how to create Bank Accounts with Plaid by reading our guide.
Create a CAD Bank Account via API
attention
Please note that creating Payment Instruments
and passing payment details (account number, card number, etc.) directly via the API should only be done for testing purposes. You must use the Tokenization Forms or Mobile Tokenization to accept payment details, and remain out of PCI scope.
A Payment Instrument
resource represents the payment details of a credit card or bank account. A Payment Instrument is associated with a single Identity
.
curl "https://finix.sandbox-payments-api.com/payment_instruments" \
-H "Content-Type: application/json" \
-H "Finix-Version: 2022-02-01" \
-u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
-d '{
"account_number": "123123123",
"account_type": "PERSONAL_CHECKING",
"country": "CAN",
"currency": "CAD",
"identity": "IDo6hT8RukoNfFDBx8KmzsyP",
"institution_number": "123",
"name": "John Smith",
"transit_number": "12345",
"type": "BANK_ACCOUNT"
}'
Response:
{
"id" : "PIk5jFRUwkvE1WHBRCgrBzRs",
"created_at" : "2024-04-17T00:26:19.56Z",
"updated_at" : "2024-04-17T00:26:19.56Z",
"application" : "APgPDQrLD52TYvqazjHJJchM",
"created_via" : "API",
"currency" : "CAD",
"disabled_code" : null,
"disabled_message" : null,
"enabled" : true,
"fingerprint" : "FPR8RAHfXm1BMYYVJyHWHhw4J",
"identity" : "IDo6hT8RukoNfFDBx8KmzsyP",
"instrument_type" : "BANK_ACCOUNT",
"account_type" : "PERSONAL_CHECKING",
"bank_account_validation_check" : "NOT_ATTEMPTED",
"bank_code" : null,
"country" : "CAN",
"institution_number" : "123",
"masked_account_number" : "XXXXX3123",
"name" : "John Smith",
"transit_number" : "12345",
"tags" : { },
"third_party" : null,
"third_party_token" : null,
"type" : "BANK_ACCOUNT",
"_links" : {
"self" : {
"href" : "https://finix.sandbox-payments-api.com/payment_instruments/PIk5jFRUwkvE1WHBRCgrBzRs"
},
"authorizations" : {
"href" : "https://finix.sandbox-payments-api.com/payment_instruments/PIk5jFRUwkvE1WHBRCgrBzRs/authorizations"
},
"transfers" : {
"href" : "https://finix.sandbox-payments-api.com/payment_instruments/PIk5jFRUwkvE1WHBRCgrBzRs/transfers"
},
"verifications" : {
"href" : "https://finix.sandbox-payments-api.com/payment_instruments/PIk5jFRUwkvE1WHBRCgrBzRs/verifications"
},
"application" : {
"href" : "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
},
"identity" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDo6hT8RukoNfFDBx8KmzsyP"
}
}
}
Step 3. Create a CAD Bank Transfer
Once you have a CAD bank account, you can create an EFT Payment.
curl "https://finix.sandbox-payments-api.com/transfers" \
-H "Content-Type: application/json" \
-H "Finix-Version: 2022-02-01" \
-u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
-d '{
"amount": 350,
"currency": "CAD",
"merchant": "MU2ekLKCiV8M5waZ3Ayg7ic6",
"source": "PIk5jFRUwkvE1WHBRCgrBzRs"
}'
Response:
{
"id" : "TRg8Xu7rvD7JT9NmGTHF4eFe",
"created_at" : "2024-04-17T00:28:57.41Z",
"updated_at" : "2024-04-17T00:28:58.22Z",
"additional_buyer_charges" : null,
"additional_healthcare_data" : null,
"additional_purchase_data" : null,
"address_verification" : null,
"amount" : 350,
"amount_requested" : 350,
"application" : "APgPDQrLD52TYvqazjHJJchM",
"currency" : "CAD",
"destination" : null,
"externally_funded" : "UNKNOWN",
"failure_code" : null,
"failure_message" : null,
"fee" : 0,
"idempotency_id" : null,
"merchant" : "MU2ekLKCiV8M5waZ3Ayg7ic6",
"merchant_identity" : "IDbuyRPdoEBfEsKcuKEPgkqP",
"messages" : [ ],
"parent_transfer" : null,
"parent_transfer_trace_id" : null,
"raw" : null,
"ready_to_settle_at" : null,
"receipt_last_printed_at" : null,
"security_code_verification" : null,
"source" : "PIk5jFRUwkvE1WHBRCgrBzRs",
"split_transfers" : [ ],
"state" : "PENDING",
"statement_descriptor" : "FNX*FINIX FLOWERS",
"subtype" : "API",
"tags" : { },
"trace_id" : "f098d089-1bf7-45c9-96ca-bdd72e2c3fd5",
"type" : "DEBIT",
"_links" : {
"application" : {
"href" : "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
},
"self" : {
"href" : "https://finix.sandbox-payments-api.com/transfers/TRg8Xu7rvD7JT9NmGTHF4eFe"
},
"merchant_identity" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDbuyRPdoEBfEsKcuKEPgkqP"
},
"payment_instruments" : {
"href" : "https://finix.sandbox-payments-api.com/transfers/TRg8Xu7rvD7JT9NmGTHF4eFe/payment_instruments"
},
"reversals" : {
"href" : "https://finix.sandbox-payments-api.com/transfers/TRg8Xu7rvD7JT9NmGTHF4eFe/reversals"
},
"fees" : {
"href" : "https://finix.sandbox-payments-api.com/transfers/TRg8Xu7rvD7JT9NmGTHF4eFe/fees"
},
"disputes" : {
"href" : "https://finix.sandbox-payments-api.com/transfers/TRg8Xu7rvD7JT9NmGTHF4eFe/disputes"
},
"source" : {
"href" : "https://finix.sandbox-payments-api.com/payment_instruments/PIk5jFRUwkvE1WHBRCgrBzRs"
},
"fee_profile" : {
"href" : "https://finix.sandbox-payments-api.com/fee_profiles/FPvCQUcnsueN3Bc3zR1qCBG8"
}
}
}