KYC — identification, brand & bank account
Submit the three building blocks MyTPE verifies before you can accept payments.
Before you can charge anyone, MyTPE must verify who you are. KYC is made of three resources, and a payment instance cannot be created until all three are accepted.
Each resource is reviewed by a MyTPE compliance officer and moves through the same status set:
pending → accepted or refused. When something is refused, the reason field explains why so
you can fix and resubmit. See Statuses & enums for the full list.
Creating an identification automatically creates a first brand with the same name, so you usually only need to add a logo to it rather than create a brand from scratch.
Identification
The identification is your legal/commercial dossier. It references an establishment type, an authorization type, an optional activity, and an optional registration document (PDF).
curl -X POST https://api.mytpe.appp/api/ext/identifications \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET" \
-F "name=Boutique Centrale SARL" \
-F "establishment_type_id=2f1c..." \
-F "authorization_type_id=7a9d..." \
-F "activity_id=c4e2..." \
-F "identification_file=@registre-commerce.pdf"{
"data": {
"id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"name": "Boutique Centrale SARL",
"status": "pending",
"reason": null,
"has_file": true,
"created_at": "2026-06-09T10:00:00.000000Z"
}
}Poll GET /identifications/{id} (or listen for the identification.approved /
identification.rejected webhook) until status is accepted.
→ API: Identifications
Brand
A brand is what your customers see on the payment page — a display name, a logo, and a file (a supporting document). A brand belongs to one identification.
curl -X POST https://api.mytpe.appp/api/ext/brands \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET" \
-F "name=Boutique Centrale" \
-F "identification_id=0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f" \
-F "logo=@logo.png" \
-F "file=@brand-doc.png"{
"data": {
"id": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
"name": "Boutique Centrale",
"status": "pending",
"reason": null,
"identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"created_at": "2026-06-09T10:05:00.000000Z"
}
}→ API: Brands
Bank account
This is the RIB that settlements are paid into. The account_number is the 20‑digit Algerian
RIB; MyTPE derives the bank_code from it. A bank account belongs to one identification.
curl -X POST https://api.mytpe.appp/api/ext/bank-accounts \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET" \
-H "Content-Type: application/json" \
-d '{
"account_number": "00799999000123456789",
"identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f"
}'{
"data": {
"id": "2d3e4f5a-6b7c-8d9e-0f1a-2b3c4d5e6f7a",
"account_number": "00799999000123456789",
"bank_code": "007",
"status": "pending",
"reason": null,
"identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"created_at": "2026-06-09T10:10:00.000000Z"
}
}→ API: Bank accounts
When KYC is complete
Once your identification, brand, and bank account all read accepted, you can
request a payment instance.
You cannot edit or delete a KYC resource that a payment instance already depends on. Detach or delete the instance first.