---
updatedAt: 2025-05-19T21:13:17.000Z
agentTools:
  projectIndex: https://docs.vopay.com/llms.txt
---

# Subscription Service

```curl cURL
 curl --request POST \
     --url https://earthnode-dev.vopay.com/api/v2/account/client-accounts/business \
     --header 'accept: application/json' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data 'AccountID={AccountID}' \
     --data 'Key={APIKey}' \
     --data 'Signature={Signature}' \
     --data FirstName=Jeff \
     --data LastName=Bezos \
     --data EmailAddress=jeff.bezos@aws.com \
     --data 'Address1=123 Fake St' \
     --data City=Vancouver \
     --data Province=BC \
     --data Country=CA \
     --data PostalCode=A1A1A1 \
     --data Currency=CAD \
     --data 'BusinessName=AWS' \
     --data BusinessNumber=123456789 \
     --data BusinessTypeID=8 \
     --data BusinessTypeCategoryID=0 \
     --data BusinessWebsite=https://amazonwaws.com \
     --data BusinessPhone=5551234567 \
     --data FinancialInstitutionNumber=010 \
     --data BranchTransitNumber=12345 \
     --data AccountNumber=1234567
 
 curl --request POST \
     --url https://earthnode-dev.vopay.com/api/v2/account/client-accounts/individual \
     --header 'accept: application/json' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data 'AccountID={AccountID}' \
     --data 'Key={APIKey}' \
     --data 'Signature={Signature}' \
     --data FirstName=Grace \
     --data LastName=Hopper \
     --data EmailAddress=grace.hopper@gmail.com \
     --data 'Address1=123 Fake St' \
     --data City=Vancouver \
     --data Province=BC \
     --data Country=CA \
     --data PostalCode=A1A1A1 \
     --data Currency=CAD \
     --data DOB=02/29/1980 \
     --data SINLastDigits=1234 \
     --data FinancialInstitutionNumber=001 \
     --data BranchTransitNumber=12345 \
     --data AccountNumber=1234567
     
 curl --request POST \
     --url https://earthnode-dev.vopay.com/api/v2/account/client-accounts/fund-transfer-withdraw/schedule \
     --header 'accept: application/json' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data 'AccountID={AccountID}' \
     --data 'Key={APIKey}' \
     --data 'Signature={Signature}' \
     --data DebitorClientAccountID=GraceHopper \
     --data RecipientClientAccountID=AWS \
     --data Amount=2500 \
     --data Frequency=monthly \
     --data ScheduleStartDate=2023-01-01 \
     --data ScheduleEndDate=2023-12-31 \
     --data 'Description=Monthly AWS Fees'
```

```javascript JavaScript
const sdk = require('api')('@vopay-api/v2.0#1k6f827lavrdxve');

sdk.clientAccountBusinessPOST({
  AccountID: '{AccountID}',
  Key: '{APIKey}',
  Signature: '{Signature}',
  FirstName: 'Jeff',
  LastName: 'Bezos',
  EmailAddress: 'jeff.bezos@aws.com',
  Address1: '123 Fake St',
  City: 'Vancouver',
  Province: 'BC',
  Country: 'CA',
  PostalCode: 'A1A1A1',
  Currency: 'CAD',
  BusinessName: 'AWS',
  BusinessNumber: '123456789',
  BusinessTypeID: 8,
  BusinessTypeCategoryID: 0,
  BusinessWebsite: 'https://amazonaws.com',
  BusinessPhone: '5551234567',
  FinancialInstitutionNumber: '010',
  BranchTransitNumber: '12345',
  AccountNumber: '1234567'
}, {accept: 'application/json'})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));


sdk.clientAccountIndividualPOST({
  AccountID: '{AccountID}',
  Key: '{APIKey}',
  Signature: '{Signature}',
  FirstName: 'Grace',
  LastName: 'Hopper',
  EmailAddress: 'grace.hopper@gmail.com',
  Address1: '123 Fake St',
  City: 'Vancouver',
  Province: 'BC',
  Country: 'CA',
  PostalCode: 'A1A1A1',
  Currency: 'CAD',
  DOB: '02/29/1980',
  SINLastDigits: 1234,
  FinancialInstitutionNumber: '001',
  BranchTransitNumber: '12345',
  AccountNumber: '1234567'
}, {accept: 'application/json'})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));


sdk.clientAccountFundTransferWithdrawSchedulePOST({
  AccountID: '{AccountID}',
  Key: '{APIKey}',
  Signature: '{Signature}',
  DebitorClientAccountID: 'GraceHopper',
  RecipientClientAccountID: 'AWS',
  Amount: 2500,
  Frequency: 'monthly',
  ScheduleStartDate: '2023-01-01',
  ScheduleEndDate: '2023-12-31',
  Description: 'Monthly AWS Fees'
}, {accept: 'application/json'})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
```

