-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Amir Iranmanesh edited this page Jul 31, 2026
·
2 revisions
- Jibit's proxy payment gateway (PPG v3), with reversal and partial refunds
- Four buy-now-pay-later providers behind the same interface: SnappPay, TorobPay, Digipay and Tara
- Basket and invoice builders, so the lenders see the real order lines
- SnappPay eligibility checks, and settlement folded into
Verify - Digipay ticket types, delivery reporting and refund inquiries
- A bearer token cache that authenticates lazily and renews on rejection
- Provider independent
Gatewayinterface with capability reporting - 19 real gateways plus an in-memory virtual one
- Purchase, verify, refund, inquiry and callback parsing
- Multi-step settlement hidden inside
Verify— Mellat, AsanPardakht, Vandar, Pasargad, and later SnappPay - Split settlement for Zarinpal, Zibal, Parsian and AsanPardakht
- SOAP client, 3DES/AES/RSA envelopes and .NET XML key support, all on the standard library
- Rial/Toman conversion per provider
- GET and POST redirects, including the auto-submitting form
- Functional options per gateway, everything opt-in
- Retry, timeout, logging and a pluggable HTTP client
- Tests for every gateway, plus consumer level tests and runnable examples
- Makefile and CI enforcing the "standard library only" rule
Provider coverage
- Zarinpal refunds through the merchant OAuth token
- Sadad and Iran Kish reversal endpoints, once the contracts are confirmed
- IDPay and Zibal panel-level refunds
- Azki, Shepa, Rayanpay and Sepal
Features
- Bill payment and instalment transaction types as first class requests
- A recovery helper that reconciles lost callbacks through
Inquiry - Idempotency keys for retried purchases
- Persian translations of the provider response codes, next to the English ones
Quality
- Benchmarks and a fuzz corpus for the callback parsers
- A conformance suite every gateway must pass, so a new provider is a data file plus an implementation
- Storage, queues or background workers. Payvand makes calls; your service owns the state.
- Transfers (Paya, Satna, card to card). Different domain, different package.
- A dependency, of any kind, for any reason.
Open a gateway request with a link to the provider's documentation, or a normal issue for a feature. Provider documentation plus a sandbox terminal is what makes a gateway happen quickly.
Payvand · MIT licensed · built on the Go standard library alone · report an issue