From b71da8fcb70623255f3198fb58e865715cad10dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Bald=C4=B1rl=C4=B1o=C4=9Flu?= Date: Tue, 20 Oct 2026 15:01:29 +0200 Subject: [PATCH] CG-5269 Remove cross-border settlement and payout account API --- craftgate/adapter/settlement_adapter.py | 52 ------------------ craftgate/model/__init__.py | 2 - craftgate/model/account_owner.py | 6 --- craftgate/model/payout_account_type.py | 5 -- .../model/settlement_earnings_destination.py | 1 - craftgate/request/__init__.py | 4 -- .../request/create_payout_account_request.py | 22 -------- .../request/delete_payout_account_request.py | 11 ---- .../request/search_payout_account_request.py | 21 -------- .../request/update_payout_account_request.py | 14 ----- craftgate/response/__init__.py | 2 - .../response/payout_account_list_response.py | 6 --- craftgate/response/payout_account_response.py | 23 -------- tests/test_settlement_sample.py | 53 +------------------ 14 files changed, 1 insertion(+), 221 deletions(-) delete mode 100644 craftgate/model/account_owner.py delete mode 100644 craftgate/model/payout_account_type.py delete mode 100644 craftgate/request/create_payout_account_request.py delete mode 100644 craftgate/request/delete_payout_account_request.py delete mode 100644 craftgate/request/search_payout_account_request.py delete mode 100644 craftgate/request/update_payout_account_request.py delete mode 100644 craftgate/response/payout_account_list_response.py delete mode 100644 craftgate/response/payout_account_response.py diff --git a/craftgate/adapter/settlement_adapter.py b/craftgate/adapter/settlement_adapter.py index 79082bc..f1dcd4c 100644 --- a/craftgate/adapter/settlement_adapter.py +++ b/craftgate/adapter/settlement_adapter.py @@ -1,15 +1,8 @@ from craftgate.adapter.base_adapter import BaseAdapter from craftgate.net.base_http_client import BaseHttpClient from craftgate.request.create_instant_wallet_settlement_request import CreateInstantWalletSettlementRequest -from craftgate.request.create_payout_account_request import CreatePayoutAccountRequest -from craftgate.request.delete_payout_account_request import DeletePayoutAccountRequest -from craftgate.request.search_payout_account_request import SearchPayoutAccountRequest -from craftgate.request.update_payout_account_request import UpdatePayoutAccountRequest from craftgate.request_options import RequestOptions -from craftgate.response.payout_account_list_response import PayoutAccountListResponse -from craftgate.response.payout_account_response import PayoutAccountResponse from craftgate.response.settlement_response import SettlementResponse -from craftgate.utils.request_query_params_builder import RequestQueryParamsBuilder class SettlementAdapter(BaseAdapter): @@ -27,48 +20,3 @@ def create_instant_wallet_settlement(self, request: CreateInstantWalletSettlemen body=request, response_type=SettlementResponse ) - - def create_payout_account(self, request: CreatePayoutAccountRequest) -> PayoutAccountResponse: - path = "/settlement/v1/payout-accounts" - headers = self._create_headers(request, path) - return self._http_client.request( - method="POST", - url=self.request_options.base_url + path, - headers=headers, - body=request, - response_type=PayoutAccountResponse - ) - - def update_payout_account(self, id: int, request: UpdatePayoutAccountRequest) -> None: - path = "/settlement/v1/payout-accounts/{}".format(id) - headers = self._create_headers(request, path) - self._http_client.request( - method="PUT", - url=self.request_options.base_url + path, - headers=headers, - body=request, - response_type=None - ) - - def delete_payout_account(self, request: DeletePayoutAccountRequest) -> None: - path = "/settlement/v1/payout-accounts/{}".format(request.id) - headers = self._create_headers_without_body(request, path) - self._http_client.request( - method="DELETE", - url=self.request_options.base_url + path, - headers=headers, - body=None, - response_type=None - ) - - def search_payout_account(self, request: SearchPayoutAccountRequest) -> PayoutAccountListResponse: - query = RequestQueryParamsBuilder.build_query_params(request) - path = "/settlement/v1/payout-accounts" + query - headers = self._create_headers_without_body(request, path) - return self._http_client.request( - method="GET", - url=self.request_options.base_url + path, - headers=headers, - body=None, - response_type=PayoutAccountListResponse - ) diff --git a/craftgate/model/__init__.py b/craftgate/model/__init__.py index 52e57a2..606225f 100644 --- a/craftgate/model/__init__.py +++ b/craftgate/model/__init__.py @@ -1,4 +1,3 @@ -from .account_owner import AccountOwner from .additional_action import AdditionalAction from .apm_additional_action import ApmAdditionalAction from .apm_type import ApmType @@ -40,7 +39,6 @@ from .payment_source import PaymentSource from .payment_status import PaymentStatus from .payment_type import PaymentType -from .payout_account_type import PayoutAccountType from .pos_apm_payment_provider import PosApmPaymentProvider from .pos_integrator import PosIntegrator from .pos_operation_type import PosOperationType diff --git a/craftgate/model/account_owner.py b/craftgate/model/account_owner.py deleted file mode 100644 index 3488956..0000000 --- a/craftgate/model/account_owner.py +++ /dev/null @@ -1,6 +0,0 @@ -from enum import Enum - - -class AccountOwner(str, Enum): - MERCHANT = "MERCHANT" - SUB_MERCHANT_MEMBER = "SUB_MERCHANT_MEMBER" diff --git a/craftgate/model/payout_account_type.py b/craftgate/model/payout_account_type.py deleted file mode 100644 index 18a8bf9..0000000 --- a/craftgate/model/payout_account_type.py +++ /dev/null @@ -1,5 +0,0 @@ -from enum import Enum - - -class PayoutAccountType(str, Enum): - WISE = "WISE" diff --git a/craftgate/model/settlement_earnings_destination.py b/craftgate/model/settlement_earnings_destination.py index 93fd0e9..cd30bf2 100644 --- a/craftgate/model/settlement_earnings_destination.py +++ b/craftgate/model/settlement_earnings_destination.py @@ -4,5 +4,4 @@ class SettlementEarningsDestination(str, Enum): IBAN = "IBAN" WALLET = "WALLET" - CROSS_BORDER = "CROSS_BORDER" NONE = "NONE" diff --git a/craftgate/request/__init__.py b/craftgate/request/__init__.py index 21671c5..6725b9b 100644 --- a/craftgate/request/__init__.py +++ b/craftgate/request/__init__.py @@ -20,7 +20,6 @@ from .create_merchant_request import CreateMerchantRequest from .create_payment_request import CreatePaymentRequest from .create_payment_token_request import CreatePaymentTokenRequest -from .create_payout_account_request import CreatePayoutAccountRequest from .create_product_request import CreateProductRequest from .create_remittance_request import CreateRemittanceRequest from .create_report_request import CreateReportRequest @@ -28,7 +27,6 @@ from .create_withdraw_request import CreateWithdrawRequest from .delete_merchant_pos_request import DeleteMerchantPosRequest from .delete_payment_token_request import DeletePaymentTokenRequest -from .delete_payout_account_request import DeletePayoutAccountRequest from .delete_product_request import DeleteProductRequest from .delete_stored_card_request import DeleteStoredCardRequest from .delete_value_list_request import DeleteValueListRequest @@ -78,7 +76,6 @@ from .search_payment_refunds_request import SearchPaymentRefundsRequest from .search_payment_transaction_refunds_request import SearchPaymentTransactionRefundsRequest from .search_payments_request import SearchPaymentsRequest -from .search_payout_account_request import SearchPayoutAccountRequest from .search_payout_bounced_transactions_request import SearchPayoutBouncedTransactionsRequest from .search_payout_completed_transactions_request import SearchPayoutCompletedTransactionsRequest from .search_payout_rows_request import SearchPayoutRowsRequest @@ -94,7 +91,6 @@ from .update_merchant_pos_request import UpdateMerchantPosRequest from .update_merchant_pos_status_request import UpdateMerchantPosStatusRequest from .update_payment_transaction_request import UpdatePaymentTransactionRequest -from .update_payout_account_request import UpdatePayoutAccountRequest from .update_product_request import UpdateProductRequest from .update_wallet_request import UpdateWalletRequest from .verify_bnpl_payment_request import VerifyBnplPaymentRequest diff --git a/craftgate/request/create_payout_account_request.py b/craftgate/request/create_payout_account_request.py deleted file mode 100644 index 9324308..0000000 --- a/craftgate/request/create_payout_account_request.py +++ /dev/null @@ -1,22 +0,0 @@ -from typing import Optional - -from craftgate.model.payout_account_type import PayoutAccountType -from craftgate.model.currency import Currency -from craftgate.model.account_owner import AccountOwner -from craftgate.request.common.base_request import BaseRequest - - -class CreatePayoutAccountRequest(BaseRequest): - def __init__( - self, - type: Optional[PayoutAccountType] = None, - external_account_id: Optional[str] = None, - currency: Optional[Currency] = None, - account_owner: Optional[AccountOwner] = None, - sub_merchant_member_id: Optional[int] = None - ) -> None: - self.type = type - self.external_account_id = external_account_id - self.currency = currency - self.account_owner = account_owner - self.sub_merchant_member_id = sub_merchant_member_id diff --git a/craftgate/request/delete_payout_account_request.py b/craftgate/request/delete_payout_account_request.py deleted file mode 100644 index 883b4ff..0000000 --- a/craftgate/request/delete_payout_account_request.py +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Optional - -from craftgate.request.common.base_request import BaseRequest - - -class DeletePayoutAccountRequest(BaseRequest): - def __init__( - self, - id: Optional[int] = None - ) -> None: - self.id = id diff --git a/craftgate/request/search_payout_account_request.py b/craftgate/request/search_payout_account_request.py deleted file mode 100644 index 8c44db8..0000000 --- a/craftgate/request/search_payout_account_request.py +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Optional - -from craftgate.model.account_owner import AccountOwner -from craftgate.model.currency import Currency -from craftgate.request.common.base_request import BaseRequest - - -class SearchPayoutAccountRequest(BaseRequest): - def __init__( - self, - currency: Optional[Currency] = None, - account_owner: Optional[AccountOwner] = None, - sub_merchant_member_id: Optional[int] = None, - page: int = 0, - size: int = 10 - ) -> None: - self.currency = currency - self.account_owner = account_owner - self.sub_merchant_member_id = sub_merchant_member_id - self.page = page - self.size = size diff --git a/craftgate/request/update_payout_account_request.py b/craftgate/request/update_payout_account_request.py deleted file mode 100644 index 2457e57..0000000 --- a/craftgate/request/update_payout_account_request.py +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Optional - -from craftgate.model.payout_account_type import PayoutAccountType -from craftgate.request.common.base_request import BaseRequest - - -class UpdatePayoutAccountRequest(BaseRequest): - def __init__( - self, - type: Optional[PayoutAccountType] = None, - external_account_id: Optional[str] = None - ) -> None: - self.type = type - self.external_account_id = external_account_id diff --git a/craftgate/response/__init__.py b/craftgate/response/__init__.py index 6b2313e..fbca881 100644 --- a/craftgate/response/__init__.py +++ b/craftgate/response/__init__.py @@ -51,8 +51,6 @@ from .payment_transaction_refund_list_response import PaymentTransactionRefundListResponse from .payment_transaction_refund_response import PaymentTransactionRefundResponse from .payment_transaction_response import PaymentTransactionResponse -from .payout_account_list_response import PayoutAccountListResponse -from .payout_account_response import PayoutAccountResponse from .payout_bounced_transaction_list_response import PayoutBouncedTransactionListResponse from .payout_completed_transaction_list_response import PayoutCompletedTransactionListResponse from .payout_detail_response import PayoutDetailResponse diff --git a/craftgate/response/payout_account_list_response.py b/craftgate/response/payout_account_list_response.py deleted file mode 100644 index 084b90b..0000000 --- a/craftgate/response/payout_account_list_response.py +++ /dev/null @@ -1,6 +0,0 @@ -from craftgate.response.common.list_response import ListResponse -from craftgate.response.payout_account_response import PayoutAccountResponse - - -class PayoutAccountListResponse(ListResponse[PayoutAccountResponse]): - item_type = PayoutAccountResponse diff --git a/craftgate/response/payout_account_response.py b/craftgate/response/payout_account_response.py deleted file mode 100644 index f10dae8..0000000 --- a/craftgate/response/payout_account_response.py +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Optional - -from craftgate.model.account_owner import AccountOwner -from craftgate.model.currency import Currency -from craftgate.model.payout_account_type import PayoutAccountType - - -class PayoutAccountResponse(object): - def __init__( - self, - id: Optional[int] = None, - type: Optional[PayoutAccountType] = None, - external_account_id: Optional[str] = None, - currency: Optional[Currency] = None, - account_owner: Optional[AccountOwner] = None, - sub_merchant_member_id: Optional[int] = None - ) -> None: - self.id = id - self.type = type - self.external_account_id = external_account_id - self.currency = currency - self.account_owner = account_owner - self.sub_merchant_member_id = sub_merchant_member_id diff --git a/tests/test_settlement_sample.py b/tests/test_settlement_sample.py index 356dab3..e6a3516 100644 --- a/tests/test_settlement_sample.py +++ b/tests/test_settlement_sample.py @@ -3,9 +3,7 @@ import unittest from craftgate import Craftgate, RequestOptions -from craftgate.model import AccountOwner, Currency, PayoutAccountType -from craftgate.request import CreateInstantWalletSettlementRequest, CreatePayoutAccountRequest, \ - DeletePayoutAccountRequest, SearchPayoutAccountRequest, UpdatePayoutAccountRequest +from craftgate.request import CreateInstantWalletSettlementRequest class SettlementSample(unittest.TestCase): @@ -29,55 +27,6 @@ def test_create_instant_wallet_settlement(self): print(response) self.assertIsNotNone(response.settlement_result_status) - def test_create_merchant_payout_account(self): - request = CreatePayoutAccountRequest( - account_owner=AccountOwner.MERCHANT, - currency=Currency.USD, - type=PayoutAccountType.WISE, - external_account_id="wiseRecipientId" - ) - response = self.settlement.create_payout_account(request) - - print(response) - self.assertIsNotNone(response.id) - - def test_create_sub_merchant_payout_account(self): - request = CreatePayoutAccountRequest( - account_owner=AccountOwner.SUB_MERCHANT_MEMBER, - sub_merchant_member_id=1, - currency=Currency.USD, - type=PayoutAccountType.WISE, - external_account_id="wiseRecipientId" - ) - response = self.settlement.create_payout_account(request) - - print(response) - self.assertIsNotNone(response.id) - - def test_update_payout_account(self): - request = UpdatePayoutAccountRequest( - type=PayoutAccountType.WISE, - external_account_id="wiseRecipientId2" - ) - self.settlement.update_payout_account(11, request) - self.assertTrue(True) - - def test_search_payout_account(self): - request = SearchPayoutAccountRequest( - account_owner=AccountOwner.MERCHANT, - currency=Currency.USD, - page=0, - size=10 - ) - response = self.settlement.search_payout_account(request) - - print(response) - self.assertIsNotNone(response.items) - - def test_delete_payout_account(self): - self.settlement.delete_payout_account(DeletePayoutAccountRequest(id=10)) - self.assertTrue(True) - if __name__ == "__main__": unittest.main()