Skip to content

3.2 Sole Trader

A sole trader is a simple business structure where a single individual runs and owns the business. The following chapter briefly explains how the POST request is implemented in code and how the request payload for a sole trader is constructed.

Example request

The API Documentation explains what is required in most of the fields.

Below are a few examples on how you can implement the POST method for sole trader;

using (var httpClient = new HttpClient())
{
    httpClient.BaseAddress = new Uri("https://boarding.uat.valitor.com/isoapi/");
    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    // The Api key will be provided by Rapyd's implementation specialist
    httpClient.DefaultRequestHeaders.Add("Apikey", apiKey);

    // The Api version should be the latest version by default - see API documentation for more info
    httpClient.DefaultRequestHeaders.Add("api-version", apiVersion);

    string jsonPayload = "{see JSON request payload example below}";

    var content = new StringContent(jsonPayload, Encoding.UTF8, "application/json");
    var response = httpClient.PostAsync("soletrader",content);

}
var axios = require('axios');
var data = JSON.stringify({see payload below});

var config = {
    method: 'post',
    url: 'https://boarding.uat.valitor.com/isoapi/soletrader',
    headers: {
        'api-version': '2.0',
        'apiKey': apiKey,
        'Content-Type': 'application/json'
    },
    data: data
};
axios(config)
    .then(function (response) {
        console.log(JSON.stringify(response.data));
    })
    .catch(function (error) {
        console.log(error);
    });
import http.client
import json

conn = http.client.HTTPSConnection("boarding.uat.valitor.com")
payload = json.dumps({"see JSON payload below"})
headers = {
    'api-version': '2.0',
    'apiKey': apiKey,
    'Content-Type': 'application/json'
}
conn.request("POST", "/isoapi/soletrader", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Example request payload

Below is an example on how the JSON request payload might look like.

NOTE: The Fees property is populated by using the JSON payload response from GET /settings. Please see 3.1 General information for further explanation.

{
    "applicant": {
        "firstName": "Jonathan",
        "middleName": "Michael",
        "lastName": "Johnson",
        "ssn": "101285-2379",
        "address": {
            "street": "Long Street 76",
            "postalCode": "101213",
            "city": "London",
            "countryCode": "GB"
        },
        "phone": "+354/6715544",
        "email": "j.johnson@outlook.com",
        "dateOfBirth": "1978-10-07",
        "identificationAttachment": {
            "File": "iVBORw0KGgoAAAANSUhEUgAABQAAAAURCAMAAADnsN77AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURQAAADArLCMeHy8rLCMeHzIuLyYhIjQvMDIuLjEtLjAsLS0oKSMeHzArLCUgIS8rLColJiQfICIdHiUgISgkJSQfICUgISMeHyUgISQfICMeHysnJyciIycjJCciIyUgISQfICgjJCUgISEbHCUgISIdHjMuLx0YGTw4OSsmJ2xqanFubkhERbW0tMGvFOEaIv/mACQf",
            "Filename": "IdentificationFile.png"
        },
        "invoiceStatementOnMerchantLevel": true,
        "legalName": "The Corner Store"
    },
    "stores": [
        {
            "name": "My Store R2L",
            "merchantCategoryCode": 8351,
            "acceptedCardTypes": [
                "VISA",
                "MasterCard",
                "Amex"
            ],
            "acceptedPaymentCardsInPast": true,
            "address": {
                "street": "Long Street 76",
                "postalCode": "101213",
                "city": "London",
                "countryCode": "GB"
            },
            "transactionInformation": {
                "expectedAverageTransactionAmount": 10000,
                "expectedMaximumTransactionAmount": 10000,
                "averageTimeBetweenPurchaseAndDeliveryInDays": 1,
                "averageMonthlyVolume": 1000
            },
            "acceptedTransactionTypes": [
                "CardPresent"
            ],
            "volumeInformation": [
                {
                    "transactionTypeCategory": "CardPresent",
                    "volume": 500
                }
            ]
        }
    ],
    "bankAccount": {
        "bankName": "Grand Central Bank",
        "accountNumber": "001122334455",
        "bankAddress": {
            "street": "Long Street 76",
            "postalCode": "108",
            "city": "Reykjavik",
            "countryCode": "IS"
        },
        "iban": "1234567",
        "swiftNumber": "12345678",
        "sortCode": "12-34-56",
        "BankAccountConfirmationAttachment": {
            "File": "iVBORw0KGgoAAAANSUhEUgAABQAAAAURCAMAAADnsN77AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURQAAADArLCMeHy8rLCMeHzIuLyYhIjQvMDIuLjEtLjAsLS0oKSMeHzArLCUgIS8rLColJiQfICIdHiUgISgkJSQfICUgISMeHyUgISQfICMeHysnJyciIycjJCciIyUgISQfICgjJCUgISEbHCUgISIdHjMuLx0YGTw4OSsmJ2xqanFubkhERbW0tMGvFOEaIv/mACQf",
            "Filename": "BankAccountConfirmationFile.png"
        },
        "bankAccountConfirmed": true
    },
    "fees": {
        "merchantServiceChargeFees": [
            {
                "name": "Domestic debit cards",
                "fixedValue": 0.03,
                "percentageValue": 0.01
            },
            {
                "name": "Domestic credit cards",
                "fixedValue": 0.00,
                "percentageValue": 0.20
            },
            {
                "name": "Foreign debit cards",
                "fixedValue": 0.05,
                "percentageValue": 0.40
            },
            {
                "name": "Foreign credit cards",
                "fixedValue": 0.08,
                "percentageValue": 0.50
            }
        ]
    },
    "additionalAttachments": []
}

Example successful response

201 Created

{
  "success": true,
    "statusCode": 201,
    "message": "Created",
    "data": {   
        "merchantName": "My Company",
        "merchantId": 2328,
        "stores": [
            {
                "storeName": "Store name",
                "agreementId": 101566,
                "terminalId": 10001554
            }
        ]
    }
}