Download OpenAPI specification:Download
The Report API provides data for payments for accounting purposes.
For detailed information about payments, the payment API (such as the eCom, ePayment API or Recurring API) should be used.
This API is primarily for accounting partners who will use the API to integrate with their accounting systems, allowing them to provide the accounting information to their merchants.
For details, see the Report API Guide.
Returns the ledgers you have access to.
If you are integrating a single
merchant it may be enough to hit this endpoint once manually to identify
the ledgerId
, and then put that in your configuration.
If you are integrating for an accounting system or similar, you should
call this endpoint periodically in order to synchronize the list
of ledgers you have access to.
There is no need to specify the merchant or sales unit, but it can be useful for troubleshooting. The response contains all ledgers that are available for the API keys used, and also the sales units that use this ledger.
The full response example below displays the ePayment and eCom case.
settlesForRecipientHandles | string Example: settlesForRecipientHandles=api:123456 Filters the list of ledgers, and only returns the ledger(s) that settle(s) for the given |
cursor | string Example: cursor=eyJhZnRlckxlZGdlcklkIjoieHh4eCIsInNldHRsZXNGb3JSZWNpcGllbnRIYW5kbGVzIjpudWxsfQ== We limit the amount of rows returned to reduce the amount of data we need to process on each request. If the total number of rows is greater than that amount we return a cursor in addition to the rows in the body. This cursor given can be used with this parameter to fetch the next set of ledgers. If this is used, no other parameters is needed. |
Authorization required | string Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni <truncated> The access token is a base64-encoded string that is required for all API calls. It is a JWT (JSON Web Token). The access token is fetched from the |
{- "cursor": "eyJhZnRlckxlZGdlcklkIjoie",
- "ledgers": [
- {
- "ledgerId": "302321",
- "currency": "NOK",
- "payoutBankAccount": {
- "scheme": "BBAN:NO",
- "id": "86011117947"
}, - "owner": {
- "id": "987654321",
- "scheme": "business:NO:ORG"
}, - "settlesForRecipientHandles": [
- "NO:123455"
]
}
], - "salesUnits": [
- {
- "name": "ACME Fitness",
- "recipientHandle": [
- "NO:123455"
], - "businessIdentifier": {
- "id": "987654321",
- "scheme": "business:NO:ORG"
}
}
]
}
Report of entries on an account for a given "ledger date". A "ledger date" normally lasts from midnight to midnight in the timezone of the merchant; but it can be configured to other cutoffs such as 04:00 to 04:00. The caller should periodically poll for new data to download. You can get two different types of ledgers with this endpoint. The "funds" ledger, which tracks the sales, refunds, and a total of fees for the time period; and the "fees" ledger, which provides details about the fees you have been charged.
ledgerId required | string Ledger ID provided by |
ledgerDate required | string^\d{4}-\d{2}-\d{2} Date in format YYYY-MM-DD. |
topic required | string Enum: "funds" "fees"
|
cursor | string Example: cursor=eyJhZnRlckxlZGdlcklkIjoie <truncated> We limit the amount of rows returned to reduce the amount of data we need to process on each request. If the total number of rows is greater than that amount we return a cursor in addition to the rows in the body. This cursor given can be used with this parameter to fetch the next set of ledgers. If this is used, no other parameters is needed. |
includeGDPRSensitiveData | boolean Example: includeGDPRSensitiveData=true When set to |
Authorization required | string Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni <truncated> The access token is a base64-encoded string that is required for all API calls. It is a JWT (JSON Web Token). The access token is fetched from the |
{- "cursor": "eyJhZnRlckxlZGdlcklkIjoie",
- "hasMore": false,
- "tryLater": false,
- "items": [
- {
- "pspReference": "3343121302",
- "time": "2020-10-05T00:00:00.000000Z",
- "ledgerDate": "2020-10-05",
- "entryType": "capture",
- "reference": "acme-shop-123-order123abc",
- "currency": "NOK",
- "amount": 49900,
- "balanceBefore": 49900,
- "balanceAfter": 49900,
- "recipientHandle": "NO:123455",
- "message": "Order 123ABC",
- "name": "John Doe",
- "maskedPhoneNo": "xxxx 5678"
}
]
}
Continuous stream of data. Upon reaching the end of the feed, the cursor
will not become empty and items
can
become an empty list. One should retry to fetch the same cursor
until new data and a new cursor
will be returned.
Unless in the need of data with low latency try not to poll the endpoint too often and effectively batch your reports.
ledgerId required | string Ledger ID provided by GET:/settlement/v1/ledgers |
topic required | string Enum: "funds" "fees" One of |
cursor | string Example: cursor=eyJhZnRlckxlZGdlcklkIjoie <truncated> We limit the amount of rows returned to reduce the amount of data we need to process on each request. If the total number of rows is greater than that amount we return a cursor in addition to the rows in the body. This cursor given can be used with this parameter to fetch the next set of ledgers. If this is used, no other parameters is needed. |
includeGDPRSensitiveData | boolean Example: includeGDPRSensitiveData=true When set to |
Authorization required | string Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni <truncated> The access token is a base64-encoded string that is required for all API calls. It is a JWT (JSON Web Token). The access token is fetched from the |
{- "cursor": "eyJhZnRlckxlZGdlcklkIjoie",
- "hasMore": false,
- "tryLater": false,
- "items": [
- {
- "pspReference": "3343121302",
- "time": "2020-10-05T00:00:00.000000Z",
- "ledgerDate": "2020-10-05",
- "entryType": "capture",
- "reference": "acme-shop-123-order123abc",
- "currency": "NOK",
- "amount": 49900,
- "balanceBefore": 49900,
- "balanceAfter": 49900,
- "recipientHandle": "NO:123455",
- "message": "Order 123ABC",
- "name": "John Doe",
- "maskedPhoneNo": "xxxx 5678"
}
]
}