```php PHP
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://earthnode-dev.vopay.com/api/v2/account/client-accounts/business', [
  'form_params' => [
    'AccountID' => '{AccountID}',
    'Key' => '{APIKey}',
    'Signature' => '{Signature}',
    'FirstName' => 'Jeff',
    'LastName' => 'Bezos',
    'EmailAddress' => 'jeff.bezos@aws.com',
    'Address1' => '123 Fake St',
    'City' => 'Vancouver',
    'Province' => 'BC',
    'Country' => 'CA',
    'PostalCode' => 'A1A1A1',
    'Currency' => 'CAD',
    'BusinessName' => 'AWS',
    'BusinessNumber' => '123456789',
    'BusinessTypeID' => 8,
    'BusinessTypeCategoryID' => 0,
    'BusinessWebsite' => 'https://amazonaws.com',
    'BusinessPhone' => '5551234567',
    'FinancialInstitutionNumber' => '010',
    'BranchTransitNumber' => '12345',
    'AccountNumber' => '1234567'
  ],
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/x-www-form-urlencoded',
  ],
]);

echo $response->getBody();


$response = $client->request('POST', 'https://earthnode-dev.vopay.com/api/v2/account/client-accounts/individual', [
  'form_params' => [
    'AccountID' => '{AccountID}',
    'Key' => '{APIKey}',
    'Signature' => '{Signature}',
    'FirstName' => 'Grace',
    'LastName' => 'Hopper',
    'EmailAddress' => 'grace.hopper@gmail.com',
    'Address1' => '123 Fake St',
    'City' => 'Vancouver',
    'Province' => 'BC',
    'Country' => 'CA',
    'PostalCode' => 'A1A1A1',
    'Currency' => 'CAD',
    'DOB' => '02/29/1980',
    'SINLastDigits' => 1234,
    'FinancialInstitutionNumber' => '001',
    'BranchTransitNumber' => '12345',
    'AccountNumber' => '1234567'
  ],
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/x-www-form-urlencoded',
  ],
]);

echo $response->getBody();



$response = $client->request('POST', 'https://earthnode-dev.vopay.com/api/v2/account/client-accounts/fund-transfer-withdraw/schedule', [
  'form_params' => [
    'AccountID' => '{AccountID}',
    'Key' => '{APIKey}',
    'Signature' => '{Signature}',
    'DebitorClientAccountID' => 'GraceHopper',
    'RecipientClientAccountID' => 'AWS',
    'Amount' => 2500,
    'Frequency' => 'monthly',
    'ScheduleStartDate' => '2023-01-01',
    'ScheduleEndDate' => '2023-12-31',
    'Description' => 'Monthly AWS Fees'
  ],
  'headers' => [
    'accept' => 'application/json',
    'content-type' => 'application/x-www-form-urlencoded',
  ],
]);

echo $response->getBody();

?>
```

```python Python
import requests

url = "https://earthnode-dev.vopay.com/api/v2/account/client-accounts/business"

payload = "AccountID=%7BAccountID%7D&Key=%7BAPIKey%7D&Signature=%7BSignature%7D&FirstName=Ada&LastName=Lovelace&EmailAddress=ada.lovelace%40gmail.com&Address1=123%20Fake%20St&City=Vancouver&Province=BC&Country=CA&PostalCode=A1A1A1&Currency=CAD&BusinessName=Alpha%20Fund%20X&BusinessNumber=123456789&BusinessTypeID=8&BusinessTypeCategoryID=0&BusinessWebsite=https%3A%2F%2Falphafundx.com&BusinessPhone=5551234567&FinancialInstitutionNumber=010&BranchTransitNumber=12345&AccountNumber=1234567"
headers = {
    "accept": "application/json",
    "content-type": "application/x-www-form-urlencoded"
}

response = requests.post(url, data=payload, headers=headers)

print(response.text)


url = "https://earthnode-dev.vopay.com/api/v2/account/client-accounts/individual"

payload = "AccountID=%7BAccountID%7D&Key=%7BAPIKey%7D&Signature=%7BSignature%7D&FirstName=Grace&LastName=Hopper&EmailAddress=grace.hopper%40gmail.com&Address1=123%20Fake%20St&City=Vancouver&Province=BC&Country=CA&PostalCode=A1A1A1&Currency=CAD&DOB=02%2F29%2F1980&SINLastDigits=1234&FinancialInstitutionNumber=001&BranchTransitNumber=12345&AccountNumber=1234567"
headers = {
    "accept": "application/json",
    "content-type": "application/x-www-form-urlencoded"
}

response = requests.post(url, data=payload, headers=headers)

print(response.text)


url = "https://earthnode-dev.vopay.com/api/v2/account/client-accounts/fund-transfer-withdraw/schedule"

payload = {
    "AccountID": "{AccountID}",
    "Key": "{APIKey}",
    "Signature": "{Signature}",
    "DebitorClientAccountID": "GraceHopper",
    "RecipientClientAccountID": "AWS",
    "Amount": 2500,
    "Frequency": "monthly",
    "ScheduleStartDate": "2023-01-01",
    "ScheduleEndDate": "2023-12-31",
    "Description": "Monthly AWS Fees"
}
headers = {
    "accept": "application/json",
    "content-type": "application/x-www-form-urlencoded"
}

response = requests.post(url, data=payload, headers=headers)

print(response.text)
```

```json Response Example
{"success":true}
```

# Add a business

<!-- curl@1-25 -->
<!-- javascript@3-27 -->
<!-- php@6-36 -->
<!-- python@3-13 -->

Create a client account for the business entity that wants to collect subscription dues

# Add a subscriber

<!-- curl@27-47 -->
<!-- javascript@30-50 -->
<!-- php@39-65 -->
<!-- python@16-26 -->

Create a client account entity for each subscriber you want to add

# Setup your susbscription collection

<!-- curl@49-64 -->
<!-- javascript@53-66 -->
<!-- php@69-88 -->
<!-- python@29-50 -->

Create a recurring payment to collect the subscription amount from your customer each month and deposit it straight into your business's bank account.

Provide the Client Account IDs you generated in the previous steps. 

The bank account associated with the subscriber and business will be used in the scheduled payment collections.