Sub-Accounts

A sub-account is owned by a verified user and tied directly to a master account on VoPay’s platform that can act like a “wallet” for holding a stored value of CAD or USD funds.

Sub-accounts are developed to work independently; ie, each sub-account has its own separate balance and the ability to send and receive money, get reports, and process batches. The master account is able to generate reports per sub-account and all their sub-accounts.

📘

Important

The option to generate sub-accounts will only be available for clients that have signed a Sub-Account Agreement. This permission will be granted by the VoPay administrator.

How to start

The first step is to ensure that you have all the right permissions to set up and operate Sub-Accounts. If you are not sure or you don't know, please submit a support ticket through the VoPay portal.

Once you have confirmed that you have permission to create sub-accounts, please continue with the following:

To create and submit a sub-account request, you need to use the endpoint 'POST account/subaccount'. At this point, the user should provide the Account ID, Key, and Signature to authenticate themselves, plus the minimal information that we require to create a new sub-account.

$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, "https://earthnode-dev.vopay.com/api/v2/account/subaccount");
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
	curl_setopt($ch, CURLOPT_POSTFIELDS, array(
		"AccountID" => "myaccount",
		"Key" => "aae103d7a897358a65afeee30720f000f6d8eb6a",
		"Signature" => "aae103d7a897358a65afeee30720f000f6d8eb6a",
		"LegalBusinessName" => "Subaccount Legal Business Name",
		"AccountName" => "SubaccountName1",
	  	"EmailAddress" => "[email protected]",
	));
	curl_exec($ch);

Once the information is sent, the system will return the API shared secret, API Key, and the Account ID. With the API shared secret and API Key, you can generate the signature and log in as a sub-account to send the rest of the required information and finalize your sub-account creation successfully.

{
    "Success": "true",
    "Message": "Your sub-account has been created successfully",
    "AccountID": "SubaccountName1",
    "APISharedSecret": "LkZk+Ko3ocyGzZmPKm==",
    "APIKey": "0eab3450c5f5509212612ecef3056fe4f0505783"
}

Complete the required information

There are several fields that you have to complete in order to have your sub-account setup and running. These fields need to be completed in the endpoint: account/subaccount/submit-extended-info

Field NameTypeDescription
OriginatorNamestringShort Name of the company (max 15 characters)
AddressstringCompany’s address line 1
CitystringCompany’s city - No abbreviation
ProvincestringCompany’s province Ie. British Columbia, Alberta, etc.
PostalCodestringCompany’s postal code
CountrystringCompany’s country. Ie. Canada
PhoneNumberintegerCompany’s phone number
FaxintegerCompany’s fax number
EmailAddressstringCompany’s email address - Must be a valid email
NatureofBusinessstring
OrganizationalTypestringIe. Private Limited Company, Sole Trader, Unincorporated Partnership, Incorporated Partnership, Public Limited Company, Registered Charity, Trust, Other
RegistrationNumberintegerRegistration’s registration number
JurisdictionNumberintegerRegistration’s jurisdiction number
RegistrationProvincestringRegistration’s province name
DateofIncorporationstringFormat (yyyy-mm-dd) - Registration Information
ShareholderFullNamestringShareholder First name and last name
ShareholderOwnershipintegerPercentage of ownership only if is greater than 20%
ShareholderOccupationstringShareholder’s occupation
ShareholderHomeAddressstringShareholder’s home address
AuthorizedFullLegalNamestringSigning Authority and authorized representative - first name and last name
AuthorizedOccupationstringSigning Authority and authorized representatives - occupation

For more information, please visit our API Documentation.