Base Commerce Technical Documentation

Secured Vault

Included in the BaseCommerce platform is a secured vault that can be used for storing customer payment information, both credit card and bank account information. We encourage our partners and merchants to utilize our PCI Level1 compliant vault to store any payment information rather than storing this information within your software applications. Protecting consumer data is a critical responsibility of software developers, and a data breaches can be extremely costly in the event they occur. There are no additional costs for using the Base Commerce Secured Vault to store your payment details.

The vault works by assigning a unique token to each payment data record that is added to the system. Future transactions can then be processed by utilizing the token instead of the payment details. The vault has two scopes that can be used, a merchant level vault in which the data that is stored is accessible only for the merchant account that it is associated with and a partner level in which the data is accessible to all merchants that are associated with the partner. The scope of each stored record is dictated by the credentials that are used when creating the record. Records that are created using a merchant username, password, and key will be assigned the merchant scope, records that are created using a partner username, password, and key will be assigned the partner scope.

Adding Credit Card Vault Records

Credit card vault records are created using the BankCard object in the BaseCommerceSDK and the addBankCard method in the BaseCommerceClient.

BaseCommerceClient o_client = new BaseCommerceClient( "username", "password", "key");
BankCard o_bank_card = new BankCard ();
o_bank_card.setCardExpirationMonth("03");
o_bank_card.setCardExpirationYear("2019");
o_bank_card.setCardNumber( "4111111111111111");
o_bank_card.setCardName("Test Card");

You have the option of either specifying your own Token or having the BaseCommerce platform generate one for you. If you want to specify your own token you can set it using the setToken() method:

o_bank_card.setToken("myToken123");

The last step is to invoke the addBankCard() method on the BaseComerceClient.

o_bank_card = o_client.addBankCard( o_bank_card );

If you did not specify your own token when creating the BankCard object you can retrieve the system generated token by invoking the getToken() method on the BankCard object returned by addBankCard(). This is the token that you should stored on your system for future transactions.

Processing Credit Card Transactions Using A Token

Transactions can be processed using a vault token by setting the token on the BankCardTransaction object using the setToken() method. When a token is present on the BankCardTransaction payment details will be retrieved from the vault to process the payment.

Adding Bank Account Vault Records

Bank account vault records are created using the BankAccount object in the BaseCommerceSDK and the addBankAccount method in the BaseCommerceClient.

BaseCommerceClient o_client = new BaseCommerceClient( "username", "password", "key");
BankAccount o_bank_account = new BankAccount ();
o_bank_account.setAccountNumber( "123123123123");
o_bank_account.setRoutingNumber( "111000025");
o_bank_account.setType( BankAccount.XS_BA_TYPE_CHECKING);
o_bank_account.setAccountName("Test Card");

You have the option of either specifying your own Token or having the BaseCommerce platform generate one for you. If you want to specify your own token you can set it using the setToken() method:

o_bank_account.setToken("myToken123");

The last step is to invoke the addBankAccount() method on the BaseComerceClient.

o_bank_account = o_client.addBankAccount( o_bank_account );

If you did not specify your own token when creating the BankAccount object you can retrieve the system generated token by invoking the getToken() method on the BankAccount object returned by addBankAccount(). This is the token that you should stored on your system for future transactions.

Processing ACH Transactions Using A Token

Transactions can be processed using a vault token by setting the token on the BankAccountTransaction object using the setToken() method. When a token is present on the BankAccountTransaction payment details will be retrieved from the vault to process the payment.