Skip to content

Roadmap

Amir Iranmanesh edited this page Jul 31, 2026 · 2 revisions

Roadmap

Shipped in 1.1.0

  • 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

Shipped in 1.0.0

  • Provider independent Gateway interface 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

Next

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

Not planned

  • 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.

Asking for something

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.

Clone this wiki locally