SATIM Overview
Use this page to understand the full flow, then continue with role-specific docs:
1. End-to-End Payment Flow
- Customer confirms an order on the merchant website.
- Merchant generates a unique
orderNumber(exactly 10 alphanumeric characters). - Merchant creates a
payment_attemptsrow with statusinitiated. - Merchant calls SATIM
register.do. - SATIM returns
orderIdandformUrl. - Merchant updates
payment_attempts(registeredorregistered_failed) and stores SATIM register payloads. - Merchant redirects customer to
formUrl. - SATIM redirects customer to merchant
returnUrlorfailUrl. - Merchant calls
acknowledgeTransaction.dowithmdOrder. - Merchant updates
payment_attempts(acknowledgedoracknowledge_failed) and stores SATIM acknowledge payloads. - Merchant persists a
transactionsrow linked topayment_attempts(even on acknowledge failure). - Merchant displays the final result page.
2. SATIM Test Endpoints
- Register order:
https://test2.satim.dz/payment/rest/register.do - Acknowledge transaction:
https://test2.satim.dz/payment/rest/public/acknowledgeTransaction.do
HTTP method
Use HTTP POST for SATIM API calls, even if some examples show GET.
Integration Window
The SATIM integration period is fixed at 15 days from Tech Lead activation on the SATIM platform.
During this period, request SATIM test cards (jeu de cartes) from the Tech Lead for local testing before pushing code to Git.
3. Implementation Map
- Backend: data model, status lifecycle,
register.do,acknowledgeTransaction.do. - Frontend: IHM/UX constraints, return-page behavior, receipt actions.
- Certification: consolidated go-live validation checklist.
4. Team Coordination Requirement
- Frontend and backend teams should coordinate development closely (shared milestones, API contracts, payload validation, and end-to-end testing).
- Effective cross-team coordination is required to keep the SATIM implementation smooth and efficient and to improve certification success.