From 1cad577b82cc4727a9b0648e9aa6b04077805758 Mon Sep 17 00:00:00 2001 From: Andres Hernandez Date: Wed, 7 Sep 2022 20:17:50 -0500 Subject: [PATCH 1/6] All needed for bill payments --- cuenca_validations/types/__init__.py | 6 ++++++ cuenca_validations/types/enums.py | 7 +++++++ cuenca_validations/types/queries.py | 4 ++++ cuenca_validations/types/requests.py | 9 +++++++++ cuenca_validations/version.py | 2 +- tests/test_types.py | 17 +++++++++++++++++ 6 files changed, 44 insertions(+), 1 deletion(-) diff --git a/cuenca_validations/types/__init__.py b/cuenca_validations/types/__init__.py index 07f57892..bdd00eee 100644 --- a/cuenca_validations/types/__init__.py +++ b/cuenca_validations/types/__init__.py @@ -8,6 +8,7 @@ 'BatchFileMetadata', 'Beneficiary', 'BillPaymentQuery', + 'BillPaymentRequest', 'CardErrorType', 'CardFundingType', 'CardholderVerificationMethod', @@ -58,6 +59,8 @@ 'SavingRequest', 'SavingUpdateRequest', 'ServiceProviderCategory', + 'ServiceProviderFieldType', + 'ServiceProviderQuery', 'SessionQuery', 'SessionRequest', 'SessionType', @@ -121,6 +124,7 @@ PosCapability, SavingCategory, ServiceProviderCategory, + ServiceProviderFieldType, SessionType, State, TrackDataMethod, @@ -163,6 +167,7 @@ IdentityQuery, PageSize, QueryParams, + ServiceProviderQuery, SessionQuery, StatementQuery, TransactionQuery, @@ -173,6 +178,7 @@ ) from .requests import ( ApiKeyUpdateRequest, + BillPaymentRequest, CurpValidationRequest, EndpointRequest, EndpointUpdateRequest, diff --git a/cuenca_validations/types/enums.py b/cuenca_validations/types/enums.py index 8ed50f12..ccafccc5 100644 --- a/cuenca_validations/types/enums.py +++ b/cuenca_validations/types/enums.py @@ -612,3 +612,10 @@ class PlatformType(str, Enum): bridge = 'bridge' connect = 'connect' spei = 'spei' + + +class ServiceProviderFieldType(str, Enum): + barcode = 'barcode' + account_number = 'account_number' + credit_card_number = 'credit_card_number' + phone_number = 'phone_number' diff --git a/cuenca_validations/types/queries.py b/cuenca_validations/types/queries.py index c01dc717..73b46df2 100644 --- a/cuenca_validations/types/queries.py +++ b/cuenca_validations/types/queries.py @@ -177,3 +177,7 @@ class SessionQuery(QueryParams): class FileQuery(QueryParams): type: Optional[KYCFileType] = None + + +class ServiceProviderQuery(QueryParams): + categories: Optional[str] = None diff --git a/cuenca_validations/types/requests.py b/cuenca_validations/types/requests.py index 0ad31cf6..aabb061c 100644 --- a/cuenca_validations/types/requests.py +++ b/cuenca_validations/types/requests.py @@ -35,6 +35,7 @@ PlatformType, PosCapability, SavingCategory, + ServiceProviderFieldType, SessionType, State, TrackDataMethod, @@ -647,3 +648,11 @@ class WebhookRequest(BaseModel): event: WebhookEventType object_type: WebhookObject data: DictStrAny + + +class BillPaymentRequest(BaseRequest): + amount: int + field_type: ServiceProviderFieldType + account_number: str + provider_id: str + accountholder_name: Optional[str] diff --git a/cuenca_validations/version.py b/cuenca_validations/version.py index f323a57b..a1058fb9 100644 --- a/cuenca_validations/version.py +++ b/cuenca_validations/version.py @@ -1 +1 @@ -__version__ = '0.11.0' +__version__ = '0.11.2.dev0' diff --git a/tests/test_types.py b/tests/test_types.py index 8c43bee2..ada55712 100644 --- a/tests/test_types.py +++ b/tests/test_types.py @@ -25,6 +25,7 @@ ) from cuenca_validations.types.requests import ( ApiKeyUpdateRequest, + BillPaymentRequest, ChargeRequest, CurpValidationRequest, EndpointRequest, @@ -514,3 +515,19 @@ def test_identity_update_request(): assert IdentityUpdateRequest( user_id=user_id, rfc_file=rfc_file, extension=extension ) + + +def test_bill_payment_request(): + amount = 100 + field_type = 'barcode' + account_number = '1234567890' + provider_id = 'PR01' + accountholder_name = 'Frida Khalo' + + assert BillPaymentRequest( + amount=amount, + field_type=field_type, + account_number=account_number, + provider_id=provider_id, + accountholder_name=accountholder_name, + ) From eb9e5c6ee9d0eb00c3e023fe9cfefdedeeb5b7c6 Mon Sep 17 00:00:00 2001 From: Andres Hernandez Date: Fri, 9 Sep 2022 15:56:38 -0500 Subject: [PATCH 2/6] sending user_id --- cuenca_validations/types/requests.py | 1 + cuenca_validations/version.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cuenca_validations/types/requests.py b/cuenca_validations/types/requests.py index aabb061c..122fd2a5 100644 --- a/cuenca_validations/types/requests.py +++ b/cuenca_validations/types/requests.py @@ -656,3 +656,4 @@ class BillPaymentRequest(BaseRequest): account_number: str provider_id: str accountholder_name: Optional[str] + user_id: Optional[str] diff --git a/cuenca_validations/version.py b/cuenca_validations/version.py index a1058fb9..c68a841f 100644 --- a/cuenca_validations/version.py +++ b/cuenca_validations/version.py @@ -1 +1 @@ -__version__ = '0.11.2.dev0' +__version__ = '0.11.2.dev1' From a16464b616d782caf52ece01d5dc1477bcb3e145 Mon Sep 17 00:00:00 2001 From: Andres Hernandez Date: Sun, 11 Sep 2022 21:40:29 -0500 Subject: [PATCH 3/6] Review done --- cuenca_validations/types/requests.py | 2 +- cuenca_validations/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cuenca_validations/types/requests.py b/cuenca_validations/types/requests.py index 122fd2a5..8fd0dacf 100644 --- a/cuenca_validations/types/requests.py +++ b/cuenca_validations/types/requests.py @@ -651,7 +651,7 @@ class WebhookRequest(BaseModel): class BillPaymentRequest(BaseRequest): - amount: int + amount: StrictPositiveInt field_type: ServiceProviderFieldType account_number: str provider_id: str diff --git a/cuenca_validations/version.py b/cuenca_validations/version.py index c68a841f..ae4865cf 100644 --- a/cuenca_validations/version.py +++ b/cuenca_validations/version.py @@ -1 +1 @@ -__version__ = '0.11.2.dev1' +__version__ = '0.11.1' From dc38d30c57aae7550803f747e8d270d34061ecd1 Mon Sep 17 00:00:00 2001 From: Andres Hernandez Date: Mon, 12 Sep 2022 11:55:11 -0500 Subject: [PATCH 4/6] ServiceProviderField --- cuenca_validations/types/__init__.py | 3 ++- cuenca_validations/types/files.py | 10 +++++++++- cuenca_validations/version.py | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cuenca_validations/types/__init__.py b/cuenca_validations/types/__init__.py index bdd00eee..f1974e65 100644 --- a/cuenca_validations/types/__init__.py +++ b/cuenca_validations/types/__init__.py @@ -59,6 +59,7 @@ 'SavingRequest', 'SavingUpdateRequest', 'ServiceProviderCategory', + 'ServiceProviderField', 'ServiceProviderFieldType', 'ServiceProviderQuery', 'SessionQuery', @@ -137,7 +138,7 @@ WalletTransactionType, WebhookEvent, ) -from .files import BatchFileMetadata +from .files import BatchFileMetadata, ServiceProviderField from .general import ( JSONEncoder, SantizedDict, diff --git a/cuenca_validations/types/files.py b/cuenca_validations/types/files.py index fb2f3524..2162c380 100644 --- a/cuenca_validations/types/files.py +++ b/cuenca_validations/types/files.py @@ -1,4 +1,4 @@ -from typing import Optional +from typing import List, Optional from pydantic import BaseModel, HttpUrl @@ -10,3 +10,11 @@ class BatchFileMetadata(BaseModel): is_back: bool type: KYCFileType url: HttpUrl + + +class ServiceProviderField(BaseModel): + is_active: bool + requires_accountholder_name: bool + mask: str + topup_amounts: List[int] + type: ServiceProviderFieldType \ No newline at end of file diff --git a/cuenca_validations/version.py b/cuenca_validations/version.py index ae4865cf..5d214dae 100644 --- a/cuenca_validations/version.py +++ b/cuenca_validations/version.py @@ -1 +1 @@ -__version__ = '0.11.1' +__version__ = '0.11.2.dev2' From 912e7a9b102062037929346950a1397e76b84efe Mon Sep 17 00:00:00 2001 From: Andres Hernandez Date: Mon, 12 Sep 2022 11:56:47 -0500 Subject: [PATCH 5/6] Fixes and lint --- cuenca_validations/types/files.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cuenca_validations/types/files.py b/cuenca_validations/types/files.py index 2162c380..05d9a81c 100644 --- a/cuenca_validations/types/files.py +++ b/cuenca_validations/types/files.py @@ -2,7 +2,7 @@ from pydantic import BaseModel, HttpUrl -from .enums import KYCFileType +from .enums import KYCFileType, ServiceProviderFieldType class BatchFileMetadata(BaseModel): @@ -17,4 +17,4 @@ class ServiceProviderField(BaseModel): requires_accountholder_name: bool mask: str topup_amounts: List[int] - type: ServiceProviderFieldType \ No newline at end of file + type: ServiceProviderFieldType From 3c8ca60ac673c5d222265b6ad4cdd9e89e19bba4 Mon Sep 17 00:00:00 2001 From: Andres Hernandez Date: Mon, 12 Sep 2022 12:49:44 -0500 Subject: [PATCH 6/6] Version --- cuenca_validations/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cuenca_validations/version.py b/cuenca_validations/version.py index 5d214dae..ae4865cf 100644 --- a/cuenca_validations/version.py +++ b/cuenca_validations/version.py @@ -1 +1 @@ -__version__ = '0.11.2.dev2' +__version__ = '0.11.1'