Getting Started

This API reference provides developers with a reference to the various methods exposed by Cyncit. It provides various requests and responses needed for the implementation. You can request the test credentials and use them for your own development or on the sandbox (you can send requests without writing any code).

You can access the sandbox environment from Here.

  • Authentication.
    1. MD5 Generation
    2. Getting Token
  • Verification.
    1. Verify MSISDN
  • Payouts.
    1. New Payout
    2. Query Transaction
  • Forex.
    1. Get Rate
  • Utilities.
    1. Countries
    2. Payout Countries
    3. Banks
    4. Currency Pairs
  • Response Codes.
  • 						https://testbed.cyncit.tech
    					

    Authentication

    For Most Areas within the Application, you will need Authentication and Authorization. To Proceed, ensure your have been provided with the following

  • userCode: 290
  • timestamp: System Timestamp format : yyyyMMddHHmmss
  • rawPassword: testPass!
  • Operations
    Method Endpoint Description
    POST /md5Password Returns the MD5 hashed Password MD5(userCode+timestamp+rawPassword)
    GET /tokens Returns Token
    No data

    MD5 Password (Testing Only)

    For Most Areas within the Application, you will need Authentication and Authorization. To Proceed, ensure your have been provided with the following

  • userCode:
  • timestamp: System Timestamp format : yyyyMMddHHmmss
  • rawPassword:
  • This Method returns a hashed value of the combination of userCode,timestamp and rawPassword. timestamp format : yyyyMMddHHmmss Password - MD5(username+password+timestamp)

    POST https://testbed.cyncit.tech/md5Password
    Parameter Type Mandatory Description
    userCode String M Code identifying user making transaction
    timestamp String M System Timestamp format : yyyyMMddHHmmss
    rawPassword String M Raw Password provided
    curl --request POST \
    'https://testbed.cyncit.tech/md5Password' \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
    --data '{"userCode":"","timestamp":"","rawPassword":""}' \
    --compressed
    POST https://testbed.cyncit.tech/md5Password HTTP/1.1
    
    Accept: application/json
    Content-Type: application/json
    
    {
      "userCode": "",
      "timestamp": "",
      "rawPassword": ""
    }
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/md5Password"
      requestBody = {
        "userCode": "",
        "timestamp": "",
        "rawPassword": ""
      }
      requestHeaders = {
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    
      request = requests.post(requestUrl, headers=requestHeaders, json=requestBody)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
    
    $url = 'https://testbed.cyncit.tech/md5Password';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Accept: application/json',
      'Content-Type: application/json',
    ));
    $bodyArray = array(
      'userCode' => '',
      'timestamp' => '',
      'rawPassword' => '',
    );
    $body = json_encode($bodyArray);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/md5Password");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Accept", "application/json");
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
        String body = "{\"userCode\":\"\",\"timestamp\":\"\",\"rawPassword\":\"\"}";
        writer.write(body);
        writer.flush();
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/md5Password",
        "method": "POST",
        "json": {
          "userCode": "",
          "timestamp": "",
          "rawPassword": ""
        },
        "headers": {
          "Accept": "application/json",
          "Content-Type": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/md5Password";
      const options = {
        method: "POST",
        headers: {
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        body: JSON.stringify({
          "userCode": "",
          "timestamp": "",
          "rawPassword": ""
        }),
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    

    Token

    For Most Areas within the Application, you will need Authentication and Authorization.

    For ALL POST requests, a Header is required. To Proceed, ensure your have been provided with the following

  • clientId
  • clientSecret
  • This Method returns a token, access_token and validity, expires_in for specifies CLINET_ID and CLIENT_SECRET

    GET https://testbed.cyncit.tech/tokens
    Parameter Type Mandatory Description
    clientId String M clientId provided
    clientSecret String M clientSecret Provided
    curl 'https://testbed.cyncit.tech/tokens?clientId=XXX&clientSecret=YYYY' --header 'Accept: application/json' --compressed
    
    						   
    GET https://testbed.cyncit.tech/tokens?clientId=XXX&clientSecret=YYYY HTTP/1.1
    Accept: application/json
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/tokens?clientId=XXX&clientSecret=YYYY"
      requestHeaders = {
        "Accept": "application/json"
      }
    
      request = requests.get(requestUrl, headers=requestHeaders)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
    
    							  
    
    $url = 'https://testbed.cyncit.tech/tokens?clientId=XXX&clientSecret=YYYY';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Accept: application/json',
    ));
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
    
    							  
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/tokens?clientId=XXX&clientSecret=YYYY");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Accept", "application/json");
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }							  
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/tokens?clientId=XXX&clientSecret=YYYY",
        "method": "GET",
        "headers": {
          "Accept": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
    							  
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/tokens?clientId=XXX&clientSecret=YYYY";
      const options = {
        method: "GET",
        headers: {
          "Accept": "application/json"
        },
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    
    

    Validation

    The Validation API allows for the verification of the registered details for MSISDN.

    Operations
    Method Endpoint Description
    POST /iVeryfy Returns the Registered Name for msisdn
    No data

    Verify MSISDN

    Returns the Registered Name for msisdn

    POST https://testbed.cyncit.tech/iVeryfy

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    Parameter Type Mandatory Description
    payload String M Valid MSISDN 254XXXXXXXXX
    curl --request POST \
      'https://testbed.cyncit.tech/registerURL' \
      --header 'authorization: Bearer XXXXXXXXX' \
      --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{"payload":""}' \
      --compressed
    						   
    POST https://testbed.cyncit.tech/registerURL HTTP/1.1
    
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
    Content-Type: application/json
    
    {
      "payload": ""
    }
    							  
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/registerURL"
      requestBody = {
        "payload": ""
      }
      requestHeaders = {
        "authorization": "Bearer XXXXXXXXX",
        "x-userId": "XXXXXXXXX",
    	"x-password": "XXXXXXXXX",
    	"x-timestamp": "XXXXXXXXX",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    
      request = requests.post(requestUrl, headers=requestHeaders, json=requestBody)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
    
    							  
    
    $url = 'https://testbed.cyncit.tech/registerURL';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'authorization: Bearer XXXXXXXXX',
       'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
      'Content-Type: application/json',
    ));
    $bodyArray = array(
      'payload' => '',
    );
    $body = json_encode($bodyArray);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
    
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/registerURL");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
    	connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
    	connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
        String body = "{\"payload\":\"\"}";
        writer.write(body);
        writer.flush();
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
    
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/registerURL",
        "method": "POST",
        "json": {
          "payload": ""
        },
        "headers": {
    	  "authorization": "Bearer XXXXXXXXX",
    	  "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/registerURL";
      const options = {
        method: "POST",
        headers: {
    	  "authorization": "Bearer XXXXXXXXX",
    	   "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        body: JSON.stringify({
          "payload": ""
        }),
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    

    Payouts

    This Method allows for the Paying out of funds to the following

    1. Phone Number
    2. Paybill
    3. Till
    4. Bank Account
    Operations
    Method Endpoint Description
    POST /newPayment Submit Transaction Payload and Get Transaction Status. This is asynchronous. Later, via resultURL, you will receive transaction Result.
    POST /queryTrans Query Status of Transaction
    No data

    New Payout

    To make a payout, ensure all the mandatory parameters are provided for the Transfer Type being done

    POST https://testbed.cyncit.tech/newPayment

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    Parameter Type Mandatory Description
    transactionReference String M Unique reference identifying a transaction
    transferType String M BankTransfer
    MobileMoney
    InPerson
    payingAmount double M Sending Amount
    payoutAmount double M Receiving Amount
    receiverContactNo String M for Mobile Money should be MSISDN
    purposeforFunds String M Purpose for Funds
    bankName String O Bank Name for Bank Transfer
    receiverBankAcc String O Account Number for Bank Transfer
    receiverOthernames String M Receiver Other names
    receiverSurname String M Receiver Surname
    receiverDocument String O Receiver Document Type
    receiverDocumentId String O Receiver Document Type Number
    resultURL String M Valid callback Url value
    originCountry String M Origin Country ISOCode
    payoutCountry String M Payout Country ISOCode
    tariff String M Charge Levied to Customer
    currencyRate String M Exchange Rate for Transaction
    currencyPair String M Currency Pair of Transaction e.g.USD - UGX
    senderOtherNames String M Sender Other names
    senderSurname String M Sender Surname
    senderTelephoneNo String M Sender Phone Number
    senderNationality String M Sender Nationality ISOCode
    senderDocType String M Sender Document Type
    senderDocNumber String M Sender Document Number
    senderDocDateOfIssue String O Sender Document Issue Date dd-MM-yyyy
    senderDocExpiryDate String O Sender Document Expiry Date dd-MM-yyyy
    senderDocPlaceOfIssue String O Sender Document Place of Issue
    senderDob String O Sender Date Of Birth dd-MM-yyyy
    senderOccupation String O Sender Occupation
    senderPhysicalAddress String O Sender Physical Address
    sourceOfFundsDocumentation String M Sender Source of Funds
    curl --request POST \
      'https://testbed.cyncit.tech/newPayment' \
      --header 'authorization: Bearer XXXXXXXXX' \
      --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{"payoutAmount":0,"payingAmount":0,"senderNationality":"","senderTelephoneNo":"","senderDocType":"","senderOtherNames":"","senderSurname":"","receiverContactNo":"","purposeforFunds":"","tariff":"","payoutCountry":"","originCountry":"","currencyPair":"","senderDocNumber":"","transactionReference":"","receiverOthernames":"","receiverSurname":"","transferType":"","currencyRate":"","resultURL":"","bankName":"","receiverBankAcc":"","receiverDocument":"","receiverDocumentId":"","senderDob":"","senderDocDateOfIssue":"","senderDocExpiryDate":"","senderDocPlaceOfIssue":"","senderDocumentation":"","senderOccupation":"","senderPhysicalAddress":"","sourceOfFundsDocumentation":""}' \
      --compressed
    						   
    						   
    POST https://testbed.cyncit.tech/newPayment HTTP/1.1
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
    Content-Type: application/json
    
    {
      "payoutAmount": 0,
      "payingAmount": 0,
      "senderNationality": "",
      "senderTelephoneNo": "",
      "senderDocType": "",
      "senderOtherNames": "",
      "senderSurname": "",
      "receiverContactNo": "",
      "purposeforFunds": "",
      "tariff": "",
      "payoutCountry": "",
      "originCountry": "",
      "currencyPair": "",
      "senderDocNumber": "",
      "transactionReference": "",
      "receiverOthernames": "",
      "receiverSurname": "",
      "transferType": "",
      "currencyRate": "",
      "resultURL": "",
      "bankName": "",
      "receiverBankAcc": "",
      "receiverDocument": "",
      "receiverDocumentId": "",
      "senderDob": "",
      "senderDocDateOfIssue": "",
      "senderDocExpiryDate": "",
      "senderDocPlaceOfIssue": "",
      "senderDocumentation": "",
      "senderOccupation": "",
      "senderPhysicalAddress": "",
      "sourceOfFundsDocumentation": ""
    }
    							  
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/newPayment"
      requestBody = {
        "payoutAmount": 0,
        "payingAmount": 0,
        "senderNationality": "",
        "senderTelephoneNo": "",
        "senderDocType": "",
        "senderOtherNames": "",
        "senderSurname": "",
        "receiverContactNo": "",
        "purposeforFunds": "",
        "tariff": "",
        "payoutCountry": "",
        "originCountry": "",
        "currencyPair": "",
        "senderDocNumber": "",
        "transactionReference": "",
        "receiverOthernames": "",
        "receiverSurname": "",
        "transferType": "",
        "currencyRate": "",
        "resultURL": "",
        "bankName": "",
        "receiverBankAcc": "",
        "receiverDocument": "",
        "receiverDocumentId": "",
        "senderDob": "",
        "senderDocDateOfIssue": "",
        "senderDocExpiryDate": "",
        "senderDocPlaceOfIssue": "",
        "senderDocumentation": "",
        "senderOccupation": "",
        "senderPhysicalAddress": "",
        "sourceOfFundsDocumentation": ""
      }
      requestHeaders = {
      "authorization": "Bearer XXXXXXXXX",
       "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    
      request = requests.post(requestUrl, headers=requestHeaders, json=requestBody)
    
      print request.content
    
    if __name__ == "__main__":
      execute()			  
    
    $url = 'https://testbed.cyncit.tech/newPayment';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
     'authorization: Bearer XXXXXXXXX',
     'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
      'Content-Type: application/json',
    ));
    $bodyArray = array(
      'payoutAmount' => 0,
      'payingAmount' => 0,
      'senderNationality' => '',
      'senderTelephoneNo' => '',
      'senderDocType' => '',
      'senderOtherNames' => '',
      'senderSurname' => '',
      'receiverContactNo' => '',
      'purposeforFunds' => '',
      'tariff' => '',
      'payoutCountry' => '',
      'originCountry' => '',
      'currencyPair' => '',
      'senderDocNumber' => '',
      'transactionReference' => '',
      'receiverOthernames' => '',
      'receiverSurname' => '',
      'transferType' => '',
      'currencyRate' => '',
      'resultURL' => '',
      'bankName' => '',
      'receiverBankAcc' => '',
      'receiverDocument' => '',
      'receiverDocumentId' => '',
      'senderDob' => '',
      'senderDocDateOfIssue' => '',
      'senderDocExpiryDate' => '',
      'senderDocPlaceOfIssue' => '',
      'senderDocumentation' => '',
      'senderOccupation' => '',
      'senderPhysicalAddress' => '',
      'sourceOfFundsDocumentation' => '',
    );
    $body = json_encode($bodyArray);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
                                  
    
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/newPayment");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
        connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
        String body = "{\"payoutAmount\":0,\"payingAmount\":0,\"senderNationality\":\"\",\"senderTelephoneNo\":\"\",\"senderDocType\":\"\",\"senderOtherNames\":\"\",\"senderSurname\":\"\",\"receiverContactNo\":\"\",\"purposeforFunds\":\"\",\"tariff\":\"\",\"payoutCountry\":\"\",\"originCountry\":\"\",\"currencyPair\":\"\",\"senderDocNumber\":\"\",\"transactionReference\":\"\",\"receiverOthernames\":\"\",\"receiverSurname\":\"\",\"transferType\":\"\",\"currencyRate\":\"\",\"resultURL\":\"\",\"bankName\":\"\",\"receiverBankAcc\":\"\",\"receiverDocument\":\"\",\"receiverDocumentId\":\"\",\"senderDob\":\"\",\"senderDocDateOfIssue\":\"\",\"senderDocExpiryDate\":\"\",\"senderDocPlaceOfIssue\":\"\",\"senderDocumentation\":\"\",\"senderOccupation\":\"\",\"senderPhysicalAddress\":\"\",\"sourceOfFundsDocumentation\":\"\"}";
        writer.write(body);
        writer.flush();
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
                               
    
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/newPayment",
        "method": "POST",
        "json": {
          "payoutAmount": 0,
          "payingAmount": 0,
          "senderNationality": "",
          "senderTelephoneNo": "",
          "senderDocType": "",
          "senderOtherNames": "",
          "senderSurname": "",
          "receiverContactNo": "",
          "purposeforFunds": "",
          "tariff": "",
          "payoutCountry": "",
          "originCountry": "",
          "currencyPair": "",
          "senderDocNumber": "",
          "transactionReference": "",
          "receiverOthernames": "",
          "receiverSurname": "",
          "transferType": "",
          "currencyRate": "",
          "resultURL": "",
          "bankName": "",
          "receiverBankAcc": "",
          "receiverDocument": "",
          "receiverDocumentId": "",
          "senderDob": "",
          "senderDocDateOfIssue": "",
          "senderDocExpiryDate": "",
          "senderDocPlaceOfIssue": "",
          "senderDocumentation": "",
          "senderOccupation": "",
          "senderPhysicalAddress": "",
          "sourceOfFundsDocumentation": ""
        },
        "headers": {
        "authorization": "Bearer XXXXXXXXX",
        "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/newPayment";
      const options = {
        method: "POST",
        headers: {
        "authorization": "Bearer XXXXXXXXX",
        "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        body: JSON.stringify({
          "payoutAmount": 0,
          "payingAmount": 0,
          "senderNationality": "",
          "senderTelephoneNo": "",
          "senderDocType": "",
          "senderOtherNames": "",
          "senderSurname": "",
          "receiverContactNo": "",
          "purposeforFunds": "",
          "tariff": "",
          "payoutCountry": "",
          "originCountry": "",
          "currencyPair": "",
          "senderDocNumber": "",
          "transactionReference": "",
          "receiverOthernames": "",
          "receiverSurname": "",
          "transferType": "",
          "currencyRate": "",
          "resultURL": "",
          "bankName": "",
          "receiverBankAcc": "",
          "receiverDocument": "",
          "receiverDocumentId": "",
          "senderDob": "",
          "senderDocDateOfIssue": "",
          "senderDocExpiryDate": "",
          "senderDocPlaceOfIssue": "",
          "senderDocumentation": "",
          "senderOccupation": "",
          "senderPhysicalAddress": "",
          "sourceOfFundsDocumentation": ""
        }),
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    
    
    

    Query Transaction

    Provide all the parameeters required to query for the status of a transaction

    POST https://testbed.cyncit.tech/queryTrans

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    Parameter Type Mandatory Description
    transactionReference String M Unique reference identifying a transaction
    curl --request POST \
      'https://testbed.cyncit.tech/queryTrans' \
      --header 'authorization: Bearer XXXXXXXXX' \
      --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{"transactionReference":""}' \
      --compressed
    						   
    						   
    OST https://testbed.cyncit.tech/queryTrans HTTP/1.1
    
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
    Content-Type: application/json
    
    {
      "transactionReference": ""
    }
    
    							  
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/queryTrans"
      requestBody = {
        "transactionReference": ""
      }
      requestHeaders = {
        "authorization": "Bearer XXXXXXXXX",
        "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    
      request = requests.post(requestUrl, headers=requestHeaders, json=requestBody)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
    
    							  
    
    $url = 'https://testbed.cyncit.tech/queryTrans';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'authorization: Bearer XXXXXXXXX',
      'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
      'Content-Type: application/json',
    ));
    $bodyArray = array(
      'transactionReference' => ''
    );
    $body = json_encode($bodyArray);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
    
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/queryTrans");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
        connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
        String body = "{\"transactionReference\":\"\"}";
        writer.write(body);
        writer.flush();
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
    
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/queryTrans",
        "method": "POST",
        "json": {
          "transactionReference": ""
        },
        "headers": {
          "authorization": "Bearer XXXXXXXXX",
           "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/queryTrans";
      const options = {
        method: "POST",
        headers: {
          "authorization": "Bearer XXXXXXXXX",
           "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        body: JSON.stringify({
          "transactionReference": ""
        }),
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    

    Forex

    This Method allows for Forex Determination

    Operations
    Method Endpoint Description
    POST /forexRate Get Forex Rate for Currency Pair
    No data

    Get Rate

    Get Forex Rate for the Currency Pair provided

    POST https://testbed.cyncit.tech/forexRate

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    Parameter Type Mandatory Description
    currPair String M Currency Pair e.g.USD - UGX
    curl --request POST \
      'https://testbed.cyncit.tech/forexRate' \
      --header 'authorization: Bearer XXXXXXXXX' \
        --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{"currPair":""}' \
      --compressed
    						   
    						   
    POST https://testbed.cyncit.tech/forexRate HTTP/1.1
    
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
    Content-Type: application/json
    
    {
      "currPair": ""
    }
    
    							  
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/forexRate"
      requestBody = {
        "currPair": ""
      }
      requestHeaders = {
        "authorization": "Bearer XXXXXXXXX",
        "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    
      request = requests.post(requestUrl, headers=requestHeaders, json=requestBody)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
    
    							  
    
    $url = 'https://testbed.cyncit.tech/forexRate';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'authorization: Bearer XXXXXXXXX',
      'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
      'Content-Type: application/json',
    ));
    $bodyArray = array(
      'currPair' => ''
    );
    $body = json_encode($bodyArray);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
    
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/forexRate");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
        connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
        String body = "{\"currPair\":\"\"}";
        writer.write(body);
        writer.flush();
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
    
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/forexRate",
        "method": "POST",
        "json": {
          "currPair": ""
        },
        "headers": {
          "authorization": "Bearer XXXXXXXXX",
          "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/forexRate";
      const options = {
        method: "POST",
        headers: {
          "authorization": "Bearer XXXXXXXXX",
          "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        body: JSON.stringify({
          "currPair": ""
        }),
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    

    Utilities

    Get Information regarding the following

    1. Countries
    2. Supported Banks
    3. Currency Pairs
    Operations
    Method Endpoint Description
    GET /countries Countries ISO Code.
    GET /outboundCountries Supoorted Countries Termination
    POST /banks Banks for Supported Countries
    GET /currencyPairs Supported Currency Pairs
    No data

    Countries

    Countries ISO Code

    GET https://testbed.cyncit.tech/countries

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    curl \
      'https://testbed.cyncit.tech/countries' \
      --header 'authorization: Bearer XXXXXXXXX' \
      --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --compressed
    						   
    						   
    GET https://testbed.cyncit.tech/countries HTTP/1.1
    
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/countries"
      requestHeaders = {
      "authorization": "Bearer XXXXXXXXX",
      "x-userId": "XXXXXXXXX",
      "x-password": "XXXXXXXXX",
      "x-timestamp": "XXXXXXXXX",
        "Accept": "application/json"
      }
    
      request = requests.get(requestUrl, headers=requestHeaders)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
                                  							  
    
    $url = 'https://testbed.cyncit.tech/countries';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'authorization: Bearer XXXXXXXXX',
    'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
    ));
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
                                  
    
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/countries");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
        connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
            
    
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/countries",
        "method": "GET",
        "headers": {
        "authorization": "Bearer XXXXXXXXX",
         "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/countries";
      const options = {
        method: "GET",
        headers: {
          "authorization": "Bearer XXXXXXXXX",
           "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json"
        },
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    
    

    Payout Countries

    List of Supported Payout Countries

    GET https://testbed.cyncit.tech/outboundCountries

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    curl \
      'https://testbed.cyncit.tech/outboundCountries' \
      --header 'authorization: Bearer XXXXXXXXX' \
      --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --compressed   
    						   
    GET https://testbed.cyncit.tech/outboundCountries HTTP/1.1
    
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
                                  
    							  
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/outboundCountries"
      requestHeaders = {
      "authorization": "Bearer XXXXXXXXX",
      "x-userId": "XXXXXXXXX",
      "x-password": "XXXXXXXXX",
      "x-timestamp": "XXXXXXXXX",
        "Accept": "application/json"
      }
    
      request = requests.get(requestUrl, headers=requestHeaders)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
                             
    							  
    
    $url = 'https://testbed.cyncit.tech/outboundCountries';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'authorization: Bearer XXXXXXXXX',
    'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
    ));
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
      
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/outboundCountries");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
        connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
                         
    
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/outboundCountries",
        "method": "GET",
        "headers": {
        "authorization": "Bearer XXXXXXXXX",
         "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
                                  
    
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/outboundCountries";
      const options = {
        method: "GET",
        headers: {
        "authorization": "Bearer XXXXXXXXX",
         "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json"
        },
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    
    

    Banks

    Listing of Supported Banks for Provided Country

    POST https://testbed.cyncit.tech/banks

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    Parameter Type Mandatory Description
    couCode String M Country Code ISO Code
    curl --request POST \
      'https://testbed.cyncit.tech/banks' \
      --header 'authorization: Bearer XXXXXXXXX' \
      --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{"couCode":""}' \
      --compressed
                             
    						   
    						   
    POST https://testbed.cyncit.tech/banks HTTP/1.1
    
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
    Content-Type: application/json
    
    {
      "couCode": ""
    }
    
    							  
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/banks"
      requestBody = {
        "couCode": ""
      }
      requestHeaders = {
      "authorization": "Bearer XXXXXXXXX",
      "x-userId": "XXXXXXXXX",
      "x-password": "XXXXXXXXX",
      "x-timestamp": "XXXXXXXXX",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    
      request = requests.post(requestUrl, headers=requestHeaders, json=requestBody)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
                                 					  
    
    $url = 'https://testbed.cyncit.tech/banks';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'authorization: Bearer XXXXXXXXX',
    'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
      'Content-Type: application/json',
    ));
    $bodyArray = array(
      'couCode' => '',
    );
    $body = json_encode($bodyArray);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
       
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/banks");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
        connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
        String body = "{\"couCode\":\"\"}";
        writer.write(body);
        writer.flush();
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
                                 
    
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/banks",
        "method": "POST",
        "json": {
          "couCode": ""
        },
        "headers": {
          "authorization": "Bearer XXXXXXXXX",
           "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/banks";
      const options = {
        method: "POST",
        headers: {
        	"authorization": "Bearer XXXXXXXXX",
        	 "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        body: JSON.stringify({
          "couCode": ""
        }),
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    
    

    Currency Pairs

    Supported Currency Pairs

    GET https://testbed.cyncit.tech/currencyPairs

    Headers


    authorization:Bearer [token]
    x-userId:[userCode]
    x-password:[MD5password]
    x-timestamp:[timestamp]

    curl \
      'https://testbed.cyncit.tech/currencyPairs' \
      --header 'authorization: Bearer XXXXXXXXX' \
      --header 'x-userId: XXXXXXXXX' \
      --header 'x-password: XXXXXXXXX' \
      --header 'x-timestamp: XXXXXXXXX' \
      --header 'Accept: application/json' \
      --compressed
    						   
    						   
    GET https://testbed.cyncit.tech/currencyPairs HTTP/1.1
    
    authorization: Bearer XXXXXXXXX
    x-userId: XXXXXXXXX
    x-password: XXXXXXXXX
    x-timestamp: XXXXXXXXX
    Accept: application/json
                                  
    							  
    							  
    import requests
    
    def execute():
      requestUrl = "https://testbed.cyncit.tech/currencyPairs"
      requestHeaders = {
      "authorization": "Bearer XXXXXXXXX",
      "x-userId": "XXXXXXXXX",
      "x-password": "XXXXXXXXX",
      "x-timestamp": "XXXXXXXXX",
      "Accept": "application/json"
      }
    
      request = requests.get(requestUrl, headers=requestHeaders)
    
      print request.content
    
    if __name__ == "__main__":
      execute()
    							  
    
    <$url = 'https://testbed.cyncit.tech/currencyPairs';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'authorization: Bearer XXXXXXXXX',
    'x-userId: XXXXXXXXX',
       'x-password: XXXXXXXXX',
       'x-timestamp: XXXXXXXXX',
      'Accept: application/json',
    ));
    $result = curl_exec($ch);
    if ($result === false) {
      echo curl_error($ch);
    }
    else {
      echo $result;
    }
      
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.stream.Collectors;
    
    public class ApiExample {
    
      public static String execute() throws IOException {
        URL url = new URL("https://testbed.cyncit.tech/currencyPairs");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("authorization", "Bearer XXXXXXXXX");
        connection.setRequestProperty("x-userId", "XXXXXXXXX");
    	connection.setRequestProperty("x-password", "XXXXXXXXX");
    	connection.setRequestProperty("x-timestamp", "XXXXXXXXX");
        connection.setRequestProperty("Accept", "application/json");
        try (BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
          return r.lines().collect(Collectors.joining("\n"));
        }
      }
    
      public static void main(String[] args) throws IOException {
        System.out.println(execute());
      }
    
    }
    
    const request = require('request');
    
    function execute() {
      const options = {
        "url": "https://testbed.cyncit.tech/currencyPairs",
        "method": "GET",
        "headers": {
        "authorization": "Bearer XXXXXXXXX",
         "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json"
        }
      };
      request(options, function (err, res, body) {
        if (err) {
          console.error(err);
        }
        else {
          console.log(body);
        }
      });
    }
    
    execute();
    
    
                                
    function execute() {
      const url = "https://testbed.cyncit.tech/currencyPairs";
      const options = {
        method: "GET",
        headers: {
         "authorization": "Bearer XXXXXXXXX",
          "x-userId": "XXXXXXXXX",
    	  "x-password": "XXXXXXXXX",
    	  "x-timestamp": "XXXXXXXXX",
          "Accept": "application/json"
        },
      };
      fetch(url, options).then(
        response => {
          if (response.ok) {
            return response.text();
          }
          return response.text().then(err => {
            return Promise.reject({
              status: response.status,
              statusText: response.statusText,
              errorMessage: err,
            });
          });
        })
        .then(data => {
          console.log(data);
        })
        .catch(err => {
          console.error(err);
        });
    }
    
    

    Response Codes

    0
    Paid Out
    100
    The service request is processed successfully.
    -1
    Not Allowed
    2001
    Rejected - Remitter / Beneficiary in Ofac List
    2002
    Rejected - Remitter / Beneficiary in EU Sanctions List
    2003
    Rejected - Remitter / Beneficiary in UN sanctions List
    2004
    Rejected - Credit Party customer type (Unregistered or Registered Customer) cant be supported by the service .
    2005
    Rejected - Declined due to limit rule: would exceed the maximum balance.
    2006
    Cancelled
    2007
    Rejected - The balance is insufficient for the transaction.
    2008
    Rejected - Declined due to limit rule: greater than the maximum transaction amount.
    2009
    Rejected - The ReceiverParty information is invalid.
    2010
    Rejected - The CreditParty is in an invalid state.
    2011
    Rejected - Request cancelled by user
    2012
    Rejected - DS timeout.
    3000
    Pending
    3001
    Approved
    3002
    Approved-Bank
    3003
    Auto-Pend
    3004
    Auto-Pay
    3005
    Other Error

    HTTP Response Codes

    200 OK
    400 Bad Request
    401 Unauthorized
    402 Request Failed
    404 Not Found
    409 Conflict
    429 Too Many Requests
    500, 502, 503, 504 Server Errors