Dash Payments API v3.0.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
The Dash Payments APIs allow users to create payments to carry out transactions. You can also add payees with whom you would carry out these transactions. In addition, users can search, update, and retrieve payments, payee, and country information via the Payment API's different endpoints. Please note that authorization tokens are required to access the Dash Payment APIs. Learn how to generate Authorization tokens here.
Base URLs:
Countries
The Countries resource allows users to get a set of supported countries or retrieve a country based on country code. This resource helps users identify if a required country is available to carry out transactions. The endpoints under this resource are GET/countries
and GET/countries/{country_code}
.
Get Countries
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/countries \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/countries HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/countries',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/countries',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/countries', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/countries', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/countries");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/countries", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /countries
Gets Countries. This endpoint allows users to retrieve a set of all supported countries with related currencies, transfer modes and required regulatory fields
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
max | query | integer | false | Maximum number of Country records to return. The max limit is 500 per request. |
token | query | string | false | A continuation token, required for pagination |
Example responses
200 Response
{
"continuationToken": "string",
"results": [
{
"identifier": "USA",
"name": "United States",
"currencies": [
{
"identifier": "USD",
"name": "United States Dollar",
"canAch": true,
"additionalFields": [
{
"key": "BeneficiaryAccountType",
"validation": "Account Type is invalid. Value should be either Current or Savings.",
"validator": "^(CACC|SVGS)$"
}
]
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Country results containing supported countries | countryResults |
Get Country by ID
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/countries/{country_code} \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/countries/{country_code} HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/countries/{country_code}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/countries/{country_code}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/countries/{country_code}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/countries/{country_code}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/countries/{country_code}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/countries/{country_code}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /countries/{country_code}
Gets a country by an identifier. This endpoint allows users to retrieve a country with details such as currency, transfer modes, and required regulatory fields by an identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
country_code | path | string | true | Country Code as per the ISO specification |
Example responses
200 Response
{
"identifier": "USA",
"name": "United States",
"currencies": [
{
"identifier": "USD",
"name": "United States Dollar",
"canAch": true,
"additionalFields": [
{
"key": "BeneficiaryAccountType",
"validation": "Account Type is invalid. Value should be either Current or Savings.",
"validator": "^(CACC|SVGS)$"
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retrieve country details like name, currency and other regulatory details | country |
Payers
The Payers resource allows users to create a new payer and get a set of payers or a single payer using an ID. You can also update payer details. The endpoints under this resource are GET/payers
GET/payers/{identifier}
POST/payers
and PUT/payers/{identifier}
.
Get Payers
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/payers \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/payers HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/payers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/payers', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/payers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/payers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payers
Gets Payers. This endpoint allows users to retrieve a list of payers. Results may be paginated based on data set.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
max | query | integer | false | Maximum number of Payee records to return. The max limit is 50 per request. |
token | query | string | false | A continuation token, required for pagination |
externalIdentifier | query | string | false | A Unique ID optionally supplied by the client while creating a new payee. |
Example responses
200 Response
{
"continuationToken": "string",
"results": [
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Payer details | payerResults |
Create Payer
Code samples
# You can also use wget
curl -X POST https://apisandbox.dashsolutions.com/payments/payers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://apisandbox.dashsolutions.com/payments/payers HTTP/1.1
Host: apisandbox.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"customerIdentifier": "string",
"externalIdentifier": "1234",
"kyckIdentifier": "1234",
"tpaCustomerId": "string",
"accountNumber": "string",
"routingNumber": "string",
"nickname": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payers',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://apisandbox.dashsolutions.com/payments/payers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://apisandbox.dashsolutions.com/payments/payers', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://apisandbox.dashsolutions.com/payments/payers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://apisandbox.dashsolutions.com/payments/payers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /payers
Create a new payer. This endpoint allows users to create a new Payer to carryout transactions.
Body parameter
{
"customerIdentifier": "string",
"externalIdentifier": "1234",
"kyckIdentifier": "1234",
"tpaCustomerId": "string",
"accountNumber": "string",
"routingNumber": "string",
"nickname": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | newPayer | true | New payer information |
Example responses
201 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Successful Payer creation | payer |
400 | Bad Request | Standard error response | errors |
Get Payer by ID
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/payers/{identifier} \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/payers/{identifier} HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payers/{identifier}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/payers/{identifier}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/payers/{identifier}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/payers/{identifier}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payers/{identifier}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/payers/{identifier}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payers/{identifier}
Gets Payer by an identifier. This endpoint allows users to retrieve an individual payer details by an identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identifier | path | string | true | Unique ID returned by Dash System upon creation of new payer. |
Example responses
200 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Get an individual Payer details | payer |
Update Payer
Code samples
# You can also use wget
curl -X PUT https://apisandbox.dashsolutions.com/payments/payers/{identifier} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PUT https://apisandbox.dashsolutions.com/payments/payers/{identifier} HTTP/1.1
Host: apisandbox.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payers/{identifier}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.put 'https://apisandbox.dashsolutions.com/payments/payers/{identifier}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.put('https://apisandbox.dashsolutions.com/payments/payers/{identifier}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://apisandbox.dashsolutions.com/payments/payers/{identifier}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payers/{identifier}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://apisandbox.dashsolutions.com/payments/payers/{identifier}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /payers/{identifier}
Updates an existing payer. This endpoint allows users to update an existing payer details.
Body parameter
{}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identifier | path | string | true | Unique ID returned by Dash System upon creation of new payer. |
body | body | updatePayer | true | Includes updated Payer information |
Example responses
200 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated payer | payer |
400 | Bad Request | Standard error response | errors |
Payees
The Payees resource allows users to create a new payee and get a set of payees or a single payee using an ID. You can also update payee details like address, banking details, and personal details. The endpoints under this resource are GET/payees
GET/payees/{identifier}
POST/payees
and PUT/payees/{identifier}
.
Get Payees
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/payees \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/payees HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payees',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/payees',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/payees', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/payees', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payees");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/payees", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payees
Gets Payees. This endpoint allows users to retrieve a list of payees. Results may be paginated based on data set.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
max | query | integer | false | Maximum number of Payee records to return. The max limit is 50 per request. |
token | query | string | false | A continuation token, required for pagination |
externalIdentifier | query | string | false | A Unique ID optionally supplied by the client while creating a new payee. |
Example responses
200 Response
{
"continuationToken": "string",
"results": [
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"email": "[email protected]",
"method": "iach",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Payee details such as name, email and address | payeeResults |
Create Payee
Code samples
# You can also use wget
curl -X POST https://apisandbox.dashsolutions.com/payments/payees \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://apisandbox.dashsolutions.com/payments/payees HTTP/1.1
Host: apisandbox.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payees',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://apisandbox.dashsolutions.com/payments/payees',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://apisandbox.dashsolutions.com/payments/payees', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://apisandbox.dashsolutions.com/payments/payees', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payees");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://apisandbox.dashsolutions.com/payments/payees", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /payees
Create a new payee. This endpoint allows users to create a new Payee to carryout transactions.
Body parameter
{
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | newPayee | true | New payee information such as personal details, banking details and other regulatory information |
Example responses
201 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"email": "[email protected]",
"method": "iach",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Successful Payee creation | payee |
400 | Bad Request | Standard error response | errors |
Get Payee by ID
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/payees/{identifier} \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/payees/{identifier} HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payees/{identifier}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/payees/{identifier}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/payees/{identifier}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/payees/{identifier}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payees/{identifier}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/payees/{identifier}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payees/{identifier}
Gets Payee by an identifier. This endpoint allows users to retrieve an individual payee details by an identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identifier | path | string | true | Unique ID returned by Dash System upon creation of new payee. |
Example responses
200 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"email": "[email protected]",
"method": "iach",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Get an individual Payee details | payee |
Update Payee
Code samples
# You can also use wget
curl -X PUT https://apisandbox.dashsolutions.com/payments/payees/{identifier} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PUT https://apisandbox.dashsolutions.com/payments/payees/{identifier} HTTP/1.1
Host: apisandbox.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"swiftBicCode": "string",
"bankName": "string",
"bankAddress": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"bankAccountNumber": "string",
"bankRoutingNumber": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payees/{identifier}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.put 'https://apisandbox.dashsolutions.com/payments/payees/{identifier}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.put('https://apisandbox.dashsolutions.com/payments/payees/{identifier}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://apisandbox.dashsolutions.com/payments/payees/{identifier}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payees/{identifier}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://apisandbox.dashsolutions.com/payments/payees/{identifier}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /payees/{identifier}
Updates an existing payee. This endpoint allows users to update an existing payee details such as personal, banking, and other information.
Body parameter
{
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"swiftBicCode": "string",
"bankName": "string",
"bankAddress": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"bankAccountNumber": "string",
"bankRoutingNumber": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identifier | path | string | true | Unique ID returned by Dash System upon creation of new payee. |
body | body | updatePayee | true | Includes updated Payee information |
Example responses
200 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"email": "[email protected]",
"method": "iach",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated payee | payee |
400 | Bad Request | Standard error response | errors |
Payments
The Payments resource allows users to create a new payment that primarily uses ACH to transfer funds electronically. Users must specify the banking details, BIC/SWIFT code, currency, amount, and other details. Using payments, you can also search for a set of payments or retrieve a payment using an ID. The endpoints under this resource are GET/payments
GET/payments/{identifier}
and POST/payments
.
Get Payments
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/payments \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/payments HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payments',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/payments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/payments', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/payments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/payments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payments
Gets payments. This endpoint allows users to retrieve a list of payments associated with a payee.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
max | query | integer | false | Maximum number of payment records to return. Max limit is 50 per request. |
token | query | string | false | A continuation token required for pagination |
payeeIdentifier | query | string | false | Unique ID returned by Dash System upon creation of new payee. |
externalPaymentIdentifier | query | string | false | Unique ID optionally supplied by the client during the issuance of a payment. |
externalPayeeIdentifier | query | string | false | Unique ID optionally supplied by the client during the creation of a new payee. |
startDate | query | string | false | Start date for search windows. Must be in ISO 8601 format. If not set will default to (year - 1) |
endDate | query | string | false | End date for search windows. Must be in ISO 8601 format. If not provided will default to today date. Maximum date range allowed is 365 days. |
Example responses
200 Response
{
"continuationToken": "string",
"results": [
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "Payment1234",
"payeeIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"amount": 100,
"sourceCurrency": "USD",
"targetCurrency": "GBP",
"transferCurrency": "USD",
"exchangeRate": "1.1",
"createdDate": "2023-01-01T00:00:00Z",
"processedDate": "2023-01-01T01:00:00Z",
"settledDate": "2023-01-02T00:00:00Z"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Payment get results containing details such as, Payee, amount, currency, and more | paymentResults |
Create Payment
Code samples
# You can also use wget
curl -X POST https://apisandbox.dashsolutions.com/payments/payments \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://apisandbox.dashsolutions.com/payments/payments HTTP/1.1
Host: apisandbox.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"customerIdentifier": "string",
"payee": {
"customerIdentifier": "string",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"method": "IACH",
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"swiftBicCode": "string",
"bankName": "string",
"bankAddress": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"bankAccountNumber": "string",
"bankRoutingNumber": "string"
},
"currency": "USD",
"amount": 100,
"externalIdentifier": "Payment1234",
"description": "Ref: 12345"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payments',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://apisandbox.dashsolutions.com/payments/payments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://apisandbox.dashsolutions.com/payments/payments', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://apisandbox.dashsolutions.com/payments/payments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://apisandbox.dashsolutions.com/payments/payments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /payments
Creates a new payment. This endpoint allows users to create a new payment for transactions.
Body parameter
{
"customerIdentifier": "string",
"payee": {
"customerIdentifier": "string",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"method": "IACH",
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"swiftBicCode": "string",
"bankName": "string",
"bankAddress": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"bankAccountNumber": "string",
"bankRoutingNumber": "string"
},
"currency": "USD",
"amount": 100,
"externalIdentifier": "Payment1234",
"description": "Ref: 12345"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | newPayment | false | Add the new Payment details such as, payee, currency and other regulatory details. |
Example responses
201 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "Payment1234",
"payeeIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"amount": 100,
"sourceCurrency": "USD",
"targetCurrency": "GBP",
"transferCurrency": "USD",
"exchangeRate": "1.1",
"createdDate": "2023-01-01T00:00:00Z",
"processedDate": "2023-01-01T01:00:00Z",
"settledDate": "2023-01-02T00:00:00Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Newly created payment transaction | payment |
Get Payment by ID
Code samples
# You can also use wget
curl -X GET https://apisandbox.dashsolutions.com/payments/payments/{identifier} \
-H 'Accept: application/json'
GET https://apisandbox.dashsolutions.com/payments/payments/{identifier} HTTP/1.1
Host: apisandbox.dashsolutions.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://apisandbox.dashsolutions.com/payments/payments/{identifier}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://apisandbox.dashsolutions.com/payments/payments/{identifier}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://apisandbox.dashsolutions.com/payments/payments/{identifier}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://apisandbox.dashsolutions.com/payments/payments/{identifier}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://apisandbox.dashsolutions.com/payments/payments/{identifier}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://apisandbox.dashsolutions.com/payments/payments/{identifier}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /payments/{identifier}
gets Payment by an identifier. This endpoint allows users to get payment details based on the identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identifier | path | string | true | System generated payment identifier |
Example responses
200 Response
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "Payment1234",
"payeeIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"amount": 100,
"sourceCurrency": "USD",
"targetCurrency": "GBP",
"transferCurrency": "USD",
"exchangeRate": "1.1",
"createdDate": "2023-01-01T00:00:00Z",
"processedDate": "2023-01-01T01:00:00Z",
"settledDate": "2023-01-02T00:00:00Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Get individual payment details | payment |
Schemas
errors
[
{
"errorCode": "access.denied",
"errorMessage": "User is not allowed to perform this action",
"fieldName": "email"
}
]
Error
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [error] | false | none | Error |
error
{
"errorCode": "access.denied",
"errorMessage": "User is not allowed to perform this action",
"fieldName": "email"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
errorCode | string | false | none | Error code |
errorMessage | string | false | none | Error message |
fieldName | string | false | none | Field name where the error occurred |
creationBase
{
"customerIdentifier": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customerIdentifier | string | false | none | Unique identifier to identify customer |
existing
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identifier | string(uuid) | false | none | Existing identifier used to identify payments |
countryResults
{
"continuationToken": "string",
"results": [
{
"identifier": "USA",
"name": "United States",
"currencies": [
{
"identifier": "USD",
"name": "United States Dollar",
"canAch": true,
"additionalFields": [
{
"key": "BeneficiaryAccountType",
"validation": "Account Type is invalid. Value should be either Current or Savings.",
"validator": "^(CACC|SVGS)$"
}
]
}
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
continuationToken | string | false | none | A continuation token required for pagination |
results | [country] | false | none | Contains the country details like name, currency and other regulatory details |
country
{
"identifier": "USA",
"name": "United States",
"currencies": [
{
"identifier": "USD",
"name": "United States Dollar",
"canAch": true,
"additionalFields": [
{
"key": "BeneficiaryAccountType",
"validation": "Account Type is invalid. Value should be either Current or Savings.",
"validator": "^(CACC|SVGS)$"
}
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identifier | string | false | none | Unique identifier to identify country |
name | string | false | none | Country name |
currencies | [currency] | false | none | Contains currency name, ACH availability and validators |
currency
{
"identifier": "USD",
"name": "United States Dollar",
"canAch": true,
"additionalFields": [
{
"key": "BeneficiaryAccountType",
"validation": "Account Type is invalid. Value should be either Current or Savings.",
"validator": "^(CACC|SVGS)$"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identifier | string | false | none | Unique identifier to identify type of currency |
name | string | false | none | Currency name |
canAch | boolean | false | none | Whether ACH available for this country and currency code |
additionalFields | [additionalFieldDefinition] | false | none | An array of regulatory fields required by this country's banking system for this specific currency. |
additionalFieldDefinition
{
"key": "BeneficiaryAccountType",
"validation": "Account Type is invalid. Value should be either Current or Savings.",
"validator": "^(CACC|SVGS)$"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
key | string | false | none | A key required by this country's banking system for this specific currency for transactions |
validation | string | false | none | Validation for this field |
validator | string | false | none | A regex expression which is used for validation purposes. |
newPayer
{
"customerIdentifier": "string",
"externalIdentifier": "1234",
"kyckIdentifier": "1234",
"tpaCustomerId": "string",
"accountNumber": "string",
"routingNumber": "string",
"nickname": "string"
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | creationBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» externalIdentifier | string | false | none | Optional unique identifier used for a duplicate check and client reference. |
» kyckIdentifier | string | false | none | Optional identifier of an existing Kyck payer |
» tpaCustomerId | string | false | none | Customer ID from the TPA process. Required for new payers |
» accountNumber | string | false | none | Account number for the bank account funds will be drawn from. Required for new payers. |
» routingNumber | string | false | none | Routing number for the bank account funds will be drawn from. Required for new payers. |
» nickname | string | false | none | Nickname for the bank account funds will be drawn from. |
updatePayer
{}
Properties
None
payerResults
{
"continuationToken": "string",
"results": [
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
continuationToken | string | false | none | A continuation token, required for pagination |
results | [payer] | false | none | Contains Payer details |
payer
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identifier | string(uuid) | false | none | Unique identifier to identify a Payer |
externalIdentifier | string | false | none | Optional unique identifier used for a duplicate check and for client reference. |
newPayee
{
"customerIdentifier": "string",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"method": "IACH",
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"swiftBicCode": "string",
"bankName": "string",
"bankAddress": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"bankAccountNumber": "string",
"bankRoutingNumber": "string"
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | creationBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» externalIdentifier | string | false | none | Optional unique identifier used for a duplicate check and client reference. |
» payerIdentifier | string | false | none | Payer that will be transferring money to the payee |
» method | string | false | none | Method of payment to this payee, one of IACH, Wire, ACH |
» iban | string | false | none | An internationally recognized code that is used while sending or receiving international payments. Must be 34 characters in lenght alpha-numeric. |
string(email) | false | none | New Payee email | |
» firstName | string | false | none | New Payee first name |
» lastName | string | false | none | New Payee last name |
» address | address | false | none | New Payee address |
» swiftBicCode | string | false | none | New Payee SWIFT/BIC code |
» bankName | string | false | none | New Payee bank name |
» bankAddress | address | false | none | New Payee bank address |
» bankAccountNumber | string | false | none | New Payee bank account number |
» bankRoutingNumber | string | false | none | New Payee bank routing number |
updatePayee
{
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"swiftBicCode": "string",
"bankName": "string",
"bankAddress": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"bankAccountNumber": "string",
"bankRoutingNumber": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
iban | string | false | none | An internationally recognized code that is used while sending or receiving international payments. Must be a alpha-numeric 34 characters in length. |
string(email) | false | none | Updated Payee email | |
address | address | false | none | Updated Payee address |
swiftBicCode | string | false | none | Updated Payee SWIFT/BIC code |
bankName | string | false | none | Updated Payee bank name |
bankAddress | address | false | none | Updated Payee bank address |
bankAccountNumber | string | false | none | Updated Payee bank account number |
bankRoutingNumber | string | false | none | Updated Payee bank routing number |
payeeResults
{
"continuationToken": "string",
"results": [
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"email": "[email protected]",
"method": "iach",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
continuationToken | string | false | none | A continuation token, required for pagination |
results | [payee] | false | none | Contains Payee details such as name, email and address |
payee
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"email": "[email protected]",
"method": "iach",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identifier | string(uuid) | false | none | Unique identifier to identify a Payee |
externalIdentifier | string | false | none | Optional unique identifier used for a duplicate check and for client reference. |
payerIdentifier | string | false | none | Payer that can transfer money to the payee |
string | false | none | Payee email ID | |
method | string | false | none | Payment method |
firstName | string | false | none | Payee first name |
lastName | string | false | none | Payee last name |
address | address | false | none | Payee address |
Enumerated Values
Property | Value |
---|---|
method | iach |
address
{
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
line1 | string | false | none | Address first line |
line2 | string | false | none | Address first line |
locality | string | false | none | City, Suburb, Town, or Locality |
region | string | false | none | Departments, States, Provinces, or Counties |
country | string | false | none | Country name |
postalCode | string | false | none | Address postal code |
newPayment
{
"customerIdentifier": "string",
"payee": {
"customerIdentifier": "string",
"externalIdentifier": "1234",
"payerIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"method": "IACH",
"iban": "GB29NWBK60161331926819",
"email": "[email protected]",
"firstName": "Maria",
"lastName": "Wang",
"address": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"swiftBicCode": "string",
"bankName": "string",
"bankAddress": {
"line1": "1900 Sesame Street",
"line2": "string",
"locality": "New York",
"region": "NY",
"country": "USA",
"postalCode": "10023"
},
"bankAccountNumber": "string",
"bankRoutingNumber": "string"
},
"currency": "USD",
"amount": 100,
"externalIdentifier": "Payment1234",
"description": "Ref: 12345"
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | creationBase | false | none | Identifies customer |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» payee | any | false | none | none |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | newPayee | false | none | New Payee details |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | existing | false | none | Existing identifier |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» currency | string | false | none | Optional currency code used to calculate the payment amount to the payee. Only funding source currency USD or payee banking currency codes are allowed. If left blank, will default to USD. |
» amount | number | false | none | Payment amount. Up to two decimal places allowed. |
» externalIdentifier | string | false | none | Optional unique identifier used for a duplicate check and for client reference. |
» description | string | false | none | Optional description for the transaction. Useful for reconciliation. |
paymentResults
{
"continuationToken": "string",
"results": [
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "Payment1234",
"payeeIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"amount": 100,
"sourceCurrency": "USD",
"targetCurrency": "GBP",
"transferCurrency": "USD",
"exchangeRate": "1.1",
"createdDate": "2023-01-01T00:00:00Z",
"processedDate": "2023-01-01T01:00:00Z",
"settledDate": "2023-01-02T00:00:00Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
continuationToken | string | false | none | A continuation token, required for pagination |
results | [payment] | false | none | Payment results containing details such as, currency, amount, date of creation, processing and settlement, payee, and more. |
payment
{
"identifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"externalIdentifier": "Payment1234",
"payeeIdentifier": "24f117f9-8274-4e80-b270-2bafa036f0b9",
"amount": 100,
"sourceCurrency": "USD",
"targetCurrency": "GBP",
"transferCurrency": "USD",
"exchangeRate": "1.1",
"createdDate": "2023-01-01T00:00:00Z",
"processedDate": "2023-01-01T01:00:00Z",
"settledDate": "2023-01-02T00:00:00Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identifier | string(uuid) | false | none | Unique identifier to identify payments |
externalIdentifier | string | false | none | Unique external identifier provided by Dash to identify payments |
payeeIdentifier | string(uuid) | false | none | Unique identifier to identify payees |
amount | integer | false | none | Transaction amount |
sourceCurrency | string | false | none | Type of currency at the sender's end |
targetCurrency | string | false | none | Type of currency at the receiver's end |
transferCurrency | string | false | none | Type of currency during transfer |
exchangeRate | number(float) | false | none | Exchange rate on this day |
createdDate | string(date-time) | false | none | Payment request created date |
processedDate | string(date-time) | false | none | Payment request processed date |
settledDate | string(date-time) | false | none | Payment request settled date |