When a merchant uses Bambora's Batch processing, they can process multiple credit card or direct payments (EFT/EBP/ACH) transactions by submitting a single file to Bambora for processing. Unlike other services offered by Bambora, Batch Processing is technically an offline process, as transactions are not processed immediately after data is received in our system.
Merchants can use the Bambora batch services to prepare a file in advance and schedule billings for a later processing date. Direct payment files start processing after 11:00 am (PST) and, credit card files process early morning (PST). For the Credit card files, you also have the option to process them immediately after uploading the file.
Bank payments (EBP & ACH transactions) take about three business days (your credit date may be higher or lower as it is based on the credit lag time that is configured in your account) to complete because banks need that time to exchange records and update their systems.
The Bambora Batch Processing service accepts files that follow the comma separated (CSV) format. Files must have a file extension of either .csv or .txt.
Profiles API - Endpoint
In order to store or modify information within a Payment Profile, you will need to make an API call against the Secure Payment Profiles API:
Profiles API – request variables
A full API integration allows a merchant to create new profiles and query, modify profiles, and store bank accounts per profile using three different operation types.
operationType=N -- Create a New profile tied to one individual, assigning and validating a single bank account. Additionally, billing, language and custom reference information, a customer code, account number group, and velocity limits can be input at that time.
operationType=M -- Modify billing information, language, and custom reference fields; change an existing account; process a validation against that updated account; and assign different groups, velocity limits and account numbers.
operationType=Q -- Query a profile for a list of information associated with a profile including billing data, groups and account numbers, velocity limits, language.
These are the required input variables. to complete the operations described above.
|Group||Variable||New (N)||Modify (M)||Query (Q)||Description|
|Basic API call||operationType||R||R||R||N – Create a New profile
M – Modify an existing profile
Q – Query an existing profile
|serviceVersion||R||R||R||1.0 for the current version.|
|merchantId||R||R||R||Pass the merchant’s unique Bambora identification number. Bambora issues one merchant ID per currency. If the merchant is processing in both Canadian and US dollars, complete one full integration per merchant ID number. Note: This field is different than the merchantid field used in the Process Transaction API.|
|subMerchantId||O||O||O||Used for parent/ISV level processing. If used then merchantId and passCode must match the parent level account, subMerchantId will match the individual sub account being targetted with the operation. This service needs to be enabled prior to usage, please contact Customer Experience if authentication fails.|
|Important! Use only one of the next two variables. Use passCode OR use hashValue|
|passCode||→||→||→||Specify the API access passCode generated on the payment profile configuration page.
Note: If using an XML formatted request, you must use passCode; if using a Querystring formatted request, you can use either passCode (or hashValue).
|responseFormat||R||R||R||XML – eXtensible Markup Language
QS – Querystring
|Specify Customer Code (or token)||customerCode||O||R||R||Token used to identify the profile in transactions.
New profiles: Submit a value up to 32 characters—leave blank to use a system generated value.
Existing profile: Reference the customerCode associated with the profile. customerCode cannot be modified after it is assigned to a profile.
|Specify an “Order Number”||trnOrderNumber||O||O||O||By assigning a unique order number with each request to create or modify a profile, merchants can process status requests to query response messages. Maximum 30 alphanumeric characters.|
|Activate, disable, or close profiles||status||N/A||O||N/A||A – Payments can be processed against the profile.
D – Payments cannot be processed against the profile. If needed, the profile can be reactivated at a later date.
C – No payments can be processed against the profile. If needed, the profile can be reactivated at a later date. When modifying an existing profile, use this field in conjunction with operationType=M
|EBP Bank payments (EFT or ACH). *Limited availability service for pre-approved custom clients. Before integrating contact: Bambora Customer Experience||bankAccountType||R||O||N/A||Type of bank account belonging to the customer. Merchants can only process in the currency of their Bambora account. Options for merchants processing in Canadian currency.
CA – Canadian dollar account from a Canadian Bank
|bankAccountHolder||R||O||N/A||Name of the account holder.|
|institutionNumber||R||O||N/A||For Canadian bank accounts only. The customer's 3-digit financial institution number.|
|branchNumber||R||O||N/A||For Canadian bank accounts only. The customer’s 5-digit bank transit/branch number.|
|routingNumber||R||O||N/A||For US bank accounts only. The customer’s 9-digit routing number.|
|accountNumber||R||O||N/A||For US and Canadian bank accounts. The customer’s bank account number. Account number can vary in length; maximum 17 digits.|
|ACH Bank Payments. * Limited availability service for pre-approved custom clients. Before integrating contact Bambora Customer Experience||bankAccountType||R||O||N/A||Options for merchants processing in US currency.
PC – US Personal Checking account
PS – US Personal Saving account
CC – US Corporate Checking account
CS – US Corporate Savings account
|bankAccountHolder||R||O||N/A||Account holder name,|
|institutionNumber||R||O||N/A||Canadian bank accounts only. The customer's 3-digit financial institution number.|
|branchNumber||R||O||N/A||Canadian bank accounts: The customer’s 5-digit bank transit/branch number.
US bank accounts: The first 9-digits on the customer’s check.
|accountNumber||R||O||N/A||US and Canadian bank accounts. The customer’s bank account number. Account number can vary in length. Maximum 17 digits.|
|routingNumber||R||O||N/A||US bank accounts only. Customer’s 9-digit routing number.|
|Collect additional contact details||ordName||O||→||N/A||Specify a primary billing contact name. Maximum 64 alphanumeric characters. Mandatory if you are using preventing duplicate profiles.|
|ordAddress1||O||O||N/A||Billing address. Maximum 32 alphanumeric characters.|
|ordAddress2||O||O||N/A||Additional 32 alphanumeric characters for longer addresses.|
|ordCity||O||O||N/A||City name for billing information.|
|ordProvince||O||O||N/A||Valid province/state code|
|ordCountry||O||O||N/A||Valid country code|
|ordPostalCode||O||O||N/A||Billing address postal/zip code.|
|ordEmailAddress||O||O||N/A||Email address for the primary contact.|
|ordPhoneNumber||O||O||N/A||Primary contact phone number for billing information.|
|trnLanguage||O||O||N/A||Default is ENG for English. Submit FRE to direct customers to a French version of the web form.|
|velocityIdentity||O||O||N/A||Velocity groups are used to limit the dollar amount that a profile owner can spend over a specific period. Assign profiles to the appropriate group by passing a velocity ID value in this variable. Velocity ID values can be up to 8 alphanumeric characters. You cannot assign more than one ID to a profile.|
|profileGroup||O||O||N/A||You can group payment profiles into categories. You can then specify the group ID number in this variable.|
|Specify language||ref1, ref2, ref3, ref4, ref5||O||O||N/A||Pass unique profile data using up to 5 custom reference variables. Data in these fields are returned to the Return URL and stored in the shopper profile. Maximum 255 alphanumeric characters per field.|
Payment Profile API – response variables
These variables are returned to the Response Notification URL specified in the Order Settings. To add or make changes to the URL, log into the Bambora membership area and navigate to administration> account settings> order settings. In the Response Notification section, in the Secure Payment Profile field, specify the URL.
|Basic Response Variables||responseCode||For the profile creation or modification request status, returns a numeric code. Response codes and descriptions|
|responseMessage||Description of the reponseCode.|
|customerCode||This unique token string identifies the customer profile.
If a specific customerCode was passed during the original request, the same data is returned here.
If no customerCode was passed, Bambora responds with a randomly generated, secure token.
This customerCode is then passed to the Process Transaction API in place of payment details when processing a transaction against the customer profile.
|trnOrderNumber||If an order number was specified in the initial request, that value is returned.
If no number was specified, an auto-generated order number is returned.
This order number is a unique identifier for the profile creation or modification request.
|Where custom profile data was passed||ref1, ref2, ref3, ref4, ref5||Any custom reference fields passed in with the request are returned unmodified in the response.|
|Where bank/EBP information is stored in the profile||bankAccountType||
CA - EFT account
Payment Profiles API – customer response codes