Versapay Settlement Reporting API
Settlement Reporting includes retrieval of monthly statements, daily deposit amounts (including fee information), transaction exceptions (ACH reject/return & CC chargeback), and transaction details. Contact support@versapay.com for payment acceptance onboarding support & setup and eligibility for Settlement Reporting enablement.
GET
/api/gateway/v1/settlement/statements
Retrieve Monthly Statements
GET
/api/gateway/v1/settlement/statements/{statement_identifier}.{format}
View Monthly Statement PDF
GET
/api/gateway/v1/settlement/batches
Retrieve Daily Batch Deposits
GET
/api/gateway/v1/settlement/exceptions
Retrieve Daily Transaction Exceptions
GET
/api/gateway/v1/transactions/{token}
View Transaction Detail
GET
/api/gateway/v1/orders/{token}
View Order Detail
GET
/api/gateway/v1/payments/{token}
View Invoicing Payment Detail
Documentation
Specifications
Other Resources
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/versapay-settlement-reporting-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.3.35
title: Versapay API Reference Settlement Reporting API
contact:
name: Versapay Support
url: https://www.versapay.com/support
email: support@versapay.com
x-logo:
url: https://developers.versapay.com/images/logo.png
termsOfService: https://www.versapay.com/terms-of-use
license:
name: Copyright 2022 Versapay. All Rights Reserved.
description: 'Settlement Reporting includes retrieval of monthly statements, daily deposit amounts (including fee information), transaction exceptions (ACH reject/return & CC chargeback), and transaction details. Contact support@versapay.com for payment acceptance onboarding support & setup and eligibility for Settlement Reporting enablement.
'
servers:
- url: https://secure.versapay.com
description: Production
- url: https://uat.versapay.com
description: UAT
tags:
- name: Settlement Reporting
description: 'Settlement Reporting includes retrieval of monthly statements, daily deposit amounts (including fee information), transaction exceptions (ACH reject/return & CC chargeback), and transaction details. Contact support@versapay.com for payment acceptance onboarding support & setup and eligibility for Settlement Reporting enablement.
'
paths:
/api/gateway/v1/settlement/statements:
get:
summary: Retrieve Monthly Statements
description: List of monthly statements added since watermark, limited to 100 (default) at a time.
tags:
- Settlement Reporting
parameters:
- name: watermark
in: query
description: The value to base a subsequent extract of the next 100 items.
schema:
$ref: '#/components/schemas/Watermark'
- name: sample
in: query
description: Show some sample data
schema:
type: boolean
example: true
- name: list
in: query
description: See Watermark & Limit for more information on response structure.
schema:
type: boolean
example: true
- name: mid
in: query
description: account filter by mid or merchant account token.
schema:
type: string
example: 123456789
- name: enddate_from
in: query
description: start date of range filter for the statement period end date (yyyy-mm-dd).
schema:
type: string
example: '2023-01-01'
- name: enddate_to
in: query
description: end date of range filter for the statement period end date (yyyy-mm-dd).
schema:
type: string
example: '2023-06-01'
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
type: object
properties:
statements:
type: object
additionalProperties:
$ref: '#/components/schemas/MonthlyStatementResponse'
examples:
statements:
value:
statements:
'2':
identifier: 2EW5NDMG5347
start_date: '2021-07-01'
end_date: '2021-07-31'
statement_date: '2021-08-11'
merchant_account_token: 7YA5NDMG5347
merchant_account_identifier: '123456789012'
watermark: 2
'3':
identifier: 2EW5NDMG5348
start_date: '2021-07-01'
end_date: '2021-07-31'
statement_date: '2021-08-11'
merchant_account_token: 8YA5NDMG5348
merchant_account_identifier: '123456789012'
watermark: 3
'4':
identifier: 2EW5NDMG5349
start_date: '2021-08-01'
end_date: '2021-08-31'
statement_date: '2021-09-11'
merchant_account_token: 7YA5NDMG5347
merchant_account_identifier: '123456789012'
watermark: 4
'5':
identifier: 2EW5NDMG5340
start_date: '2021-08-01'
end_date: '2021-08-31'
statement_date: '2021-09-11'
merchant_account_token: 8YA5NDMG5348
merchant_account_identifier: '123456789012'
watermark: 5
'401':
$ref: '#/components/responses/UnauthorizedError'
/api/gateway/v1/settlement/statements/{statement_identifier}.{format}:
get:
summary: View Monthly Statement PDF
description: The generated PDF for a specific monthly statement.
tags:
- Settlement Reporting
parameters:
- name: statement_identifier
in: path
required: true
description: Identifier/token of the monthly statement
schema:
type: string
example: 2EW5NDMG5347.pdf, 2EW5NDMG5347.json, sample.pdf
- name: format
in: path
required: true
description: The format of the statement to retrieve, either 'pdf' or 'json'.
schema:
type: string
enum:
- pdf
- json
example: pdf
responses:
'200':
description: Successful Operation
content:
application/pdf:
schema:
type: string
format: binary
headers:
Content-Disposition:
schema:
type: string
'401':
$ref: '#/components/responses/UnauthorizedError'
/api/gateway/v1/settlement/batches:
get:
summary: Retrieve Daily Batch Deposits
description: List of daily batch deposits including fees and transactions.
tags:
- Settlement Reporting
parameters:
- name: watermark
in: query
description: The value to base a subsequent extract of the next 100 items.
schema:
$ref: '#/components/schemas/Watermark'
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
type: object
properties:
batches:
type: object
additionalProperties:
$ref: '#/components/schemas/SettlementBatchResponse'
examples:
batches:
value:
batches:
- token: 5EF5LDMY7627
merchant_account_token: 7YA5NDMG5347
mid: V-KVFKTT-KM-X-ARA-4M-C
batch_close_date: '2022-01-05'
batch_deposit_date: '2022-01-06'
batch_net_amount_cents: 1123456
fee_withdrawal_amount_cents: 0
deposit_amount_cents: 1123456
deposit_currency: usd
deposit_routing_number: '123456780'
deposit_account_number: '*3211'
deposit_routing_account_hash_function: sha-1
deposit_routing_account_hash: 64984fa69d3aaeb30f77407bb08ada8e6dcfcf41
fees:
- token: 6KF7LIOY1975
fee_withdrawal_date: '2022-01-06'
fee_amount_cents: 12000
fee_currency: usd
fee_withdrawal_routing_number: '123456780'
fee_withdrawal_account_number: '*3211'
fee_routing_account_hash_function: sha-1
fee_routing_account_hash: 64984fa69d3aaeb30f77407bb08ada8e6dcfcf41
fee_type: interchange
included_in_batch_deposit: false
transactions:
- token: 2EW5NDMG5348
amount_cents: 1000000
currency: usd
payment_method: credit_card
settlement_token: MA123XYZABCD
transaction_date: '2026-03-04'
surcharge_cents: 1750
- token: 21AUED7416QS
amount_cents: 123456
currency: usd
payment_method: credit_card
settlement_token: MA123XYZABCD
transaction_date: '2026-03-04'
surcharge_cents: 1750
orders:
- identifier: 1ESZXPKGAJCK
number: S-INV102229
amount_cents: 123456
payments:
- identifier: 5VKMWCMBNMPZ
display_identifier: 5VKMWCMBNMPZ
amount_cents: 123456
- identifier: 5VKMWCMBNMPZ.REV
display_identifier: 5VKMWCMBNMPZ.REV
amount_cents: -123456
watermark: 2
- token: 5EF5LDMY7628
merchant_account_token: 8YA5NDMG5348
mid: V-KVFKTT-KM-X-ARA-4M-C
batch_close_date: '2022-01-05'
batch_deposit_date: '2022-01-06'
batch_net_amount_cents: 2123457
fee_withdrawal_amount_cents: 0
deposit_amount_cents: 1123456
deposit_currency: usd
deposit_routing_number: '123456780'
deposit_account_number: '*3211'
deposit_routing_account_hash_function: sha-1
deposit_routing_account_hash: 64984fa69d3aaeb30f77407bb08ada8e6dcfcf41
fees:
- token: 6KF7LIOY1975
fee_withdrawal_date: '2022-01-06'
fee_amount_cents: 12000
fee_currency: usd
fee_withdrawal_routing_number: '123456780'
fee_withdrawal_account_number: '*3211'
fee_routing_account_hash_function: sha-1
fee_routing_account_hash: 64984fa69d3aaeb30f77407bb08ada8e6dcfcf41
fee_type: interchange
included_in_batch_deposit: false
transactions:
- token: 4EW5NDMG5348
amount_cents: 2000000
currency: usd
payment_method: credit_card
settlement_token: MA123XYZABCD
transaction_date: '2026-03-04'
surcharge_cents: 1750
- token: 41AUED7416QS
amount_cents: 123457
currency: usd
payment_method: credit_card
settlement_token: MA123XYZABCD
transaction_date: '2026-03-04'
surcharge_cents: 1750
watermark: 3
'401':
$ref: '#/components/responses/UnauthorizedError'
/api/gateway/v1/settlement/exceptions:
get:
summary: Retrieve Daily Transaction Exceptions
description: List of exception transactions including ACH return/reject and CC chargeback.
tags:
- Settlement Reporting
parameters:
- name: watermark
in: query
description: The value to base a subsequent extract of the next 100 items.
schema:
$ref: '#/components/schemas/Watermark'
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
type: object
properties:
exceptions:
type: array
description: List of exception transactions including ACH return/reject and CC chargeback contributing to the deposit batch
items:
$ref: '#/components/schemas/SettlementExceptionResponse'
examples:
exceptions:
value:
exceptions:
- exception_type: chargeback
exception_description: Chargeback
exception_date: '2022-01-15'
exception_amount_in_cents: 500000
exception_transaction:
token: 2EW5NDMG5348
amount_in_cents: 1000000
currency: usd
payment_method: credit_card
settlement_token: MA123XYZABCD
watermark: 2
- exception_type: return
exception_description: R10 CUSTOMER ADVISES NOT AUTHORIZED
exception_date: '2022-01-15'
exception_amount_in_cents: 1000000
exception_transaction:
token: 2EW5NDMG5348
amount_in_cents: 1000000
currency: usd
payment_method: credit_card
settlement_token: MA123XYZABCD
watermark: 3
'401':
$ref: '#/components/responses/UnauthorizedError'
/api/gateway/v1/transactions/{token}:
get:
summary: View Transaction Detail
description: Alias `/api/exports/transaction/{token}`, see `Order Transactions` _View a Transaction_
tags:
- Settlement Reporting
parameters:
- name: token
in: path
required: true
description: The transaction's `token` or `unique_reference`.
schema:
type: string
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponse'
'401':
$ref: '#/components/responses/UnauthorizedError'
/api/gateway/v1/orders/{token}:
get:
summary: View Order Detail
description: Alias `/api/exports/order/{token}`, see `Orders` _View an Order_
tags:
- Settlement Reporting
parameters:
- name: token
in: path
required: true
description: The order identifier.
schema:
type: string
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
type: object
properties: null
$ref: '#/components/schemas/Order'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Error message
example: You need to sign in or create an account before continuing.
/api/gateway/v1/payments/{token}:
get:
summary: View Invoicing Payment Detail
description: Alias `/api/exports/payment/{token}`, see `Invoicing Payments` _View a Payment_
tags:
- Settlement Reporting
parameters:
- name: token
in: path
required: true
description: The payment's `token` or `payment_transaction_token`.
schema:
type: string
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResponse'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
components:
schemas:
PaymentAmount:
type: object
properties:
payment_reference:
type: string
description: The payment identifier
checkout_token:
type: string
description: Correlation key for payment amounts applied during the same payment portal session
invoice_number:
type: string
description: The display number of the invoice for which the payment was made. If the display number is not available, the number of the invoice for which the payment was made.
date:
type: string
format: date
description: The payment date, in YYYY-MM-DD format.
amount:
type: string
description: The amount of the payment applied to the invoice, in dollars and cents.
plan_fee:
type: string
description: Payment plan fee amount, in dollars and cents, associated to this invoice.
payment_amount:
type: string
description: The amount of the total payment, excluding fees.
payment_transaction_amount:
type: string
description: The amount of the total payment, including fees.
payment_transaction_token:
type: string
description: The payment transaction token.
payment_method:
type: string
description: The method used to make payment.
payment_from_bank_account:
type: string
description: '`true` if the payment was made using a bank account.
'
payment_from_credit_card:
type: string
description: '`true` if the payment was made using a credit card.
'
payment_institution_name:
type: string
description: Institution name, if the payment was made using a bank account.
payment_credit_card_brand:
type: string
description: 'Credit card "association brand", if the payment was made using a credit card. Example: VISA, MASTER
'
settlement_token:
type: string
description: Token corresponding to the settlement routing/processor profile as enumerated in whoami eg bank transfer processor for ACH/EFT, merchant account for CC, gift card processor, pos/terminal processor
short_pay_indicator:
type: string
description: '`Y` if a short payment was made.
'
payment_note:
type: string
description: Note accompanying the payment.
auto_debit_indicator:
type: string
description: '`Y` if the payment was made via AutoPay agreement.
'
invoice_balance:
type: string
description: Remaining balance on the invoice (after the payment is processed).
payment_timestamp:
type: string
description: The ISO8601 timestamp corresponding to payment.
invoice_division:
type: string
description: The division code if any associated with the invoice.
invoice_division_number:
type: string
description: The external division identifier if any associated with the invoice.
invoice_division_name:
type: string
description: The division name if any associated with the invoice.
pay_to_bank_account:
type: string
description: The GL number of the settlement account receiving the payment.
pay_to_bank_account_name:
type: string
description: The display name of the settlement account receiving the payment.
customer_identifier:
type: string
description: The invoice customer identifier.
customer_name:
type: string
description: The invoice customer name.
status:
type: string
description: The payment status.
enum:
- IN PROGRESS
- PAID (UNVERIFIED)
- REVERSAL
- ERROR (NSF)
- ERROR (DECLINED)
- PAID
status_reason:
type: string
description: Additional information explaining when the payment has failed.
payment_source:
type: string
description: The source of the payment.
payment_code:
type: string
description: The back office payment code (applicable to externally sourced payments).
payment_description:
type: string
description: The back office payment description (applicable to externally sourced payments).
gateway_authorization_code:
type: string
description: The underlying gateway authorization code.
purchase_order_number:
type: string
description: The purchase order number entered at the time of making a prepayment.
ref1:
type: string
description: The reference number or string entered at the time of making a prepayment.
ref2:
type: string
description: Same as above.
ref3:
type: string
description: Same as above.
short_pay_reason_identifier:
type: string
description: Short pay reason code, if set up.
short_pay_reason:
type: string
description: Short pay reason description, if set up.
dispute_reason_identifier:
type: string
description: Dispute reason code, if set up.
dispute_reason:
type: string
description: Dispute reason description, if set up.
invoice_amount_paid:
type: string
description: The total amount of payments, in dollars and cents, made to date via Collaborative AR towards this invoice.
invoice_identifier:
type: string
description: The identifier of the invoice for which the payment was made.
invoice_date:
type: string
format: date
description: Invoice date, in the format YYYY-MM-DD.
invoice_external_id:
type: string
description: The external identifier/reference, if any, of the invoice for which the payment was made.
invoice_currency:
type: string
description: The currency of the invoice for which the payment was made.
invoice_purchase_order_number:
type: string
description: The purchase order number associated to the invoice.
invoice_ref1:
type: string
description: Reference number or string associated to the invoice.
invoice_ref2:
type: string
description: Same as above.
invoice_ref3:
type: string
description: Same as above.
cumulative_customer_amount:
type: string
description: 'The total payment processed for *this* customer under *this* `payment_reference`.
'
display_identifier:
type: string
description: The value of display_identifier that was provided for the payment; if this was null, this will be the the value of the payment_reference
line_item_transactional_amounts:
type: array
items:
type: object
properties:
line_item_number:
type: string
description: Invoice line-item number
line_item_payment_amount:
type: string
description: The amount of the payment applied to the line-item, in dollars and cents.
line_item_balance:
type: string
description: Remaining balance on the line-item (after the payment is processed), in dollars and cents.
line_item_short_pay_indicator:
type: string
description: '`Y` if a short payment was made.
'
line_item_payment_note:
type: string
description: Note accompanying the payment at the line-item level.
line_item_short_pay_reason_identifier:
type: string
description: Short pay reason code, if set up.
line_item_short_pay_reason:
type: string
description: Short pay reason description, if set up.
line_item_dispute_reason_identifier:
type: string
description: Dispute reason code, if set up.
line_item_dispute_reason:
type: string
description: Dispute reason description, if set up.
description: 'Payments applied to invoice line-items. Applicable if accepting short payments at line-item level.
'
batch_number:
type: string
description: The batch number associated with the payment, if any. If none, the value will be null.
batch_amount:
type: string
description: The batch amount of the batch associated with the payment, if any. If none, the value will be an empty string ""
invoice_display_number:
type: string
description: The display number of the invoice for which the payment was made.
invoice_internal_number:
type: string
description: The number of the invoice for which the payment was made.
fx_rate:
type: string
description: Optional. The exchange rate used for the payment.
fx_amount:
type: string
description: Optional. The amount of the payment in the gateway currency.
fx_amount_cents:
type: number
description: Optional. The amount of the payment in the gateway currency in cents.
OrderItem:
type: object
properties:
number:
type: string
description: Order line-item number
description:
type: string
description: Order line-item description
quantity:
type: number
description: Order line-item quantity
unit_cost_cents:
type: integer
description: Order line-item unit price in cents.
amount_cents:
type: integer
description: Order line-item total in cents.
tax_amount_cents:
type: integer
description: Order line-item tax in cents.
discount_amount_cents:
type: integer
description: Order line-item discount in cents.
product_code:
type: string
description: Order line-item product_code.
category:
type: string
description: Order line-item category.
attributes:
type: object
properties: {}
description: array of key pair items.
L3_commodity_code:
type: string
description: Product commodity code (UNSPSC).
example: '12345678'
L3_unit_of_measure:
type: string
description: Unit of measure (EA, KG, L).
example: EA
L3_discount_amount:
type: string
description: Discount amount.
example: '1.00'
L3_tax_amount:
type: string
description: Tax amount.
example: '0.50'
L3_product_code:
type: string
description: Product SKU or internal code.
example: SKU-001
example:
number: '1'
amount_cents: 10000
description: description
product_code: product_code
category: category
quantity: 1
unit_cost_cents: 10000
tax_amount_cents: 100
discount_amount_cents: 0
orderitem_attr1: '1111111'
orderitem2_attr2: '222222'
SummaryBatchTransaction:
type: object
description: Summary reference of known transaction
properties:
token:
type: string
description: Token identifier for the transaction.
amount_cents:
type: integer
description: Transaction amount in cents.
currency:
type: string
description: Currency code, based on ISO-4217. E.g. `CAD`, `USD`, `AUD`
transaction_reference:
type:
- string
- 'null'
description: Extra useful data to help link transactions to other systems e.g. PO numbers, account numbers etc.
payment_method:
type: string
enum:
- credit_card
- bank_account
- gift_card
- pos_terminal
settlement_token:
type: string
description: Token corresponding to the settlement routing/processor profile as enumerated in whoami eg bank transfer processor for ACH/EFT, merchant account for CC, gift card processor, pos/terminal processor
transaction_date:
type: string
format: date
description: Date of the transaction.
surcharge_cents:
type: integer
description: Surcharge amount in cents.
fx_account_currency:
type: string
description: Currency of the payment gateway account
fx_currency:
type: string
description: Currency of the transaction, according to the payment gateway
fx_amount_cents:
type: integer
description: The processed amount in cents after conversion to the gateway account currency
fx_rate:
type: string
description: The exchange rate used to convert between the transaction currency and the gateway account currency
orders:
type: array
description: The order associated with this transaction, if any, for reference detail only (the order information does not impact settlement deposit batch)
items:
$ref: '#/components/schemas/SummaryOrderReference'
payments:
type: array
description: Any C-AR invoicing payments associated with this transaction, if any, for reference detail only (the invoicing payments information does not impact settlement deposit batch)
items:
$ref: '#/components/schemas/SummaryPaymentReference'
SummaryExceptionTransaction:
type: object
description: Summary reference of known transaction
properties:
token:
type: string
description: Token identifier for the transaction.
transaction_reference:
type:
- string
- 'null'
description: Extra useful data to help link transactions to other systems e.g. PO numbers, account numbers etc.
amount_in_cents:
type: integer
description: Transaction amount in cents.
currency:
type: string
description: Currency code, based on ISO-4217. E.g. `CAD`, `USD`, `AUD`
payment_method:
type: string
enum:
- credit_card
- bank_account
- gift_card
- pos_terminal
settlement_token:
type: string
description: Token corresponding to the settlement routing/processor profile as enumerated in whoami eg bank transfer processor for ACH/EFT, merchant account for CC, gift card processor, pos/terminal processor
Watermark:
type: integer
format: int64
example: 0
SummaryOrderReference:
type: object
description: Summary reference of known order
properties:
identifier:
type: string
description: Associated order identifier
number:
type: string
description: Associated order number
amount_cents:
type: number
description: Associated order amount
OrderTransaction:
type: object
properties:
token:
type: string
description: Transaction token
amount_in_cents:
type: number
description: Transaction amount in cents
message:
type: string
description: Applies to payport transactions
link_url:
type: string
description: Applies to payport transactions
type:
type: string
description: Literal for payport transaction compatibility 'transaction'
transaction_type:
type: string
description: Literal for payport transaction c
# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/versapay/refs/heads/main/openapi/versapay-settlement-reporting-api-openapi.yml