Skip to content
Last updated

BillingPlatform customers and merchants can bulk import their existing payment methods (raw cards, tokens or direct debit payment method data) into BillingPlatform via the UI and API. The UI procedure is described here. This article describes the API procedure.

The following direct debit schemes are supported:

  • ACH
  • UK BACS
  • CAD ACSS
  • Australian BECs
  • SEPA

After the import, those payment methods will be available to BillingPlatform customers and merchants and their end users for viewing and managing as stored payment methods from the hosted payment page on the account, portal or account ledger page.

API calls and payment, refund, reversal and cancel operations can be successfully processed with a hosted payment gateway for these newly loaded payment methods.

To import credit card and direct debit tokens into BillingPlatform complete the following steps:

  1. Log in to an existing account in BillingPlatform or create a new account as described here.

  2. Fetch the target account details by executing the following request:

GET https://my.billingplatform.com/myorg/rest/2.0/ACCOUNT/<target account number>

  1. Copy the target account's billingProfileId from the response.

  2. Use the billingProfileId in the following API calls to insert the required wallet record into BillingPlatform.

Creating an ACH (Automated Clearing House) Wallet

To create a wallet for ACH payment methods, issue a POST /rest/2.0/WALLET call with the following parameters:

{
    "brmObjects": [
        {
            "BillingProfileId": "string",
            "Address1": "string",
            "City": "string",
            "Email": "string",
            "BillTo": "string",
            "State": "string",
            "Zip": "string",
            "Country": "string",
            "CurrencyCode": "string",
            "Status": "string",
            "fieldsToNull": [
                "Address2",
                "Phone",
                "CustomerRefNum"
            ],
            "AchBankAcctNum": "number",
            "AchBankAcctName": "string",
            "AchBranchCode": "number",
            "AchBankAbaCode": "-",
            "AchUniqueRef": "string",
            "PaymentGatewayId":"number",
            "PaymentGatewayProfileid":"number",
            "DefaultFlag": "boolean",
            "AchScheme":"ach"
        }
    ]
}
FieldData TypeRequiredDescription
BillingProfileIDstringyesBilling Profile ID. This ID is the same as the account ledger number from the BillingPlatform Account.
Address1stringyesLine 1 of the customer’s address.
CitystringnoThe city from the customer’s billing address.
EmailstringnoThe customer’s main contact email address.
BillTostringnoThe name you would like to display on customer invoices.
StatestringnoThe customer’s state from the billing address.
ZipstringnoThe ZIP code from the customer’s billing address.
CountrystringnoThe customer’s country from the billing address.
CurrencyCodestringnoThe invoice currency code.
StatusstringnoIndicates if the wallet is ACTIVE or DEACTIVATED. Setting to DEACTIVATED will return an error when a customer tries to use the wallet.
Address2stringnoLine 2 of the customer’s address. This field can be safely ignored.
PhonestringnoThe customer’s phone number. This field can be safely ignored.
CustomerRefNumnumbernoFor payment methods that support cardholder profiles, enter the profile here. This field can be safely ignored.
AchBankAcctNumnumberyesWhen importing existing tokens (AchUniqueRef field), if the last 4 digits of the account number are known, enter them. Otherwise it can be all zeroes or same 4 custom digits to indicate that this is an existing token. This field is required by BillingPlatform.
AchBankAcctNamestringnoThe name associated with the customer’s bank account.
AchBranchCodestringnoThe branch code of the customer’s bank. For importing an existing token, this can be set to six zeroes if the branch code is not known.
AchBankAbaCodestringnoFor importing an existing token, this can be set to any string or “-” if the bank code is not known.
PaymentGatewayProfileIdstringyesThe payment gateway profile ID that must be specified so BillingPlatform knows which profile/merchant account needs to be associated with this token.
PaymentGatewayIdstringyesThe Ecom Gateway ID that is defined in the gateway settings.
DefaultFlagbooleanyesSet this to 1 if this payment method needs to be used for auto-pay.
AchSchemestringyesach

Creating a BACS (UK Direct Debit) Wallet

