Making a card-to-card transfer
How to make card-to-card transfers.
To execute an internal transfer, use the POST /transfers
operation and provide the body parameters as shown in the table below:
Parameter | Type | Description |
---|---|---|
origination_account_id required | string | Bond account UUID (36 characters) for the originating account, for example 6f0e7dcb-6073-42df-bf02-ce71bd5fac3b .card-to-card use the card_account_id |
account_id required | string | Bond account UUID (36 characters) for the transfer destination account, for example 6f0e7dcb-6073-42df-bf02-ce71bd5fac3b .card-to-card use the card_account_id |
type required | string | The type of transfer being initiated. Either ach or card_to_card |
amount required | string | Transfer amount as a decimal string with two digits of precision, for example 85.50 .Currently only USD is supported. |
An example of a request to transfer $10.00 internally is shown below.
curl --request POST \
--url https://sandbox.bond.tech/api/v0/transfers \
--header 'Accept: application/json' \
--header 'Authorization: Z5EJLaFRxcFVuYmxRew9CKWZfz/WOovhMiMfXSOWpcX3atPmnfj8IvuutnpqJvgm' \
--header 'Content-Type: application/json' \
--header 'Identity: 4bc611ab-7dfb-43f8-950a-eac7a4f6a05f' \
--data '
{
"amount": "175.00",
"origination_account_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
"account_id": "225641a5-f6e4-4ae1-b5e0-326e6b98842e"
}
'
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://sandbox.bond.tech/api/v0/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Content-Type"] = 'application/json'
request["Authorization"] = 'YOUR-AUTHORIZATION'
request.body = "{\"type\":\"card-to-card\",\"amount\":\"175.00\",
\"origination_account_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",
\"account_id\":\"225641a5-f6e4-4ae1-b5e0-326e6b98842e\"}"
response = http.request(request)
puts response.read_body
const options = {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'YOUR-AUTHORIZATION'
},
body: JSON.stringify({type: 'card-to-card',
origination_account_id: "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
account_id: "225641a5-f6e4-4ae1-b5e0-326e6b98842e",
amount: '175.00'})
};
fetch('https://sandbox.bond.tech/api/v0/transfers', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import requests
url = "https://sandbox.bond.tech/api/v0/transfers"
payload = {
"type": "card-to-card",
"origination_account_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
"account_id": "225641a5-f6e4-4ae1-b5e0-326e6b98842e",
"amount": "175.00"
}
headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "YOUR-AUTHORIZATION"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
var client = new RestClient("https://sandbox.bond.tech/api/v0/transfers");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "YOUR-AUTHORIZATION");
request.AddParameter("application/json", "{\"type\":\"card-to-card\",\"amount\":\"175.00\",\"origination_account_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"account_id\":\"225641a5-f6e4-4ae1-b5e0-326e6b98842e\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"type\":\"card-to-card\",\"amount\":\"175.00\",\"origination_account_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"account_id\":\"225641a5-f6e4-4ae1-b5e0-326e6b98842e\"}");
Request request = new Request.Builder()
.url("https://sandbox.bond.tech/api/v0/transfers")
.post(body)
.addHeader("Accept", "application/json")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "YOUR-AUTHORIZATION")
.build();
Response response = client.newCall(request).execute();
The response shown below includes the unique transfer_id
representing the transfer. Note that the transfer amount
is expressed as a decimal string in cents.
{
"date_created": "2020-10-09T17:14:09.686688",
"transfer_id": "4ead6cdc-77eb-45fa-9959-3f166385a60a",
"origination_account_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
"account_id": "225641a5-f6e4-4ae1-b5e0-326e6b98842e",
"type": "card-to-card",
"status": "pending",
"failure_reason": null,
"amount_in_cents": "17500",
"iso_currency_code": "USD"
}
A successful request results in a completed
status. The failure_reason
field in the response payload will indicate a failure reasons in the event the transfer is not successfully completed.
Note
Card-to-card transfers are instantaneous so they cannot be cancelled, modified, or reversed after successful creation.
For details related to ACH transfers, see ACH transfers.
For a complete specification and interactive examples, see Creating a transfer in the Bond API Reference.
Updated over 2 years ago