curl --request POST \
--url https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Primary Bank Account",
"paymentMethod": "ACH",
"details": "<unknown>",
"country": "US",
"currency": "USD"
}
'import requests
url = "https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions"
payload = {
"name": "Primary Bank Account",
"paymentMethod": "ACH",
"details": "<unknown>",
"country": "US",
"currency": "USD"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Primary Bank Account',
paymentMethod: 'ACH',
details: '<unknown>',
country: 'US',
currency: 'USD'
})
};
fetch('https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Primary Bank Account',
'paymentMethod' => 'ACH',
'details' => '<unknown>',
'country' => 'US',
'currency' => 'USD'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions"
payload := strings.NewReader("{\n \"name\": \"Primary Bank Account\",\n \"paymentMethod\": \"ACH\",\n \"details\": \"<unknown>\",\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Primary Bank Account\",\n \"paymentMethod\": \"ACH\",\n \"details\": \"<unknown>\",\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Primary Bank Account\",\n \"paymentMethod\": \"ACH\",\n \"details\": \"<unknown>\",\n \"country\": \"US\",\n \"currency\": \"USD\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"identityId": "<string>",
"name": "<string>",
"paymentMethod": "ACH",
"currency": "USD",
"country": "US",
"deleted": false,
"createdAt": "2023-11-07T05:31:56Z",
"details": {
"bankName": "Chase",
"accountHolderName": "John Doe",
"bankAccountNumberLast4": "6789",
"bankRoutingNumber": "021000021",
"bankAccountType": "Checking",
"recipientRelationship": "first party",
"address": {
"id": "<string>",
"street1": "<string>",
"street2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"postalCode": "<string>"
},
"bankSlug": "<string>",
"bankCode": "<string>",
"phone": "<string>",
"taxId": "<string>",
"bankAccountNumber": "123456789"
}
}Create a new Payment Instruction
Create a new Payment Instruction using the data provided in the request body.
curl --request POST \
--url https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Primary Bank Account",
"paymentMethod": "ACH",
"details": "<unknown>",
"country": "US",
"currency": "USD"
}
'import requests
url = "https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions"
payload = {
"name": "Primary Bank Account",
"paymentMethod": "ACH",
"details": "<unknown>",
"country": "US",
"currency": "USD"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Primary Bank Account',
paymentMethod: 'ACH',
details: '<unknown>',
country: 'US',
currency: 'USD'
})
};
fetch('https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Primary Bank Account',
'paymentMethod' => 'ACH',
'details' => '<unknown>',
'country' => 'US',
'currency' => 'USD'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions"
payload := strings.NewReader("{\n \"name\": \"Primary Bank Account\",\n \"paymentMethod\": \"ACH\",\n \"details\": \"<unknown>\",\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Primary Bank Account\",\n \"paymentMethod\": \"ACH\",\n \"details\": \"<unknown>\",\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.borderless.xyz/v1/identities/{identityId}/payment-instructions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Primary Bank Account\",\n \"paymentMethod\": \"ACH\",\n \"details\": \"<unknown>\",\n \"country\": \"US\",\n \"currency\": \"USD\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"identityId": "<string>",
"name": "<string>",
"paymentMethod": "ACH",
"currency": "USD",
"country": "US",
"deleted": false,
"createdAt": "2023-11-07T05:31:56Z",
"details": {
"bankName": "Chase",
"accountHolderName": "John Doe",
"bankAccountNumberLast4": "6789",
"bankRoutingNumber": "021000021",
"bankAccountType": "Checking",
"recipientRelationship": "first party",
"address": {
"id": "<string>",
"street1": "<string>",
"street2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"postalCode": "<string>"
},
"bankSlug": "<string>",
"bankCode": "<string>",
"phone": "<string>",
"taxId": "<string>",
"bankAccountNumber": "123456789"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
A unique identifier for a payment instruction, allowing to distinguish it from other accounts.
1 - 255"Primary Bank Account"
The method used to execute the payment instructions. Learn more at Payment Instructions Guide.
ACH, Wire, Sepa, Swift, Card, MobileMoney, PIX, TED, PSE, SPEI, COELSA, Transfers30, SPAV, TEF, CCE, SPI, LBTR, SINPE, Transfer365, NIP, GhIPSS, BankTransfer, EFT, RTP, BECS, FPS, IMPS_FIRC, Breb, NPSS, MADA, ZAHAV, IBFT, SIC, Alipay, Tips, Napas, BiFast, FastSg, Instapay, Ipp, Giro, Elixir, FastRtp, TransFond, Nics, Cnaps, UnionPay, UPI, Onchain "ACH"
The country code in ISO-3166-2 format where the payment instructions are applied. See ISO-3166-2 documentation. Not applicable when paymentMethod is Onchain.
AF, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, CV, KH, CM, CA, KY, CF, TD, CL, CN, CX, CC, CO, KM, CD, CG, CK, CR, HR, CU, CW, CY, CZ, CI, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, MK, RO, RU, RW, RE, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, UM, US, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW, AX, ZZ "US"
The fiat currency for the payment instructions. Learn more about supported currencies at Currency Guide. Not applicable when paymentMethod is Onchain — the token is set in details.asset instead.
USD, EUR, BRL, ARS, MXN, COP, CLP, PEN, PYG, DOP, UYU, BOB, CRC, GTQ, BWP, CDF, GHS, KES, MWK, NGN, RWF, ZAR, TZS, UGX, ZMW, XOF, XAF, AUD, BDT, CAD, INR, JPY, NPR, PKR, PHP, SGD, GBP, CNY, HKD, CNH, IDR, MYR, KRW, LKR, THB, TRY, VND, CZK, HUF, DKK, NOK, PLN, RON, RSD, SEK, CHF, AED, SAR, QAR, ILS, EGP, JOD, HNL, JMD, NZD, DZD, GMD, GNF, HTG, MAD, TND "USD"
Response
Successfully created Payment Instruction data.
ACH, Wire, Sepa, Swift, Card, MobileMoney, PIX, TED, PSE, SPEI, COELSA, Transfers30, SPAV, TEF, CCE, SPI, LBTR, SINPE, Transfer365, NIP, GhIPSS, BankTransfer, EFT, RTP, BECS, FPS, IMPS_FIRC, Breb, NPSS, MADA, ZAHAV, IBFT, SIC, Alipay, Tips, Napas, BiFast, FastSg, Instapay, Ipp, Giro, Elixir, FastRtp, TransFond, Nics, Cnaps, UnionPay, UPI, Onchain "USD"
AF, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, CV, KH, CM, CA, KY, CF, TD, CL, CN, CX, CC, CO, KM, CD, CG, CK, CR, HR, CU, CW, CY, CZ, CI, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, MK, RO, RU, RW, RE, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, UM, US, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW, AX, ZZ "US"
- US Details (ACH and Wire)
- Iban Bank Details
- Bank Details
- Identifier (PIX)
- Bre-B Key (Colombia)
- SEPA (Europe)
- Swift Details
- Mobile Money (Africa)
- UK FPS (Sort Code + IBAN)
- Onchain (blockchain address)
Show child attributes
Show child attributes
Was this page helpful?