To create a wallet for UK BACS payment methods, issue a POST /rest/2.0/WALLET call with the following parameters:

{
    "brmObjects": [
        {
            "BillingProfileId": "string",
            "Address1": "string",
            "City": "string",
            "Email": "string",
            "BillTo": "string",
            "State": "string",
            "Zip": "string",
            "Country": "UK",
            "CurrencyCode": "GBP",
            "Status": "string",
            "fieldsToNull": [
                "Address2",
                "Phone",
                "CustomerRefNum"
            ],
            "AchBankAcctNum": "number",
            "AchBankAcctName": "string",
            "AchBranchCode": "number",
            "AchBankAbaCode": "-",
            "AchUniqueRef": "string",
            "PaymentGatewayId":"number",
            "PaymentGatewayProfileid":"number",
            "DefaultFlag": "boolean",
            "AchScheme":"bacs"
        }
    ]
}
FieldData TypeRequiredDescription
BillingProfileIDstringyesBilling Profile ID. This ID is the same as the account ledger number from the BillingPlatform Account.
Address1stringyesLine 1 of the customer’s address.
CitystringnoThe city from the customer’s billing address.
EmailstringnoThe customer’s main contact email address.
BillTostringnoThe name you would like to display on customer invoices.
StatestringnoThe customer’s state from the billing address.
ZipstringnoThe ZIP code from the customer’s billing address.
CountrystringnoThe customer’s country from the billing address. For a BACS wallet, set to UK.
CurrencyCodestringnoThe currency code for the customer. For a BACS wallet, set this field to GBP.
StatusstringnoIndicates if the wallet is ACTIVE or DEACTIVATED. Setting to DEACTIVATED will return an error when a customer tries to use the wallet.
Address2stringnoLine 2 of the customer’s address. This field can be safely ignored.
PhonestringnoThe customer’s phone number. This field can be safely ignored.
CustomerRefNumnumbernoFor payment methods that support cardholder profiles, enter the profile here. This field can be safely ignored.
AchBankAcctNumnumberyesWhen importing existing tokens (AchUniqueRef field), if the last 4 digits of the account number are known, enter them. Otherwise, it can be all zeroes or some 4 custom digits to indicate that this is an existing token. This field is required by BillingPlatform.
AchBankAcctNamestringnoThe name associated with the customer’s account in an Automated Clearing House (ACH).
AchBranchCodestringnoThe branch code of the customer’s bank. For importing an existing token, this can be set to six zeroes if the branch code is not known.
AchBankAbaCodestringnoFor importing an existing token, this can be set to any string or “-” if the bank code is not known.
PaymentGatewayIdstringyesThe Ecom Gateway ID that is defined in the gateway settings.
PaymentGatewayProfileIdstringyesThe payment gateway profile ID that must be specified so BillingPlatform knows which profile/merchant account needs to be associated with this token.
DefaultFlagbooleanyesSet this to 1 if this payment method needs to be used for auto-pay.
AchSchemestringyesbacs

Creating an ACSS (Canadian Pre-Authorized Debit) Wallet

To create a wallet for Canadian ACSS payment methods, issue a POST /rest/2.0/WALLET call with the following parameters:

