Export payment transactions

Changed on

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Downloads the app's payments, refunds, and lost disputes for one payment provider as a CSV file, newest first.

The file starts with a header row, then has one row per transaction with these columns:

  • Date: The transaction time in UTC as the analytics store records it, for example 2026-08-25 10:00:00
  • Customer: The customer's name or email, or the provider's customer ID when neither can be resolved
  • Transaction ID: The provider's ID for the transaction
  • Status: Either succeeded, refunded, or failed
  • Amount: In the currency's major unit, so 25.00 rather than 2500
  • Currency: An uppercase three-letter ISO 4217 code

Cells are quoted, and cells a spreadsheet would read as a formula start with '.

The file covers the app's whole history unless you pass period or both start_date and end_date. It stops at 10,000 rows without saying so in the file, so narrow the window when a download reaches that size.

Customer names are looked up from the provider within a 20-second budget for the whole file, so a large export can leave some Customer cells with only an ID, or empty.

The file includes one mode per provider:

  • Stripe: Live when the app's stored key is a live key, test otherwise.
  • Wix Payments: Live, unless test-mode reporting is enabled for your account. Then it follows the app's Wix Payments test-mode setting.

Results come from an analytics store and can lag behind the payment provider.

<Note>This endpoint accepts a personal access token belonging to a user with write access to the app. A read-only personal access token is refused, and so is a viewer.</Note>

get/api/apps/{app_id}/payments/analytics/transactions/export

Request

  • Base URL: https://app.base44.com
  • URL: https://app.base44.com/api/apps/{app_id}/payments/analytics/transactions/export
  • Auth: HTTP bearer

Path parameters

app_idstring required

ID of the Base44 app.

Query parameters

start_datestring date-time

Start of the window as an ISO 8601 timestamp. Send it with end_date, because a date sent on its own is ignored.

end_datestring date-time

End of the window as an ISO 8601 timestamp. Send it with start_date.

period'7d' | '30d' | '90d'

Window to use when you don't send both dates, counted back over whole UTC days including today. Either 7d, 30d, or 90d. Defaults to no window, which covers the app's whole history.

currenciesstring

Comma-separated currency codes, for example usd,eur. Defaults to no currency filter.

provider'stripe' | 'wix' required

Payment provider whose transactions to use. Either stripe or wix. stripe covers payments taken through the app's Stripe integration, and wix covers payments taken through Wix Payments (Base44 Payments). The provider has to be connected to the app.

statusstring

Comma-separated statuses to include, from succeeded, refunded, and failed. For example, succeeded,refunded leaves out lost disputes. Defaults to every status.

Response

The CSV file, sent as an attachment named after the app and today's date.

Changes

    • breaking

      the query request parameter period was restricted to a list of enum values

    • breaking

      query request parameter currencies list-of-types was narrowed by removing types null

    • breaking

      query request parameter end_date list-of-types was narrowed by removing types null

    • breaking

      query request parameter period list-of-types was narrowed by removing types null

    • breaking

      query request parameter start_date list-of-types was narrowed by removing types null

    • breaking

      query request parameter status list-of-types was narrowed by removing types null

    • info

      added the new enum value 30d to the query request parameter period

    • info

      added the new enum value 7d to the query request parameter period

    • info

      added the new enum value 90d to the query request parameter period

    • info

      for the query request parameter currencies, the type was generalized from no type to string

    • info

      for the query request parameter end_date, the type was generalized from no type to string, and format from no format to date-time

    • info

      for the query request parameter period, the type was generalized from no type to string

    • info

      for the query request parameter start_date, the type was generalized from no type to string, and format from no format to date-time

    • info

      for the query request parameter status, the type was generalized from no type to string

    • info

      the endpoint scheme security PersonalAccessTokenAuth was added to the API