87 Commits
Author SHA1 Message Date
sankalp 8cbaba28d8 fix: add SSRF guard for http(s) URLs 2026-10-04 07:24:39 +05:45
sankalp 0e1db2bd94 fix: handle urlsafe base64 in decoder 2026-10-04 07:24:20 +05:45
sankalp 8022f37ae2 fix: add thread-safe service cache in manager 2026-10-04 07:24:02 +05:45
sankalp a67de8d16b example: update test credentials 2026-09-11 15:34:09 +05:45
sankalp f6887ccaa9 example: update test credentials 2026-09-11 15:27:15 +05:45
sankalp e85d0facee docs: update readme 2026-09-03 02:04:37 +05:45
sankalp 1f2190b471 docs: update readme 2026-09-03 01:56:33 +05:45
sankalp 2c7fb176c9 docs: update readme 2026-09-03 01:52:19 +05:45
sankalp dce589ca98 docs: update readme 2026-09-03 01:49:58 +05:45
sankalp 5af284696d docs: update readme 2026-09-03 01:45:50 +05:45
sankalp ec5bf1d96b ci: update release ci 2026-09-03 01:42:22 +05:45
sankalp aa6ff90892 ci: update release ci 2026-09-03 01:40:03 +05:45
sankalp 13217e9ba9 ci: update release ci 2026-09-03 01:36:12 +05:45
sankalp 503bd7422c docs: reflect Django 6.0 and 6.1 in badge 2026-09-03 01:02:25 +05:45
sankalp f81fd79ef6 ci: add Django 6.0 and 6.1 to test matrix
Django 6.x needs Python 3.12+, so the matrix now pins valid
python-django pairings instead of a cross product that would run
unsupported combos.
2026-09-03 01:02:25 +05:45
sankalp 05d3ba794b docs: add badges and drop contents section 2026-09-03 00:57:32 +05:45
sankalp c38869b662 ci: publish to PyPI on version tags 2026-09-03 00:57:32 +05:45
sankalp 266c8808fc ci: add live sandbox smoke test workflow 2026-09-03 00:57:32 +05:45
sankalp 92aa8ccba1 ci: add lint, test matrix and build workflow 2026-09-03 00:57:32 +05:45
sankalp 8d0e3f7e3b feat(examples): add ConnectIPS processing template 2026-09-03 00:41:20 +05:45
sankalp d4b1edf816 feat(examples): add ConnectIPS confirm template 2026-09-03 00:41:20 +05:45
sankalp 5d2b598cc7 feat(examples): add ConnectIPS bank-select template 2026-09-03 00:41:20 +05:45
sankalp db3885e1b7 feat(examples): add ConnectIPS login template 2026-09-03 00:41:20 +05:45
sankalp 8ed166fa2a feat(examples): add ConnectIPS redirect form template 2026-09-03 00:41:16 +05:45
sankalp 6b67ac6cf7 feat(examples): add payment result template 2026-09-03 00:41:16 +05:45
sankalp 09766e678e feat(examples): add initiated QR template 2026-09-03 00:41:16 +05:45
sankalp 1b92c2cdb2 feat(examples): add payment create template 2026-09-03 00:41:16 +05:45
sankalp 64003597d5 feat(examples): add home template listing gateways 2026-09-03 00:41:16 +05:45
sankalp b7510fadee feat(examples): add base template 2026-09-03 00:41:16 +05:45
sankalp f645422e22 feat(examples): add monitor_fonepay worker command 2026-09-03 00:41:16 +05:45
sankalp 9a9995f420 feat(examples): add management commands init 2026-09-03 00:41:16 +05:45
sankalp b124b3b4eb feat(examples): add management package init 2026-09-03 00:41:16 +05:45
sankalp edb29de604 feat(examples): implement initiate/verify flows and mock ConnectIPS checkout 2026-09-03 00:41:05 +05:45
sankalp 94b2560503 feat(examples): route payment, callback and verify URLs 2026-09-03 00:41:05 +05:45
sankalp 0826ea50ed feat(examples): register Order in admin 2026-09-03 00:41:05 +05:45
sankalp 564c99b345 feat(examples): add Order model with payment lifecycle 2026-09-03 00:41:05 +05:45
sankalp 4725eeb4d3 feat(examples): add payments app config 2026-09-03 00:41:05 +05:45
sankalp 496a9e2c1e feat(examples): add payments app init 2026-09-03 00:41:05 +05:45
sankalp 46363e676f feat(examples): add WSGI config 2026-09-03 00:41:01 +05:45
sankalp f8ddc727f5 feat(examples): add ASGI config 2026-09-03 00:41:01 +05:45
sankalp 2831b21ef0 feat(examples): route app and admin URLs 2026-09-03 00:41:01 +05:45
sankalp 4b3a1af239 feat(examples): configure Django settings with gateway env credentials 2026-09-03 00:41:01 +05:45
sankalp 143e5a562c feat(examples): add project package init 2026-09-03 00:41:01 +05:45
sankalp 96b2696f33 docs(examples): describe the demo app 2026-09-03 00:40:57 +05:45
sankalp 683d20ea4f feat(examples): add Django management entry point 2026-09-03 00:40:57 +05:45
sankalp 6ed4f50f1a build(examples): lock dependency versions 2026-09-03 00:40:57 +05:45
sankalp 804a31683f build(examples): add project metadata 2026-09-03 00:40:57 +05:45
sankalp 692265b683 chore(examples): document env credentials 2026-09-03 00:40:57 +05:45
sankalp 4cbdc2498a chore(examples): add gitignore 2026-09-03 00:40:57 +05:45
sankalp 29cbbafd59 test: add env-gated live sandbox smoke tests 2026-09-03 00:40:51 +05:45
sankalp 881707ec38 test: cover Fonepay monitor polling and events 2026-09-03 00:40:51 +05:45
sankalp ebb5c0a362 test: cover ConnectIPS with real RSA key and mocked HTTP 2026-09-03 00:40:51 +05:45
sankalp f7a88497d7 test: exercise all gateway services with mocked HTTP 2026-09-03 00:40:51 +05:45
sankalp c2de8c02c0 test: verify gateway services share the base contract and HTTP client 2026-09-03 00:40:51 +05:45
sankalp 38f1df4352 test: cover PaymentResult ergonomics and request serialization 2026-09-03 00:40:51 +05:45
sankalp 01466abe91 test: cover HTTP error mapping, retries and coercion 2026-09-03 00:40:51 +05:45
sankalp 645ed3e7ab test: lock HMAC/RSA signing against Fonepay samples 2026-09-03 00:40:51 +05:45
sankalp 92411db00d test: mark tests as a package 2026-09-03 00:40:51 +05:45
sankalp bde1577ffd feat: export public package API and version 2026-09-03 00:40:35 +05:45
sankalp 751dcd132e feat: poll Fonepay status in background with events 2026-09-03 00:40:35 +05:45
sankalp 19f530b4f5 feat: unify gateway entry point via PaymentManager 2026-09-03 00:40:35 +05:45
sankalp f2affa6356 feat: build the right payment service per gateway 2026-09-03 00:40:35 +05:45
sankalp e1bc5f431d feat: resolve gateway endpoints and methods per action 2026-09-03 00:40:35 +05:45
sankalp 3bb8f5bfef feat(services): document gateway service modules 2026-09-03 00:40:25 +05:45
sankalp 55f2960474 feat(services): add ConnectIPS RSA-signed form and validation service 2026-09-03 00:40:25 +05:45
sankalp 087881201f feat(services): add Fonepay QR service with status and tax refund 2026-09-03 00:40:25 +05:45
sankalp 7d511e29b6 feat(services): add Khalti service with auth header 2026-09-03 00:40:24 +05:45
sankalp 494d93fd4e feat(services): add eSewa service with HMAC signing 2026-09-03 00:40:24 +05:45
sankalp 3736c81d14 feat(services): add abstract base service with shared error folding 2026-09-03 00:40:24 +05:45
sankalp ace4f33299 feat(models): export shared models 2026-09-03 00:40:01 +05:45
sankalp 7fd118f8e3 feat(models): add ConnectIPS request/response dataclasses 2026-09-03 00:40:01 +05:45
sankalp 214d4e3df2 feat(models): add Fonepay QR/status/refund dataclasses 2026-09-03 00:40:01 +05:45
sankalp 4de0d8375b feat(models): add Khalti request/response dataclasses 2026-09-03 00:40:01 +05:45
sankalp c1f6a39d04 feat(models): add eSewa request/response dataclasses 2026-09-03 00:40:01 +05:45
sankalp c6682e1fab feat(models): add shared BaseResponse and PaymentResult 2026-09-03 00:40:01 +05:45
sankalp cbc7511f41 feat: add HTTP client with retries and response coercion 2026-09-03 00:39:45 +05:45
sankalp e263587001 feat: add HMAC/RSA signing and response conversion helpers 2026-09-03 00:39:45 +05:45
sankalp f466ccfa03 feat: add provider endpoint constants for all gateways 2026-09-03 00:39:45 +05:45
sankalp 5c0fc1aee2 feat: define gateway, mode and action enums 2026-09-03 00:39:45 +05:45
sankalp 3a93bdc975 feat: add payment error hierarchy with categories 2026-09-03 00:39:45 +05:45
sankalp 56c839638c build: lock dependency versions 2026-09-03 00:39:42 +05:45
sankalp ce0212dec4 docs: document package usage 2026-09-03 00:39:42 +05:45
sankalp 04c7653efa build: add pyproject.toml metadata 2026-09-03 00:39:42 +05:45
sankalp 9c699c3b91 chore: package non-py files via MANIFEST 2026-09-03 00:39:42 +05:45
sankalp af36c0a905 chore: pin python version 2026-09-03 00:39:42 +05:45
sankalp 13cb5a444d chore: add .gitignore 2026-09-03 00:39:42 +05:45
sankalp f915f5a184 Initial commit 2026-08-31 20:58:40 +05:45