TagadaPay for Partners
Who this is for — Companies who run their own merchant-facing product (PSPs, marketplaces, embedded-payments platforms, recurring-billing tools, virtual terminals) and want to use TagadaPay as their infrastructure for both the merchant control plane (orders, stores, customers, subscriptions) and card processing.Your merchants never see TagadaPay. They see your brand, your dashboard, your support. TagadaPay sits behind your service.Building a single store for yourself instead? You’re in the wrong tab — head to Developer Tools for merchant SDKs (Headless, Plugin, Node, Studio MCP…).
The one thing to understand first: two domains
Everything in the platform — API URLs, SDK namespaces, keys, docs — is organized along one primary axis: CRM vs Processing.CRM domain
The merchant control plane: stores, products, orders, customers, subscriptions, promotions.
- Base URL:
/api/public/v1 - Key: CRM Key (
sk_crm_…, legacy UUID still works) - Scoped to a merchant (
acc_xxx)
Processing domain
TagadaPay Processing: provisioning TPAs, KYB, documents, and charging cards / APMs.
- Base URL:
/api/tagadapay/v1 - Key: Processing Key (
tp_sk_…) - Scoped to a TPA (
tpa_xxx)
partners.*.
Entities & ids — never confuse these two
What you can do as a partner
The SDK in one diagram
partners.crm.* and partners.processing.* mirror the platform’s two domains. CRM-only partners submit entity applications (applications.create) or embed — tpas.create returns 403 payfac_required. Payfac partners keep tpas.create. Direct merchants use processing.applications.create() with a CRM key.
Mental model in 30 seconds
Humans (Ops) vs machines (API keys)
Two auth models — do not mix them up:
Full matrix: IAM Overview. Deprecated / removed aliases (
tagadapaymentAdmin, partner_ops, hubadmin, partnerstaff) must not be granted — use payment_ops + scope.
Where to start
Quick Start
The end-to-end flow in a few steps: provision a TPA → mint a Processing Key → tokenize → charge. ~10 minutes to a successful payment.
API keys & authentication
The three keys — CRM Key, Processing Key, Partner Key — their scopes, rotation, and blast radius.
CRM provisioning (merchants)
Create
acc_xxx merchants and mint CRM Keys for the public API. CRM-only merchants are valid.Apply for TagadaPay Processing
Same payload for direct merchants (
processing.applications.create) and CRM-only partners (partners.processing.applications.create({ accountId, … })). Payfac partners: see Processing provisioning.Processing provisioning (TPAs)
Create
tpa_xxx TPAs, handle KYB requirements and documents, mint Processing Keys.Embed onboarding (iframe)
Mount TagadaPay’s KYB form inside your app via iframe — partner-branded, same backend as the dashboard form.
Merchant-of-Record sub-merchants (beta)
Beta. Are YOU the merchant-of-record? Provision sub-merchants under your own payfac umbrella (shared balance account, per-sub-merchant statement descriptors, no KYB) — returned
active immediately.Merchant automation (REST)
The raw HTTP routes behind both domains, for backends that don’t use the Node SDK.
Server-to-server payments
Card flow, instruments, 3DS, refunds, captures, MIT.
Alternative payment methods
Apple Pay, Google Pay, Klarna, iDEAL — native vs through-processor.
Full end-to-end example
A complete partner integration: provision → charge → refund, in one place.
What this section is NOT
The “Partners” section assumes you’re acting on behalf of many merchants and need the multi-tenant primitives (merchants, TPAs, scoped keys).
