Payment Gateway
Tap Payments
API integration
Ship Payment Gateway features without building the integration. Full Tap Payments API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Tap Payments
Common scenarios for SaaS companies building Tap Payments integrations for their customers.
Offer localized MENA checkout to your merchants
SaaS platforms serving GCC-based businesses can embed Tap Payments to instantly unlock local payment methods like mada, KNET, Benefit, and regional BNPLs (Tabby, Tamara) without building country-specific integrations themselves.
Provision sub-merchant accounts inside your product
Marketplaces and vertical SaaS platforms can onboard their end-users as Tap sub-merchants natively, capturing KYC documents and creating Connect accounts without sending users to an external portal.
Power in-app payment analytics and reconciliation
E-commerce and booking platforms can sync charges, refunds, disputes, and payouts into their own dashboards using Tap's async bulk download APIs, so merchants never need to leave the SaaS UI to reconcile revenue.
Enable holds and pre-authorizations for appointment-based products
Clinic, salon, hospitality, and rental SaaS platforms can reduce no-shows and chargebacks by placing card holds via Tap's authorize APIs, then capturing or releasing them based on booking outcomes.
Automate B2B invoicing for regional merchants
Accounting, CRM, and wholesale marketplace platforms can issue localized digital invoices to their users' customers and track lifecycle status (Draft → Due → Paid) directly inside their product.
What You Can Build
Ship these features with Truto + Tap Payments
Concrete product features your team can ship faster by leveraging Truto’s Tap Payments integration instead of building from scratch.
Embedded merchant onboarding with KYC
Create leads, upload compliance documents, and convert verified leads into functioning Tap Connect sub-merchant accounts without leaving your product.
White-labeled tokenized checkout
Tokenize raw card and Apple Pay payloads via Tap's token API and finalize transactions through the charge API to keep your checkout PCI-safe and fully branded.
Pre-authorization holds for bookings and rentals
Place, update, and later capture or release card authorizations to secure appointments, reservations, or equipment rentals.
Merchant revenue dashboard
Sync charges, refunds, payouts, and disputes via Tap's async download APIs to render native sales, settlement, and chargeback dashboards inside your SaaS.
Split payments for marketplaces
Map vendors as merchants and destinations to route funds between the underlying supplier and your platform fee on every transaction.
Automated invoice generation and tracking
Create Tap invoices programmatically, update them as terms change, and list their status to surface payable links and paid receipts inside your product.
SuperAI
Tap Payments AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_tap_payments_authorize
Create an authorization hold on a card in Tap. Returns the authorize object including id, object, status, amount, currency, live_mode, api_version, method, transaction, reference, response, card, customer, source, redirect, post, auto, merchant, metadata, and payment_agreement.
update_a_tap_payments_authorize_by_id
Update an existing Tap authorization by id. Only description, metadata, and receipt may be modified; all other fields remain unchanged. Returns the updated authorize object including id, status, amount, currency, live_mode, api_version, transaction, customer, source, card, redirect, post, and auto details. Required: id.
tap_payments_authorize_download
Download Tap authorize records filtered by date range and merchant IDs. Returns the authorize records as a downloadable file.
create_a_tap_payments_authorize_download
Create a Tap authorize download request to export authorize records matching specified filter criteria. Returns a downloadable file of matched authorize records; response format is content-type-specific (text/plain or application/json).
create_a_tap_payments_charge
Create a charge in Tap to collect payment from a customer. Returns the created charge object including id, status, amount, currency, customer, card, source, and transaction details. Required: amount, currency, customer, source, redirect.
list_all_tap_payments_charge
List charges in Tap with optional filters for period, status, customers, and currency. Returns each charge record including id, status, amount, currency, customer, card, source, and transaction details.
update_a_tap_payments_charge_by_id
Update an existing Tap charge. Only description and metadata can be modified. Returns the updated charge object including id, status, amount, currency, customer, card, source, and transaction details.
tap_payments_charge_download
Download charges from Tap as a bulk report, filtered by period, merchants, status, currency, and more. Returns charge records including id, status, amount, currency, customer, source, card, and transaction details. The response format can be JSON or plain text via the accept header.
create_a_tap_payments_charge_download
Create a charge download report in Tap by posting filter criteria such as period, merchants, status, currency, payment methods, and customers. Returns charge records including id, status, amount, currency, customer, reference, card, transaction, and merchant details.
create_a_tap_payments_refund
Create a refund against an existing Tap charge, supporting full or partial refund amounts. Returns the refund object including id, status, amount, currency, charge_id, created, date, reference, response, gateway, and transaction details. Required: charge_id, amount, currency, reason.
tap_payments_refund_download
Download refund records from Tap. Returns refund objects including id, status, amount, currency, charge_id, created, date, reference, response, gateway, and transaction details.
create_a_tap_payments_refund_download
Create a refund download report in Tap by posting filter criteria such as merchants, period, status, currency, and dispute flags. Returns refund records including id, object, amount, charge_id, currency, status, created, date, reference, transaction, gateway, and reason.
create_a_tap_payments_business
Create a new business in Tap. Returns the created business object including id, name, type, entity, contact_person, and brands. Required: name, type, entity, brands. Pass an idempotent string to prevent duplicate creation.
list_all_tap_payments_business
List businesses in Tap with optional filtering by business_id, idempotent key, brand, entity, and user details. Returns business records including id, name, type, entity, contact_person, and brands.
list_all_tap_payments_destination
List all destinations in Tap. Returns: id. Max 50 destinations per call.
get_single_tap_payments_destination_by_id
Get a single Tap destination by its unique identifier. Returns: id, amount, currency. Required: destination_id.
create_a_tap_payments_merchant
Create a new merchant in Tap linked to a business entity, brand, and optional branch or wallet. Returns the merchant record including display_name, business_id, business_entity_id, brand_id, wallet_id, charge_currenices, bank_account, and settlement_by. Required: display_name, business_id, business_entity_id, brand_id.
list_all_tap_payments_merchant
List all merchants in Tap for a given business, optionally filtered by business_id and date period. Returns merchant records including display_name, business_id, business_entity_id, brand_id, wallet_id, charge_currenices, bank_account, and settlement_by.
create_a_tap_payments_invoice
Create a new invoice in Tap. Returns the created invoice object including its id, draft status, due and expiry dates, mode, customer, order, notifications, reference, and redirect configuration. Required: due, expiry, customer, order.
list_all_tap_payments_invoice
List invoices in Tap filtered by date period, reference, or track status. Returns invoice records including id, draft, due, expiry, mode, customer, order, and reference. Supports ordering by field and direction.
update_a_tap_payments_invoice_by_id
Update an existing Tap invoice. Returns the updated invoice object including its id, draft status, due and expiry dates, mode, customer, order, notifications, and reference. Required: invoice_id, due, expiry, customer, order.
create_a_tap_payments_dispute_download
Create a dispute download request in Tap for a specified date period and optional list of merchant IDs. Returns dispute data as a downloadable file whose content is either application/json or text/plain depending on the accept header — the payload is file content and not a structured record. Required: period.
create_a_tap_payments_file
Create a file in Tap by uploading a document. Returns the created file object including id, filename, purpose, title, type, size, url, and links. Required: purpose, file, title, expires_at, file_link_create.
create_a_tap_payments_customer
Create a new customer in Tap. Returns the created customer object including id, first_name, last_name, email, and phone. Required: first_name.
list_all_tap_payments_customer
List customers in Tap. Returns a paginated collection of customer records, each including id, first_name, last_name, email, and phone.
get_single_tap_payments_customer_by_id
Get a Tap customer by customer_id. Returns the customer object including id, first_name, last_name, email, and phone. Required: customer_id.
update_a_tap_payments_customer_by_id
Update an existing Tap customer. Returns the updated customer object including id, first_name, last_name, email, and phone. Required: first_name.
list_all_tap_payments_payout
List Tap payouts within a specified date period, optionally filtered by merchant IDs and payout IDs. Returns payout records each including id, status, amount, currency, merchant_id, date, wallet details (bank name, swift, beneficiary iban), and settlements_available. Required: period. Maximum 50 payouts per call.
get_single_tap_payments_payout_by_id
Retrieve a specific Tap payout by payout ID. Returns the payout record including id, status, amount, currency, merchant_id, date, and wallet details (bank name, swift, and beneficiary iban). Required: payouts.
tap_payments_payout_download
Download a specific Tap payout's data by payout ID. Returns the payout record including id, status, amount, currency, merchant_id, date, and wallet details (bank name, swift, and beneficiary iban). Required: payouts.
create_a_tap_payments_payout_download
Create a payout download report in Tap for one or more merchants, optionally filtered by specific payout IDs. Returns an opaque text/plain file download containing the requested payout data; the response is a file stream rather than a structured JSON payload.
list_all_tap_payments_card
List all saved cards for a Tap customer. Returns a collection of card objects, each including id, object, brand, exp_month, exp_year, last_four, first_six, name, funding, fingerprint, customer, scheme, address, and issuer. Required: customer_id.
get_single_tap_payments_card_by_id
Retrieve a specific saved card for a Tap customer by card id. Returns: id, object, brand, scheme, last4, last_four, first_six, exp_month, exp_year, name, funding, fingerprint, customer, address, address_line1, address_country, address_city, phone_number, address_zip, issuer. Required: customer_id, id.
delete_a_tap_payments_card_by_id
Delete a saved card for a Tap customer by card id. Returns the deleted card object including id, object, brand, exp_month, exp_year, last_four, name, funding, and fingerprint. Required: customer_id, id.
create_a_tap_payments_card
Verify and register a card in Tap using the card verification flow. Returns the resulting card object including id, object, brand, exp_month, exp_year, last_four, first_six, name, funding, fingerprint, customer, scheme, address, and issuer. Required: currency, customer.
create_a_tap_payments_token
Create a single-use payment token in Tap from raw card data, a saved card, or a network (scheme) token, usable as a source in Charges, Authorize, or Card API calls. Returns: id, object, client_ip, card. Tokens are single-use and valid for only a few minutes after creation.
create_a_tap_payments_connect
Create a Tap connect URL for a lead, initiating an onboarding flow that authenticates the lead and converts it to an account when all validation rules are met. Returns: scope, data, lead, board, redirect, post, webhook, interface. Required: scope, lead, redirect, post.
tap_payments_connect_create_account
Convert a Tap lead into a retailer account by submitting the lead ID. Returns: scope, data, lead, board, redirect, post, webhook, interface. Required: lead_id.
create_a_tap_payments_connect_account
Convert a lead to a retailer (connect account) in Tap by submitting a lead ID. The source documents a 200 OK response on success but does not enumerate the response body fields. Required: lead_id.
create_a_tap_payments_lead
Create a new lead in Tap. Returns the lead object including country, brand, entity, wallet, marketplace, and post. Required: country.
update_a_tap_payments_lead_by_id
Update a Tap lead for a retailer. Returns the updated lead object including country, brand, entity, wallet, marketplace, and post. Required: lead_id, country, brand, entity, wallet, marketplace.
create_a_tap_payments_charge
Create a charge in Tap against a payment source (token or source ID). Returns the created charge object including id, status, amount, currency, customer, card, transaction, reference, and payment_agreement. Required: amount, currency, source.
list_all_tap_payments_charges
List charges in Tap, optionally filtered by period, status, currency, customer, or other criteria. Returns a collection of charge records, each including id, status, amount, currency, customer, source, and payment_agreement.
update_a_tap_payments_charge_by_id
Update a Tap charge by id. Allows updating the description and metadata fields. Returns the updated charge object including id, status, amount, currency, description, metadata, customer, and card. Required: id.
tap_payments_charges_download
Download Tap charge records in bulk for a given period, merchant set, or filter criteria. Returns charge records including id, status, amount, currency, customer, source, and payment_agreement.
create_a_tap_payments_refund
Create a refund in Tap against an existing charge (full or partial). Returns the refund object including id, status, amount, currency, charge_id, reference, response, and transaction details. Required: charge_id, amount, currency.
tap_payments_refunds_download
Download refunds from Tap with optional filtering by merchant reference and metadata. Returns the refund object including id, status, amount, currency, charge_id, reference, gateway, and transaction details.
create_a_tap_payments_business
Create a new business in Tap. Returns the created business object including business_id, brand, entity, and user. Required: name, type, entity, brands.
list_all_tap_payments_businesses
List all businesses in Tap. Returns a collection of business records, each including business_id, brand, entity, and user details.
list_all_tap_payments_destinations
List all Tap destinations available for splitting payments with sub-merchants. Returns: id, amount, currency, charge_id, reason, post, metadata, reference. Max 50 per page.
get_single_tap_payments_destination_by_id
Get a single Tap destination by id. Returns: id, amount, currency, charge_id, reason, post, metadata, reference. Required: id.
create_a_tap_payments_merchant
Create a new merchant in Tap. Returns the created merchant object including display_name, business_id, business_entity_id, brand_id, branch_id, wallet_id, charge_currenices, bank_account, and settlement_by.
list_all_tap_payments_merchants
List merchants in Tap, optionally filtered by business and date period. Returns a collection of merchant objects including display_name, business_id, business_entity_id, brand_id, branch_id, wallet_id, charge_currenices, bank_account, and settlement_by.
create_a_tap_payments_invoice
Create a new invoice in Tap. Returns the created invoice object including id, draft, due, expiry, mode, description, customer, and order. Required: due, expiry, customer, order.
list_all_tap_payments_invoices
List invoices in Tap, optionally filtering by period, reference, or track status. Returns invoice records including id, draft, due, expiry, mode, customer, and order.
update_a_tap_payments_invoice_by_id
Update an existing invoice in Tap by id. Returns the updated invoice object including id, draft, due, expiry, mode, customer, and order. Required: id, due, expiry, customer, order.
tap_payments_disputes_download
Download dispute data from Tap for a specified date range and list of merchants. Returns a text/plain file (spreadsheet) containing dispute records for the requested period. Required: period.
create_a_tap_payments_file
Upload a file to the Tap server for use in merchant onboarding and document verification (e.g., identity documents, business logos, commercial registration). Returns the created file object including id, filename, purpose, size, title, type, url, and links. Required: file, purpose, title, file_link_create, expires_at.
create_a_tap_payments_customer
Create a new customer in Tap. Returns the created customer object including id, first_name, last_name, and email.
list_all_tap_payments_customers
List customers in Tap. Returns a paginated collection of customer records, each including id, first_name, last_name, email, and phone.
get_single_tap_payments_customer_by_id
Get a single Tap customer by id. Returns the customer object including id, first_name, last_name, email, and phone. Required: id.
update_a_tap_payments_customer_by_id
Update a Tap customer by id. Returns the updated customer object including id, first_name, last_name, email, and phone. Required: id.
list_all_tap_payments_payouts
List Tap payouts filtered by date period, merchants, or specific payout IDs. Returns a list envelope with object, live_mode, count, has_more, and a payouts array where each item contains id, status, date, amount, currency, merchant_id, wallet, and settlements_available.
tap_payments_payouts_download
Download Tap payouts filtered by payout ID or merchant. Returns a list envelope with object, live_mode, count, has_more, and a payouts array where each item contains id, status, date, amount, currency, merchant_id, wallet, and settlements_available.
list_all_tap_payments_cards
List all saved cards for a Tap customer. Returns card objects including id, object, brand, exp_month, exp_year, name, funding, fingerprint, last4, scheme, and issuer. Required: customer_id.
get_single_tap_payments_card_by_id
Retrieve a single saved card from a Tap customer's account by id. Returns the card object including id, object, brand, exp_month, exp_year, name, funding, fingerprint, last4, scheme, and issuer. Required: customer_id, id.
delete_a_tap_payments_card_by_id
Delete a saved card from a Tap customer's account by id. Returns the deleted card object including id, object, brand, exp_month, exp_year, name, last4, and funding. Required: customer_id, id.
create_a_tap_payments_card
Verify a card in Tap via 3D Secure, optionally saving it to a customer account. Returns the verified card object including id, object, brand, exp_month, exp_year, name, funding, fingerprint, last4, scheme, and issuer.
create_a_tap_payments_token
Create a single-use token in Tap that can be used in place of a payment source in the Charges or Authorize API. Supports card, encrypted card, saved card, Apple Pay, Samsung Pay, and scheme token types. Returns: id, saved_card, client_ip. Required inputs vary by token type: use type + token_data for Apple Pay, Samsung Pay, or scheme tokens; card for plain or encrypted card tokens; saved_card for…
create_a_tap_payments_lead
Create a new lead in Tap. Returns the created lead object including id, country, segment, brand, entity, wallet, marketplace, and post webhook URL.
get_single_tap_payments_lead_by_id
Get a single Tap lead by id. Returns the lead object including id, country, brand, entity, wallet, marketplace, and post webhook details. Required: id.
update_a_tap_payments_lead_by_id
Update a Tap lead by id. Returns the updated lead object including id, country, brand, entity, wallet, marketplace, and post webhook details. Required: id.
Why Truto
Why use Truto’s MCP server for Tap Payments
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Tap Payments in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Tap Payments account
Use Truto’s frontend SDK to connect your customer’s Tap Payments account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Tap Payments
Truto’s Proxy API is a 1-to-1 mapping of the Tap Payments API. You call us, we call Tap Payments, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Tap Payments’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Tap Payments on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work when my users connect their Tap Payments account?
Truto handles credential collection and secure storage for Tap Payments API keys on behalf of your end-users. Your product calls Truto's tools using a stable connection identifier, and Truto injects the correct auth headers when calling Tap — you never store or rotate merchant API keys yourself.
Which Tap Payments operations are supported through Truto?
The integration covers charges, authorizations, refunds, customers, cards, tokens, invoices, payouts, disputes, merchants, destinations, businesses, leads, files, and Connect account creation — including both transactional endpoints and the async bulk download endpoints for charges, refunds, payouts, and disputes.
How do the asynchronous download APIs work for bulk historical data?
Tap's download endpoints (e.g. for charges, payouts, refunds, disputes) are asynchronous — you trigger a download job via the create download tool, then poll the corresponding retrieval tool to fetch the results once ready. This is the recommended pattern for backfilling historical transaction data into your own database.
Can I embed full merchant onboarding without sending users to Tap's portal?
Yes. You can create a lead, attach KYC/KYB documents via the file upload tool, update the lead as verification progresses, and then create a Connect account — all through API calls, keeping your users inside your product throughout onboarding.
Does the integration support marketplace-style split payments?
Yes. You can create merchants, list and retrieve destinations, and reference them when creating charges so funds are routed between the underlying vendor and your platform fee within a single transaction flow.
How do I keep transaction and payout data fresh in my product?
For real-time updates, call the list and get tools for charges, payouts, and customers on demand or on a schedule that fits your product. For larger historical syncs, use the async download tools to pull bulk exports without hitting per-request pagination limits.
Tap Payments
Get Tap Payments integrated into your app
Our team understands what it takes to make a Tap Payments integration successful. A short, crisp 30 minute call with folks who understand the problem.