Statement Report
Report overview
The Statement Report provides an overview of fees charged on your monthly statements. For partners we also provide detail on the fees charged to your sub merchants along with the commission collected.
Report columns
For non partner accounts the response will be a JSON-formatted response which will consist of a collection of StatementFeeRecord
records. The fields of each StatementFeeRecord
are summarized in the table below.
Field |
Description |
---|---|
billing_period |
The month and year of the statement. |
statement_id |
The id of the statement. |
merchant_id |
The id of the merchant. |
merchant_name |
The name of the merchant. |
fee_type |
The enum value of fee type. |
fee_volume |
The total count for this fee. |
fee_rate |
The rate charged for this fee. |
fee_amount |
Amount charged for this fee. |
More detailed information about these fields can be found in our API specification which can be found here .
Report columns for partners
For partner accounts the response will be a JSON-formatted response which will consist of a collection of PartnerStatementFeeRecord
records. The fields of each PartnerStatementFeeRecord
are summarized in the table below.
Field |
Description |
---|---|
billing_period |
The month and year of the statement. |
parent_id |
The id parent account. |
parent_name |
The name of the parent account. |
statement_id |
The id of the statement. |
merchant_id |
The id of the merchant. |
merchant_name |
The name of the merchant. |
fee_type |
The enum value of fee type. |
fee_volume |
The total count for this fee. |
fee_rate |
The rate charged for this fee. |
fee_amount |
Amount charged for this fee. |
commission_rate |
The commission rate for this fee. |
commission_method |
Set to '$' for fixed rate commission, '%' for percentage based commission, or 'B' for basis points commission. |
commission_amount |
Commission amount paid for this fee. |
More detailed information about these fields can be found in our API specification which can be found here .
Getting started
The Statement Report API is accessed via the URL https://api.na.bambora.com/v1/reports/statements .
In addition, you will need use your Merchant ID and Reporting API Access Passcode from your Worldline account. See the "Authentication" section below for more details on how to generate your access passcode to use in the request to the Statement Report API.
API requests
Requests to the statement endpoint should include two request headers: a Content-type
header with the value application/json
and a Authorization
header which is outlined in the next section.
All requests to the Statement Report require authentication in the form of an Authorization
header. This header contains the value Passcode <YOUR API ACCESS PASSCODE>
which is an encoded version of your Merchant ID and your Reporting API Access Passcode. Note that your Reporting API Access Passcode can be found in the Portal under administration > account settings > order settings.
<YOUR API ACCESS PASSCODE>
is created by concatenating your Merchant ID to your Reporting API Access Passcode (separated by a colon), and then base 64 encoding the result.
As an example, if your Merchant ID is 123456789, and your Reporting API Passcode is fd36d245a3584434b904096525547f17
, then using JavaScript your API Access Passcode could be generated by doing:
merchantID = "123456789";
reportingAPIPasscode = "fd36d245a3584434b904096525547f17";
// base 64 encode the two values concatenated with a colon
yourAPIAccessPassCode = btoa(merchantID + ":" + reportingAPIPasscode);
In this example yourAPIAccessPassCode
would be MTIzNDU2Nzg5OmZkMzZkMjQ1YTM1ODQ0MzRiOTA0MDk2NTI1NTQ3ZjE3
which is the value used when making a call to the Statement Report API.
Alternatively, for convenience, you can also use the form which does same calculation.
It is worth noting that while this process obfuscates/obscures your Reporting API Passcode it is not an encrypted value, so this value should be treated with equal sensitivity/security as your Reporting API Passcode itself.
The Statement Report accepts parameters to control the data returned by the endpoint: start_year
, start_month
, end_year
, end_month
, and end_date
, all of which are supplied as query string parameters on the HTTP GET request. For partners we also support passing a sub_merchant_id parameter to filter results to a specific sub merchant account.
Statement records will be restricted to the date range specified (inclusive). More details are in the formal specification on our Payment API specifications page .
An example request is illustrated below.
Request
curl --location --request GET 'https://api.na.bambora.com/v1/reports/statements?start_year=2021&start_month=4&end_year=2021&end_month=7' \
--header 'Authorization: Passcode <YOUR API ACCESS PASSCODE>' \
--header 'Content-Type: application/json'
Response
{
"data": [
[
{
"billing_period": "2021-11-01",
"statement_id": 1003844007,
"merchant_id": 391020000,
"fee_type": "AccountMonthly",
"fee_volume": 1,
"fee_rate": 10.00,
"fee_amount": 10.00
},
{
"billing_period": "2021-11-01",
"statement_id": 1003844007,
"merchant_id": 391020000,
"fee_type": "ApprovedCreditCardTransactions",
"fee_volume": 10,
"fee_rate": 0.25,
"fee_amount": 2.50
},
{
"billing_period": "2021-11-01",
"statement_id": 1003844007,
"merchant_id": 391020000,
"fee_type": "DeclinedCardTransactions",
"fee_volume": 0,
"fee_rate": 0.10,
"fee_amount": 0.00
},
{
"billing_period": "2021-04-01",
"statement_id": 1003844007,
"merchant_id": 391020000,
"fee_type": "AdjAccountMonthly",
"fee_volume": 1,
"fee_rate": -5.00,
"fee_amount": -5.00
}
]
]
}