Simulation of Mellat (Behpardakht) and SnappPay for testing app.sarak-co
SOAP protocol identical to the real bank's pgw service. The browser lands on the payment page with RefId.
| Method | Path | Purpose |
|---|---|---|
| POST | /mellat/soap/pgw | SOAP: bpPayRequest / bpVerifyRequest / bpSettleRequest / bpReversalRequest |
| GET | /mellat/soap/pgw?wsdl | Minimal WSDL with identical method signatures |
| GET/POST | /mellat/startpay?RefId=... | Simulated bank payment page |
| POST | /mellat/resolve | Resolve payment (approved/declined) then POST to callback |
REST API matching app.sarak-co's SnapppayController paths under SNAPPPAY_URL.
| Method | Path | Purpose |
|---|---|---|
| POST | /api/online/v1/oauth/token | Issue fake access token (Basic auth) |
| GET | /api/online/offer/v1/eligible?amount=... | Installment eligibility (always eligible) |
| POST | /api/online/payment/v1/token | Issue fake paymentToken + paymentPageUrl |
| GET | /snapppay/pay/{paymentToken} | Simulated SnappPay payment page |
| POST | /snapppay/resolve | Resolve payment (approved/declined) then GET to callback |
| POST | /api/online/payment/v1/verify | Verify a paymentToken |
| POST | /api/online/payment/v1/settle | Settle a verified paymentToken |
| POST | /api/online/payment/v1/revert | Revert/decline a paymentToken |
See README.md for installation, environment variables for app.sarak-co, and the manual test script.