Document Logs Change log:
Date: | Author: | Version: | Changes: | Completed | Ext. | Int. | Is in Core |
---|---|---|---|---|---|---|---|
|
| 1.0 | Doc. created | Yes |
|
|
|
1.1 | Added Pay per email parameter entry | Yes |
Terms and Definitions:
Terms/definitions: | Meaning: |
---|---|
TBD | To be defined |
N/A | Not applicable |
Overview
This document describes the interfacing between the Rator Customer Care and Billing System (Rator) and the Buckaroo BPE 3.0 payment systems. There are two engines involved in integrating Rator with Buckaroo Payment interface version 3.0: Buckaroo Request Generator Engine and Buckaroo Payment Response Reader Engine. The Request Generator handles generation of the payment request csv file that is sent to Buckaroo. The Response Reader engine processes the payment response files received from Buckaroo. This document describes the request generator functionality in detail.
The Request Generator Engine collects all the Buckaroo Direct Debit Payments which are ready for capture in the system and inserts required payment information in buckaroo payment request tables. The engine handles the Account Payment Request records one by one to create entries in these tables. These records are then processed by a File Processor engine instance which creates the payment request csv file to be sent to Buckaroo.
Important Note: The Request Generator engine will only load the necessary payment data into DB tables. The file generation is not done by this engine. The File Processor engine creates the payment csv file using the data loaded into these tables, so the payment request file creation is a two-step process and must be done as below:
- First run the Buckaroo Request Generator engine.
- Then run the File Processor Generator engine instance. The file processor engine will create a file only if the request engine processed the data successfully, and the DB tables contain some records ready to be processed. Please note that it is possible to configure the layout of request file (i.e. which of the fields should be present and at which position in the request record) by using the File processor generator configuration.
For example: It is possible skip adding the PayperEmail fields to the request record in the file even if they are present in the BUCKAROO_REQUEST_RECORD_BPE3 table.
Document Usage
This document is primarily intended for the Rator implementation team and for understanding the interface with Buckaroo. It will also be used as a basis for acceptance tests.
Note: Please note that we have a separate integration with Buckaroo BPE 2.0 payment interface. This is also file based. For more information on Request Generator engine for integration with Buckaroo BPE 2.0 interface, please look here.
Production Date
XX November 2013.
Customer Configuration
The Buckaroo request generator engine is configurable by editing the engine configuration file.
<base_path>/engines/BuckarooRequestGeneratorBPE3/conf/engine.conf
The files can be edited in a normal text editor, like Windows Notepad.
Engine Specific Properties
Some properties in the configuration file are specifically for engines, and are shown in the format below:
wrapper.java.mainclass | com.CDRator.billing.engine.GenericEngineStarter |
---|---|
| This property specifies the Java path for CDRator engine starter. Main class property must be specified in order to start the engine framework. |
|
|
wrapper.app.parameter.1 | -S |
| The -S property is optional, but it is a parameter for the GenericEngineStarter which enables the engine starter to make a sleep just before it stops. The reason for this is that in cases where the engine has nothing to do, it can complete very quickly. The Windows NT Service environment might see this as a possible failure and will do a failure count. When the count reaches a specific number, it will halt completely and the service has to be restarted manually. |
|
|
wrapper.app.parameter.2 | 300 |
| Number of seconds engine starter must sleep before it stops. |
|
|
wrapper.app.parameter.3 | -P |
| Specifies that the next parameter is to start the engine. |
|
|
wrapper.app.parameter.4 | com.CDRator.billing.paymentInterface.engine.BuckarooBPE3RequestGenerator |
| Specifies the java path of the engine class that the generic engine starter must use to start the engine |
|
|
wrapper.app.parameter.5 | Additional command line arguments for the above-named Java class. |
| Parameter to engine. Specifies the engine name and how it will appear in logs and process monitor. This configuration parameter will make it possible to set a different engine name per brand, if multibrand setup is used. |
wrapper.app.parameter.6 | Additional command line arguments for the above-named Java class. |
| Parameter to engine. Specifies engine's instance number. |
wrapper.app.parameter.7 | Additional command line arguments for the above-named Java class. |
| Parameter to engine. Specifies the max number of payments that the engine can handle in each run. |
Parameters Required
The following parameter entries are used to specify the request generator configuration.
PATH | Type | description | Mandatory | Default value used if the parameter is not present |
---|---|---|---|---|
INTEGRATION.BUCKAROO.BPE3.WEBSITE_KEY | String | Fixed string from Buckaroo portal | YES |
|
INTEGRATION.BUCKAROO.BPE3.ACCOUNT_PAYMENT_TYPES | String | payment_type_id value of the | YES |
|
INTEGRATION.BUCKAROO.BPE3.DESCRIPTION_PREFIX | String | Prefix for the description field | YES |
|
INTEGRATION.BUCKAROO.BPE3.VAT_VALUE | String | VAT value : 21 for BPE3 | YES |
|
INTEGRATION.BUCKAROO.BPE3.CURRENCY | String | Currency Code: EUR | YES |
|
INTEGRATION.BUCKAROO.BPE3.DUE_DATE_OFFSET | String | Payment due date offset | YES |
|
INTEGRATION.BUCKAROO.BPE3.EXPORT_FILE_PREFIX | String | Prefix with which export file name | YES |
|
INTEGRATION.BUCKAROO.BPE3.EXPORT_FILE_EXTENSION | String | Extension used for export file. | YES |
|
INTEGRATION.BUCKAROO.BPE3.CULTURE_CODE | String | ISO culture code: nl-NL | YES |
|
INTEGRATION.BUCKAROO.BPE3.PAYMENT_METHODS_ALLOWED | String | Allowed payment methods | NO | machtiging |
INTEGRATION.BUCKAROO.BPE3.PAYMENT_METHOD_INVALID_BANK_ACC | String | Allowed payment method if the bank account number is null or zero | NO | ideal |
INTEGRATION.BUCKAROO.BPE3.DUMMY_BANK_ACC_NUMBER | String | Dummy bank account number used in case the customer bank account number is either null or zero or in anyway invalid. | NO | <Empty String> |
INTEGRATION.BUCKAROO.BPE3.COUNTRY | String | Country code value | NO | NL |
INTEGRATION.BUCKAROO.BPE3.SEPA_MANDATE_DATE | Date | The default mandate date to be used if the Bank account valid_from date is null or valid_from date is before 2013-12-11. | YES | 2013-12-11 |
INTEGRATION.BUCKAROO.BPE3.SEPA_COLLECT_DATE | Number | The collect date offset : number of days from the invoice close date that is used as the Collect date for this invoice. | YES | 7 |
INTEGRATION.BUCKAROO.BPE3.USE_PAY_PER_EMAIL | String | Indicates whether the PayPerEmail service is used: If value = 'true', then Payperemail service is enabled i.e. PayPerEmail fields will be filled with proper data when the bank account info is invalid. | YES | true |
Database Tables
Following DB tables are used by the Buckaroo BPE3 Request Generator.
Name: | ACCOUNT_PAYMENT_REQUEST |
---|---|
Description: | Each record represents a direct debit payment request. The InvoiceHandlerEngine will create an account payment request record for each invoice that is successfully closed. The Buckaroo Request Generator engine will then read the payment requests in this table that are ready for capture and inserts the required payment data into buckaroo tables mentioned below. |
|
|
Name: | BUCKAROO_REQUEST_HEADER_BPE3 |
Description: | Each record represents a header which holds reference to the record data needed to generate a payment request file. Each header entry can have one or more corresponding request records in BUCKAROO_REQUEST_RECORD_BPE3 table. So for each record (not in ERROR status) in this table, a payment file will be generated and sent to the Buckaroo containing the information like name of the file, status, file generation date, number of records in the file etc. |
|
|
Name: | BUCKAROO_REQUEST_RECORD_BPE3 |
Description: | Each record represents a a payment record in the payment request file. Each record in this table contains actual payment information like amount, VAT, user info like name, bank account info, address etc. |