Build payments into your product with MyTPE Pay. Start integrating →
Logo
Get started

Payment instances

Request a virtual TPE that bundles your approved KYC and a SATIM acceptance license.

A payment instance is a virtual payment terminal (TPE). It is the object payment links are created under, and it is what actually accepts card payments. An instance ties together one approved identification, brand, and bank account, plus a SATIM acceptance license.

Why instances

Use one instance per place that should settle and report separately — a store branch, a delivery app, a tenant in your SaaS. Each instance has its own brand on the payment page and its own bank account for settlement, and its transactions are reported independently.

Two statuses to watch

An instance carries two independent statuses. Both matter — read the full lists in Statuses & enums.

FieldMeaning
acceptance_statusProgress of the SATIM license: pending_documentsdocuments_submittedready (or rejected). The instance can only charge when this is ready.
statusOperational state once activated: active or suspended.

Request activation

Creating an instance is a request: it submits your documents and opens a transaction for the activation fee. The instance becomes usable once the license reaches ready.

Request a payment instance
curl -X POST https://api.mytpe.appp/api/ext/instances \
  -H "X-Api-Key: $MYTPE_API_KEY" \
  -H "X-Api-Secret: $MYTPE_API_SECRET" \
  -F "title=Boutique Centrale — Alger" \
  -F "identification_id=0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f" \
  -F "brand_id=1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f" \
  -F "bank_account_id=2d3e4f5a-6b7c-8d9e-0f1a-2b3c4d5e6f7a" \
  -F "payment_method=online"
201 Created
{
  "data": {
    "transaction_id": "8e7d6c5b-4a39-2817-0f6e-5d4c3b2a1908",
    "status": "processing",
    "payment_method": "online",
    "amount": "3000.00",
    "currency": "DZD",
    "form_url": "https://gateway.satim.dz/payment/redirect/abc123"
  }
}

When payment_method is online, redirect the trader to form_url to pay the activation fee. For bank_transfer or cheque, attach a payment_proof file and a MyTPE officer confirms it manually. See payment methods.

Pay the activation

Complete the activation transaction (online redirect, or upload proof for offline methods).

Wait for ready

Poll GET /instances/{id} or listen for payment_instance.acceptance_changed. When acceptance_status becomes ready and status is active, the instance can accept payments.

Read an instance

curl https://api.mytpe.appp/api/ext/instances/8e7d6c5b-4a39-2817-0f6e-5d4c3b2a1908 \
  -H "X-Api-Key: $MYTPE_API_KEY" \
  -H "X-Api-Secret: $MYTPE_API_SECRET"
200 OK
{
  "data": {
    "id": "3e4f5a6b-7c8d-9e0f-1a2b-3c4d5e6f7a8b",
    "title": "Boutique Centrale — Alger",
    "status": "active",
    "acceptance_status": "ready",
    "acceptance_reason": null,
    "identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
    "brand_id": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
    "bank_account_id": "2d3e4f5a-6b7c-8d9e-0f1a-2b3c4d5e6f7a",
    "created_at": "2026-06-09T10:20:00.000000Z",
    "updated_at": "2026-06-09T11:00:00.000000Z"
  }
}

→ API: Payment instances

On this page