NAV
Shell HTTP JavaScript Ruby Python PHP Java Go

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}.

Learn more

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}.

Learn more

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}.

Learn more

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.

Learn more

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.
» email 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.
email 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
email 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