7. Funding a card
How does your customer fund their card and what are the options.
Your customer can transfer funds between Cards and external bank accounts using the methods listed in the table below. Currently, the only currency supported is the U.S. Dollar (USD).
Transfers can be:
- Incoming—into the card from an external bank account, using an ACH payment.
- Outgoing—out of the card to an external bank account, using an ACH payment.
- Internal—from one card to another within the same
program_id
, using peer-to-peer payment.
Funding method | Process | Cost and speed |
---|---|---|
ACH | 1. Customer connects an external bank account and verifies the account with micro-deposits. 2. Once verified, customer can initiate an ACH transfer. | Cheapest. Can take a few days to verify and between 3 and 5 days for the ACH transaction to clear and have funds available. |
Instant ACH | 1. Customer instantly verifies and connects a bank account. 2. Once verified, customer can initiate an ACH transfer. | Cheap. Verification is instant but it still takes between 3 and 5 days for the ACH transaction to clear and have funds available. |
Wire | Customer initiates a wire from the sending institution to the Bond card account. | Moderate pricing. Domestically very quick. |
Peer-to-peer | Move money instantly between cards within your brand's card program. | Practically free. Instant. |
Check | Deposit a check at a supported ATM in the network or by using check deposit on your mobile app. | Moderate pricing. Takes a few days for the check to clear and have funds available. |
Execute ACH and peer-to-peer transfers using the POST /transfers
operation and provide parameters as shown in Loading funds.
Include the transfer amount in USD in the request body. The transfer amount is expressed as a decimal string with a two digit precision. You must explicitly specify the cents value, even if the transaction amount is a "round" figure. For example, set amount
to 1000
if you want to transfer $10.
An example of a request to perform a transfer is shown below.
curl --request POST \
--url https://sandbox.bond.tech/api/v0.1/transfers \
--header 'Accept: application/json' \
--header 'Authorization: YOUR-AUTHENTICATION' \
--header 'Content-Type: application/json' \
--header 'Identity: YOUR-IDENTITY' \
--data '
{
"origination_account_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
"destination_account_id": "225641a5-f6e4-4ae1-b5e0-326e6b98842e",
"description": "PAYROLL",
"amount": 100000
}
'
A successful response displays the transfer_id
as shown in the example below.
{
"date_created": "2020-10-09T17:14:09.686688",
"date_updated": "2020-10-09T17:14:09.686688",
"date_settled": "2020-10-13T17:14:09.686688",
"transfer_id": "4ead6cdc-77eb-45fa-9959-3f166385a60a",
"transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482",
"origination_account_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
"destination_account_id": "225641a5-f6e4-4ae1-b5e0-326e6b98842e",
"description": "PAYROLL",
"amount": 1000
}
For a complete specification and interactive examples, see Creating a transfer in the Bond API Reference.
Updated over 2 years ago