{
    "brmObjects": [
        {
            "BillingProfileId": "string",
            "Address1": "string",
            "City": "string",
            "Email": "string",
            "BillTo": "string",
            "State": "string",
            "Zip": "string",
            "Country": "CA",
            "CurrencyCode": "CAD",
            "Status": "string",
            "fieldsToNull": [
                "Address2",
                "Phone",
                "CustomerRefNum"
            ],
            "AchBankAcctNum": "number",
            "AchBankAcctName": "string",
            "AchBranchCode": "string",          
            "AchBankAbaCode": "string",
            "AchUniqueRef": "string",
            "PaymentGatewayId":"number",
            "PaymentGatewayProfileid":"number",
            "DefaultFlag": "boolean",
            "AchScheme":"acssDebit"
        }
    ]
}
FieldData TypeRequiredDescription
BillingProfileIDstringyesBilling Profile ID. This ID is the same as the account ledger number from the BillingPlatform Account.
Address1stringyesLine 1 of the customer’s address.
CitystringnoThe city from the customer’s billing address.
EmailstringnoThe customer’s main contact email address.
BillTostringnoThe name you would like to display on customer invoices.
StatestringnoThe customer’s state from the billing address.
ZipstringnoThe ZIP code from the customer’s billing address.
CountrystringnoThe customer’s country from the billing address. For an ACSS wallet, set to CA.
CurrencyCodestringnoThe currency code for the customer. For an ACSS wallet, set to CAD.
StatusstringnoIndicates if the wallet is ACTIVE or DEACTIVATED. Setting to DEACTIVATED will return an error when a customer tries to use the wallet.
Address2stringnoLine 2 of the customer’s address. This field can be safely ignored.
PhonestringnoThe customer’s phone number. This field can be safely ignored.
CustomerRefNumnumbernoFor payment methods that support cardholder profiles, enter the profile here. This field can be safely ignored.
AchBankAcctNumnumberyesWhen importing existing tokens (AchUniqueRef field), if the last 4 digits of the account number are known, enter them. Otherwise, it can be all zeroes or some 4 custom digits to indicate that this is an existing token. This field is required by BillingPlatform.
AchBankAcctNamestringnoThe name associated with the customer’s bank account.
AchBranchCodestringnoThe branch code of the customer’s bank. For importing an existing token, this can be set to six zeroes if the branch code is not known.
AchBankAbaCodestringnoFor importing an existing token, this can be set to any string or “-” if the bank code is not known.
PaymentGatewayIdstringyesThe Ecom Gateway ID that is defined in the gateway settings.
PaymentGatewayProfileIdstringyesThe payment gateway profile ID that must be specified so BillingPlatform knows which profile/merchant account needs to be associated with this token.
DefaultFlagbooleanyesSet this to 1 if this payment method needs to be used for auto-pay.
AchSchemestringyesaccsDebit

Creating an Australian BECS (Bulk Electronic Clearing System) Wallet

To create a wallet for Australian BECS payment methods, issue a POST /rest/2.0/WALLET call with the following parameters:

{
    "brmObjects": [
        {
            "BillingProfileId": "string",
            "Address1": "string",
            "City": "string",
            "Email": "string",
            "BillTo": "string",
            "State": "string",
            "Zip": "string",
            "Country": "AU",
            "CurrencyCode": "AUD",
            "Status": "string",
            "fieldsToNull": [
                "Address2",
                "Phone",
                "CustomerRefNum"
            ],
            "AchBankAcctNum": "number",
            "AchBankAcctName": "string",
            "AchBranchCode": "string",
            "AchBankAbaCode": "string",
            "AchUniqueRef": "string",
            "PaymentGatewayId":"number",
            "PaymentGatewayProfileid":"number",
            "DefaultFlag": "boolean",
            "AchScheme":"becs"
        }
    ]
}
FieldData TypeRequiredDescription
BillingProfileIDstringyesBilling Profile ID. This ID is the same as the account ledger number from the BillingPlatform Account.
Address1stringyesLine 1 of the customer’s address.
CitystringnoThe city from the customer’s billing address.
EmailstringnoThe customer’s main contact email address.
BillTostringnoThe name you would like to display on customer invoices.
StatestringnoThe customer’s state from the billing address.
ZipstringnoThe ZIP code from the customer’s billing address.
CountrystringnoThe customer’s country from the billing address. For a BECS wallet, set this field to AU.
CurrencyCodestringnoThe currency code for the customer. For a BECS wallet, set this field to AUD.
StatusstringnoIndicates if the wallet is ACTIVE or DEACTIVATED. Setting to DEACTIVATED will return an error when a customer tries to use the wallet.
Address2stringnoLine 2 of the customer’s address. This field can be safely ignored.
PhonestringnoThe customer’s phone number. This field can be safely ignored.
CustomerRefNumnumbernoFor payment methods that support cardholder profiles, enter the profile here. This field can be safely ignored.
AchBankAcctNumnumberyesWhen importing existing tokens (AchUniqueRef field), if the last 4 digits of the account number are known, enter them. Otherwise, it can be all zeroes or some 4 custom digits to indicate that this is an existing token. This field is required by BillingPlatform.
AchBankAcctNamestringnoThe name associated with the customer’s bank account.
AchBranchCodestringnoThe branch code of the customer’s bank. For importing an existing token, this can be set to six zeroes if the branch code is not known.
AchBankAbaCodestringnoFor importing an existing token, this can be set to any string or “-” if the bank code is not known.
PaymentGatewayIdstringyesThe Ecom Gateway ID that is defined in the gateway settings.
PaymentGatewayProfileIdstringyesThe payment gateway profile ID that must be specified so BillingPlatform knows which profile/merchant account needs to be associated with this token.
DefaultFlagbooleanyesSet this to 1 if this payment method needs to be used for auto-pay.
AchSchemestringyesbecs

