Build payments into your product with TPE virtual. Start integrating →
Logo

MyTPE Pay

Accept online card payments in Algeria with a single API — KYC, virtual terminals, payment links, forms, and webhooks.

MyTPE Pay is the payment layer of the MyTPE platform. It lets traders accept card payments online through virtual payment terminals, share payment links, collect structured data with forms, and stay in sync with real-time webhooks — all from one REST API.

This is the developer reference. It covers the full integration path, the API endpoints, and the data model (statuses and response shapes) you work with.

Built for Algeria

Payments are processed through SATIM (CIB / Edahabia) and other local gateways, with Visa and Mastercard support coming soon. Amounts are in Algerian Dinar (DZD) unless stated otherwise.

What you can build

  • Charge customers online — create a payment link, share its URL, and let your customer pay by card. No checkout to build.
  • Embed payments in your own product — drive the whole flow from your ERP, e‑commerce store, SaaS, or marketplace through the API and keep your own IDs mapped to MyTPE resources.
  • Collect data at checkout — attach a custom form (name, order ref, delivery address, industry‑specific fields) to any payment link.
  • React to events — receive transaction.paid, payment_link.exhausted, KYC decisions, and more on your own endpoint, signed and retried.

Workspaces

Everything below happens inside a workspace. Your account has at least one, and each is either live or test.

A test workspace runs against the gateway's development credentials, so you can complete this entire path — KYC, instance, link, a real payment, a webhook delivery — without moving money. Switching to live is one header change, with no other edits.

Select one by sending its id in the X-Workspace-Id header; omit it and the API uses your earliest live workspace. See Workspaces.

Resources are workspace-scoped. A payment link created in one workspace is invisible from another — a 404 on an id you know exists usually means the request resolved to a different workspace.

How an integration is shaped

Every integration follows the same path. You complete it once, then create links (or instances) as often as you need.

Pick a workspace

Call GET /workspaces to see the ones your API key can reach. Build against a test workspace first — payments there never touch a real card. Everything in the steps below is scoped to whichever one you select.

Complete KYC

Submit an identification (your legal/commercial registration), a brand (the public name and logo your customers will see), and a bank account (RIB) where settlements land. MyTPE reviews and approves each one. See KYC.

Request a payment instance

A payment instance is your virtual terminal (TPE). It ties an approved identification, brand, and bank account to a SATIM acceptance license. See Payment instances.

(Optional) Build a form

Define the fields you want collected at checkout and publish the form so it can be attached to links. See Forms.

Create a link on a ready instance, set the amount and usage rules, optionally attach a form, then publish it. Share the URL — that is your "start working" moment. See Payment links.

Core concepts

ConceptWhat it is
WorkspaceThe container every resource belongs to. Each is either live or test, and each request acts inside exactly one.
IdentificationYour KYC dossier — the legal entity / commercial registration MyTPE verifies.
BrandThe customer‑facing identity (name + logo) shown on payment pages.
Bank accountThe RIB (20‑digit account) settlements are paid into.
Payment instanceA virtual TPE. Links are created under an instance; it must be ready to accept payments.
Payment linkA shareable URL that charges customers. Fixed/open amount, with usage rules.
FormA reusable set of fields collected at checkout and attached to a link.
TransactionA single payment attempt against a link or an instance activation.
WebhookAn HTTPS endpoint you own that MyTPE calls when events happen.

Next steps

On this page