Skip to main content
The SolvaPay MCP Server gives AI agents — and any MCP-compatible client — full programmatic access to your SolvaPay account. Every tool follows a consistent request/response pattern and accepts JSON parameters as described below.
Parameters marked Required must always be provided. Optional parameters can be omitted and will either use a sensible default or be ignored.
DomainToolsCount
Customer Managementcreate_customer · get_customer · list_customers · update_customer · delete_customer · ensure_customer6
Product Managementcreate_product · get_product · list_products · update_product · delete_product5
Purchase Managementlist_purchases · get_purchase · get_purchases_by_customer · get_purchases_by_product · cancel_renewal · check_limits6
Payment & Checkoutcreate_checkout_session · create_customer_session2
Wallet & Revenueget_product_balance1
Usage Trackingrecord_usage · record_bulk_usage2
Transactions & Refundslist_transactions · get_transaction · get_transaction_stats · create_refund4
Total26

Customer Management

ToolDescription
create_customerCreate a new customer
get_customerRetrieve a customer by reference
list_customersList customers with search and pagination
update_customerUpdate a customer’s details
delete_customerDelete a customer
ensure_customerCreate or retrieve a customer by email (idempotent)

create_customer

ParameterTypeRequiredDescription
emailstringYesCustomer email address
namestringNoCustomer display name
telephonestringNoCustomer telephone number
metadataobjectNoArbitrary key-value metadata

get_customer

ParameterTypeRequiredDescription
referencestringYesCustomer reference (e.g. cus_A1B2C3D4)

list_customers

ParameterTypeRequiredDefaultDescription
limitnumberNo20Maximum results to return
offsetnumberNo0Pagination offset
searchstringNoSearch by name or email

update_customer

ParameterTypeRequiredDescription
referencestringYesCustomer reference
namestringNoUpdated name
emailstringNoUpdated email
telephonestringNoUpdated telephone
metadataobjectNoUpdated metadata

delete_customer

ParameterTypeRequiredDescription
referencestringYesCustomer reference

ensure_customer

Creates a customer if one doesn’t exist for the given email. Returns the existing customer if found.
ParameterTypeRequiredDescription
emailstringYesCustomer email (used as unique key)
namestringNoCustomer name (used only on creation)
externalRefstringNoYour system’s ID for this customer

Product Management

ToolDescription
create_productCreate a new product
get_productRetrieve a product by reference
list_productsList products with search and filters
update_productUpdate a product’s details
delete_productDelete a product

create_product

ParameterTypeRequiredDescription
namestringYesProduct name
descriptionstringNoProduct description

get_product

ParameterTypeRequiredDescription
referencestringYesProduct reference (e.g. prd_P9Q0R1S2)

list_products

ParameterTypeRequiredDefaultDescription
limitnumberNo20Maximum results
offsetnumberNo0Pagination offset
searchstringNoSearch by name
statusstringNoFilter by status

update_product

ParameterTypeRequiredDescription
referencestringYesProduct reference
namestringNoUpdated name
descriptionstringNoUpdated description

delete_product

ParameterTypeRequiredDescription
referencestringYesProduct reference

Purchase Management

ToolDescription
list_purchasesList all purchases
get_purchaseRetrieve a purchase by ID
get_purchases_by_customerPurchases for a customer
get_purchases_by_productPurchases for a product
cancel_renewalCancel renewal of a purchase
check_limitsCheck usage limits for a customer/product pair

list_purchases

ParameterTypeRequiredDescription
statusstringNoFilter by status

get_purchase

ParameterTypeRequiredDescription
idstringYesPurchase ID or reference

get_purchases_by_customer

ParameterTypeRequiredDescription
customerRefstringYesCustomer reference
statusstringNoFilter by status

get_purchases_by_product

ParameterTypeRequiredDescription
productRefstringYesProduct reference
statusstringNoFilter by status

cancel_renewal

ParameterTypeRequiredDescription
purchaseIdstringYesPurchase ID or reference
reasonstringNoCancellation reason

check_limits

Returns usage-limit status for a customer/product pair. If limits are exceeded, the response includes a checkout URL for the customer to upgrade.
ParameterTypeRequiredDescription
customerRefstringYesCustomer reference
productRefstringYesProduct reference

Payment & Checkout

ToolDescription
create_checkout_sessionGenerate a checkout URL
create_customer_sessionGenerate a customer billing-portal URL

create_checkout_session

ParameterTypeRequiredDescription
customerRefstringYesCustomer reference
productRefstringYesProduct reference
planRefstringNoPlan reference (uses the product’s default plan if omitted)
returnUrlstringNoRedirect URL after checkout completes

create_customer_session

Generates a URL where the customer can manage their billing, payment methods, and purchases.
ParameterTypeRequiredDescription
customerRefstringYesCustomer reference

Wallet & Revenue

ToolDescription
get_product_balanceGet revenue for a specific product

get_product_balance

ParameterTypeRequiredDescription
productRefstringYesProduct reference

Usage Tracking

ToolDescription
record_usageRecord a single usage event
record_bulk_usageRecord multiple usage events in one call

record_usage

ParameterTypeRequiredDescription
customerRefstringYesCustomer reference
productRefstringYesProduct reference
outcomestringYesOutcome identifier (e.g. success, failure)
actionstringNoAction name
requestIdstringNoIdempotency / correlation ID
actionDurationnumberNoDuration in milliseconds

record_bulk_usage

ParameterTypeRequiredDescription
eventsarrayYesArray of usage-event objects (same schema as record_usage)
Each object in events accepts the same fields as record_usage.

Transactions & Refunds

ToolDescription
list_transactionsList transactions with filters
get_transactionRetrieve a transaction by ID
get_transaction_statsGet transaction count and statistics
create_refundRefund a transaction (full or partial)

list_transactions

ParameterTypeRequiredDefaultDescription
limitnumberNo20Maximum results
offsetnumberNo0Pagination offset
statusstringNoFilter by status
fromDatestringNoStart date (ISO 8601)
toDatestringNoEnd date (ISO 8601)

get_transaction

ParameterTypeRequiredDescription
transactionIdstringYesTransaction ID

get_transaction_stats

ParameterTypeRequiredDescription
fromDatestringNoStart date (ISO 8601)
toDatestringNoEnd date (ISO 8601)

create_refund

ParameterTypeRequiredDescription
sourceTransactionIdstringYesTransaction ID to refund
amountnumberNoPartial refund amount (omit for a full refund)
reasonstringNoRefund reason