svc-infra 0.1.592__py3-none-any.whl → 0.1.593__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of svc-infra might be problematic. Click here for more details.
- svc_infra/apf_payments/README.md +706 -0
- svc_infra/apf_payments/provider/__init__.py +4 -0
- svc_infra/apf_payments/provider/aiydan.py +771 -0
- svc_infra/apf_payments/settings.py +22 -2
- svc_infra/api/fastapi/apf_payments/setup.py +6 -0
- {svc_infra-0.1.592.dist-info → svc_infra-0.1.593.dist-info}/METADATA +2 -1
- {svc_infra-0.1.592.dist-info → svc_infra-0.1.593.dist-info}/RECORD +9 -7
- {svc_infra-0.1.592.dist-info → svc_infra-0.1.593.dist-info}/WHEEL +0 -0
- {svc_infra-0.1.592.dist-info → svc_infra-0.1.593.dist-info}/entry_points.txt +0 -0
|
@@ -9,17 +9,26 @@ STRIPE_KEY = os.getenv("STRIPE_SECRET") or os.getenv("STRIPE_API_KEY")
|
|
|
9
9
|
STRIPE_WH = os.getenv("STRIPE_WH_SECRET")
|
|
10
10
|
PROVIDER = (os.getenv("APF_PAYMENTS_PROVIDER") or os.getenv("PAYMENTS_PROVIDER", "stripe")).lower()
|
|
11
11
|
|
|
12
|
+
AIYDAN_KEY = os.getenv("AIYDAN_API_KEY")
|
|
13
|
+
AIYDAN_CLIENT_KEY = os.getenv("AIYDAN_CLIENT_KEY")
|
|
14
|
+
AIYDAN_MERCHANT = os.getenv("AIYDAN_MERCHANT_ACCOUNT")
|
|
15
|
+
AIYDAN_HMAC = os.getenv("AIYDAN_HMAC_KEY")
|
|
16
|
+
AIYDAN_BASE_URL = os.getenv("AIYDAN_BASE_URL")
|
|
17
|
+
AIYDAN_WH = os.getenv("AIYDAN_WH_SECRET")
|
|
18
|
+
|
|
12
19
|
|
|
13
20
|
class StripeConfig(BaseModel):
|
|
14
21
|
secret_key: SecretStr
|
|
15
22
|
webhook_secret: Optional[SecretStr] = None
|
|
16
23
|
|
|
17
24
|
|
|
18
|
-
class
|
|
25
|
+
class AiydanConfig(BaseModel):
|
|
19
26
|
api_key: SecretStr
|
|
20
27
|
client_key: Optional[SecretStr] = None
|
|
21
28
|
merchant_account: Optional[str] = None
|
|
22
29
|
hmac_key: Optional[SecretStr] = None
|
|
30
|
+
base_url: Optional[str] = None
|
|
31
|
+
webhook_secret: Optional[SecretStr] = None
|
|
23
32
|
|
|
24
33
|
|
|
25
34
|
class PaymentsSettings(BaseModel):
|
|
@@ -34,7 +43,18 @@ class PaymentsSettings(BaseModel):
|
|
|
34
43
|
if STRIPE_KEY
|
|
35
44
|
else None
|
|
36
45
|
)
|
|
37
|
-
|
|
46
|
+
aiydan: Optional[AiydanConfig] = (
|
|
47
|
+
AiydanConfig(
|
|
48
|
+
api_key=SecretStr(AIYDAN_KEY),
|
|
49
|
+
client_key=SecretStr(AIYDAN_CLIENT_KEY) if AIYDAN_CLIENT_KEY else None,
|
|
50
|
+
merchant_account=AIYDAN_MERCHANT,
|
|
51
|
+
hmac_key=SecretStr(AIYDAN_HMAC) if AIYDAN_HMAC else None,
|
|
52
|
+
base_url=AIYDAN_BASE_URL,
|
|
53
|
+
webhook_secret=SecretStr(AIYDAN_WH) if AIYDAN_WH else None,
|
|
54
|
+
)
|
|
55
|
+
if AIYDAN_KEY
|
|
56
|
+
else None
|
|
57
|
+
)
|
|
38
58
|
|
|
39
59
|
|
|
40
60
|
_SETTINGS: Optional[PaymentsSettings] = None
|
|
@@ -24,6 +24,12 @@ def _maybe_register_default_providers(
|
|
|
24
24
|
reg.register(StripeAdapter())
|
|
25
25
|
except Exception:
|
|
26
26
|
pass
|
|
27
|
+
try:
|
|
28
|
+
from svc_infra.apf_payments.provider.aiydan import AiydanAdapter
|
|
29
|
+
|
|
30
|
+
reg.register(AiydanAdapter())
|
|
31
|
+
except Exception:
|
|
32
|
+
pass
|
|
27
33
|
if adapters:
|
|
28
34
|
for a in adapters:
|
|
29
35
|
reg.register(a) # must implement ProviderAdapter protocol (name, create_intent, etc.)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: svc-infra
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.593
|
|
4
4
|
Summary: Infrastructure for building and deploying prod-ready services
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: fastapi,sqlalchemy,alembic,auth,infra,async,pydantic
|
|
@@ -26,6 +26,7 @@ Provides-Extra: pg2
|
|
|
26
26
|
Provides-Extra: redshift
|
|
27
27
|
Provides-Extra: snowflake
|
|
28
28
|
Provides-Extra: sqlite
|
|
29
|
+
Requires-Dist: adyen (>=13.4.0,<14.0.0)
|
|
29
30
|
Requires-Dist: ai-infra (>=0.1.63,<0.2.0)
|
|
30
31
|
Requires-Dist: aiosqlite (>=0.20.0,<0.21.0) ; extra == "sqlite"
|
|
31
32
|
Requires-Dist: alembic (>=1.13.2,<2.0.0)
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
svc_infra/__init__.py,sha256=8maroJlM18MasrrLLcSbleK9pc0Q26Ek_sLvfafEG1c,49
|
|
2
|
+
svc_infra/apf_payments/README.md,sha256=jW2YLnqsQbRkZQCbIwYL1fg0NnwT76KQ-Mxov75OX7A,22356
|
|
2
3
|
svc_infra/apf_payments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
4
|
svc_infra/apf_payments/alembic.py,sha256=XJIcCDOoaO1EeJbSx_qK9o4cBi430qyo5gECtjHIojw,299
|
|
4
5
|
svc_infra/apf_payments/models.py,sha256=u4U5oszha5uulCIrNoajaFDIc5YmTlh2mtm-yJUvr9I,14251
|
|
5
|
-
svc_infra/apf_payments/provider/__init__.py,sha256=
|
|
6
|
+
svc_infra/apf_payments/provider/__init__.py,sha256=zBh26eY7kcWHD4RXqAKfqaspY0_VE9thfts7aE8zbHg,142
|
|
7
|
+
svc_infra/apf_payments/provider/aiydan.py,sha256=QyzNGsp5F9BB43QwI686-cNzxA2GASKDfJmCsMq86BY,30972
|
|
6
8
|
svc_infra/apf_payments/provider/base.py,sha256=1t5znglpGFhjt4zdbuzE5VlHvGarFwzH2oscK8yyKNY,7678
|
|
7
9
|
svc_infra/apf_payments/provider/registry.py,sha256=NZ4pUkFcbXNtqWEpFeI3NwoKRYGWe9fVQakmlrVLTKE,878
|
|
8
10
|
svc_infra/apf_payments/provider/stripe.py,sha256=Xb_UjdobbBzK-an9cO1jRWiP6OHvki5MDp6JnS6a1-I,34392
|
|
9
11
|
svc_infra/apf_payments/schemas.py,sha256=1fdGnrXrm8Rmk9nwDsbcvrVIyPL2o8HwbZ7-KY9-yZo,8561
|
|
10
12
|
svc_infra/apf_payments/service.py,sha256=YjSjR7xB51_Xvq_gxibBCaXwTP2UwsF2gUAANN_OJOs,30799
|
|
11
|
-
svc_infra/apf_payments/settings.py,sha256=
|
|
13
|
+
svc_infra/apf_payments/settings.py,sha256=vVWsvz_ajtVlRPH4N8ijSI4V7hUfjZFZT3h4wHRNa-s,2032
|
|
12
14
|
svc_infra/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
15
|
svc_infra/api/fastapi/__init__.py,sha256=VVdQjak74_wTDqmvL05_C97vIFugQxPVU-3JQEFBgR8,747
|
|
14
16
|
svc_infra/api/fastapi/apf_payments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
17
|
svc_infra/api/fastapi/apf_payments/router.py,sha256=zZM5gioXOHK4AfTGSmmqrsMNgqZ0AFBPxnN_at-DhNo,34071
|
|
16
|
-
svc_infra/api/fastapi/apf_payments/setup.py,sha256=
|
|
18
|
+
svc_infra/api/fastapi/apf_payments/setup.py,sha256=bk_LLLXyqTA-lqf0v-mdpqLEMbXB17U1IQjG-qSBejQ,2677
|
|
17
19
|
svc_infra/api/fastapi/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
20
|
svc_infra/api/fastapi/auth/_cookies.py,sha256=U4heUmMnLezHx8U6ksuUEpSZ6sNMJcIO0gdLpmZ5FXw,1367
|
|
19
21
|
svc_infra/api/fastapi/auth/add.py,sha256=HSVP3Y01_gXPnRiJG0tEA9OS-cBd-zmqsiDbLMFGWu4,9528
|
|
@@ -228,7 +230,7 @@ svc_infra/obs/templates/sidecars/railway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
|
|
|
228
230
|
svc_infra/obs/templates/sidecars/railway/agent.yaml,sha256=hYv35yG92XEP_4joMFmMcVTD-4fG_zHitmChjreUJh4,516
|
|
229
231
|
svc_infra/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
230
232
|
svc_infra/utils.py,sha256=VX1yjTx61-YvAymyRhGy18DhybiVdPddiYD_FlKTbJU,952
|
|
231
|
-
svc_infra-0.1.
|
|
232
|
-
svc_infra-0.1.
|
|
233
|
-
svc_infra-0.1.
|
|
234
|
-
svc_infra-0.1.
|
|
233
|
+
svc_infra-0.1.593.dist-info/METADATA,sha256=ppEktfFTTLD_Sn6UR81aJgkVCewdHOUj4ZjpnLp1GS8,3527
|
|
234
|
+
svc_infra-0.1.593.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
235
|
+
svc_infra-0.1.593.dist-info/entry_points.txt,sha256=6x_nZOsjvn6hRZsMgZLgTasaCSKCgAjsGhACe_CiP0U,48
|
|
236
|
+
svc_infra-0.1.593.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|