Skip to content

Reporting

Payment Nexus exposes dedicated read-only endpoints so that a BI system can query the full dataset directly, without any manual exports. Both a RESTful JSON API and an OData v4 feed are available — the OData feed is the recommended integration point for tools like Power BI, which can connect to it natively and discover the schema automatically.

Authentication

Both endpoints use HTTP Basic authentication. The credentials are configured separately from your operator login and do not grant access to any other part of the system. Contact your Payment Nexus administrator to obtain them.

Available Data

The following entity sets are exposed across both endpoints:

EntityDescription
currencySupported currencies and exchange rate metadata
domainBusiness domains
tenantMerchant tenants
paymentServiceProviderPayment service provider definitions
tenantPaymentServiceProviderTenant-to-PSP assignments and configuration
paymentIntentTicketPayment transactions
tenantCustomerCustomer records associated with tenants
pspCustomerAccountCustomer accounts on the PSP side
checkoutIntentTicketCheckout sessions
userSystem users

All endpoints are read-only. Create, update, and delete operations are not available.

OData Feed

The OData v4 endpoint is the primary integration path. It supports all standard OData query options and allows BI tools to discover the schema from the metadata document.

Service document: https://<host>/api/private/reporting
Metadata: https://<host>/api/private/reporting/$metadata

The metadata document is in EDMX format and describes every entity, its properties, their types, and how they relate to one another. Tools like Power BI use this automatically when you connect to an OData feed.

Query Options

OptionDescription
$filterFilter records (see Filter Syntax below)
$selectReturn only specific properties
$expandInline related entities
$orderbySort results
$topLimit the number of results
$skipSkip a number of results (for paging)
$countInclude the total record count in the response

Filter Syntax

The $filter parameter supports the standard OData comparison and string functions:

Comparison operators: eq, ne, gt, ge, lt, le
String functions: contains(), startswith(), endswith()
Date functions: year(), month(), day()

Examples:

text
/api/private/reporting/paymentIntentTicket?$filter=status eq 'failed'
/api/private/reporting/paymentIntentTicket?$filter=contains(currency,'EUR')
/api/private/reporting/tenant?$filter=createdAt ge 2024-01-01T00:00:00Z
/api/private/reporting/paymentIntentTicket?$select=id,status,amount&$top=100&$count=true

Connecting from Power BI

  1. In Power Query, choose Get Data → OData Feed
  2. Enter the service document URL: https://<host>/api/private/reporting
  3. When prompted for authentication, select Basic and enter the reporting credentials
  4. Power BI will read the metadata and present all entity sets for selection

Once connected, you can build relationships, apply filters, and schedule refreshes from within Power BI as you would with any OData source.

REST (JSON) API

A JSON REST API is also available at /api/private/v1/reporting. It exposes the same entity sets using the same Basic authentication. This is useful when integrating with systems that consume JSON but don't speak OData, or when building custom pipelines that call the API directly.

Endpoints follow standard RESTful conventions:

text
GET /api/private/v1/reporting/paymentIntentTicket
GET /api/private/v1/reporting/paymentIntentTicket/:id
GET /api/private/v1/reporting/tenant/:id/paymentIntentTicket

Results are paginated. Use the perPage query parameter to control page size.

An OpenAPI (Swagger) document is served alongside the REST API and describes all available endpoints, parameters, and response shapes.