Creating a SEPA (Single Euro Payments Area) Wallet

To create a wallet for SEPA payment methods, issue a POST /rest/2.0/WALLET call with the following parameters:

{
    "brmObjects": [
        {
            "BillingProfileId": "string",
            "Address1": "string",
            "City": "string",
            "Email": "string",
            "BillTo": "string",
            "State": "string",
            "Zip": "string",
            "Country": "string",
            "CurrencyCode": "EUR",
            "Status": "string",
            "fieldsToNull": [
                "Address2",
                "Phone",
                "CustomerRefNum"
            ],
            "AchBankAcctNum": "number",
            "AchBranchCode": "number",
            "AchBankAcctName": "string",
            "AchBankAbaCode": "-",
            "AchUniqueRef": "string",
            "PaymentGatewayId":"number",
            "PaymentGatewayProfileid":"number",
            "DefaultFlag": "boolean",
            "AchScheme":"sepa"
        }
    ]
}
FieldData TypeRequiredDescription
BillingProfileIDstringyesBilling Profile ID. This ID is the same as the account ledger number from the BillingPlatform Account.
Address1stringyesLine 1 of the customer’s address.
CitystringnoThe city from the customer’s billing address.
EmailstringnoThe customer’s main contact email address.
BillTostringnoThe name you would like to display on customer invoices.
StatestringnoThe customer’s state from the billing address.
ZipstringnoThe ZIP code from the customer’s billing address.
CountrystringnoThe customer’s country from the billing address. For a SEPA wallet, set this field to EU.
CurrencyCodestringnoThe currency code for the customer. For a SEPA wallet, set this field to EUR.
StatusstringnoIndicates if the wallet is ACTIVE or DEACTIVATED. Setting to DEACTIVATED will return an error when a customer tries to use the wallet.
Address2stringnoLine 2 of the customer’s address. This field can be safely ignored.
PhonestringnoThe customer’s phone number. This field can be safely ignored.
CustomerRefNumnumbernoFor payment methods that support cardholder profiles, enter the profile here. This field can be safely ignored.
AchBankAcctNumnumberyesWhen importing existing tokens (AchUniqueRef field), if the last 4 digits of the account number are known, enter them. Otherwise, it can be all zeroes or some 4 custom digits to indicate that this is an existing token. This field is required by BillingPlatform.
AchBankAcctNamestringnoThe branch code of the customer’s bank. For importing an existing token, this can be set to six zeroes if the branch code is not known.
AchBranchCodestringnoThe branch code of the customer’s bank. For importing an existing token, this can be set to six zeroes if the branch code is not known.
AchBankAbaCodestringnoFor importing an existing token, this can be set to any string or “-” if the bank code is not known.
PaymentGatewayIdstringyesThe Ecom Gateway ID that is defined in the gateway settings.
PaymentGatewayProfileIdstringyesThe payment gateway profile ID that must be specified so BillingPlatform knows which profile/merchant account needs to be associated with this token.
DefaultFlagbooleanyesSet this to 1 if this payment method needs to be used for auto-pay.
AchSchemestringyessepa