Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions craftgate/adapter/payment_adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from craftgate.request.disapprove_payment_transactions_request import DisapprovePaymentTransactionsRequest
from craftgate.request.init_apm_deposit_payment_request import InitApmDepositPaymentRequest
from craftgate.request.init_apm_payment_request import InitApmPaymentRequest
from craftgate.request.init_bnpl_limit_inquiry import InitBnplLimitInquiryRequest
from craftgate.request.init_bnpl_payment_request import InitBnplPaymentRequest
from craftgate.request.init_checkout_card_verify_request import InitCheckoutCardVerifyRequest
from craftgate.request.init_checkout_payment_request import InitCheckoutPaymentRequest
Expand All @@ -38,6 +39,7 @@
from craftgate.response.apm_deposit_payment_response import ApmDepositPaymentResponse
from craftgate.response.apm_payment_complete_response import ApmPaymentCompleteResponse
from craftgate.response.apm_payment_init_response import ApmPaymentInitResponse
from craftgate.response.bnpl_limit_inquiry_response import BnplLimitInquiryResponse
from craftgate.response.bnpl_payment_offer_response import BnplPaymentOfferResponse
from craftgate.response.bnpl_payment_verify_response import BnplPaymentVerifyResponse
from craftgate.response.deposit_payment_response import DepositPaymentResponse
Expand Down Expand Up @@ -543,6 +545,28 @@ def verify_bnpl_payment(self, payment_id: int) -> BnplPaymentVerifyResponse:
response_type=BnplPaymentVerifyResponse
)

def init_bnpl_limit_inquiry(self, request: InitBnplLimitInquiryRequest) -> BnplLimitInquiryResponse:
path = "/payment/v1/bnpl-payments/limit-inquiry/init"
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=BnplLimitInquiryResponse
)

def complete_bnpl_limit_inquiry(self, request: InitBnplLimitInquiryRequest) -> BnplLimitInquiryResponse:
path = "/payment/v1/bnpl-payments/limit-inquiry/complete"
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=BnplLimitInquiryResponse
)

def retrieve_active_banks(self) -> InstantTransferBanksResponse:
path = "/payment/v1/instant-transfer-banks"
headers = self._create_headers(None, path)
Expand Down
1 change: 1 addition & 0 deletions craftgate/request/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
from .fraud_value_list_request import FraudValueListRequest
from .init_apm_deposit_payment_request import InitApmDepositPaymentRequest
from .init_apm_payment_request import InitApmPaymentRequest
from .init_bnpl_limit_inquiry import InitBnplLimitInquiryRequest
from .init_bkm_express_request import InitBkmExpressRequest
from .init_bnpl_payment_request import InitBnplPaymentRequest
from .init_checkout_card_verify_request import InitCheckoutCardVerifyRequest
Expand Down
19 changes: 19 additions & 0 deletions craftgate/request/init_bnpl_limit_inquiry.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from decimal import Decimal
from typing import Dict, List, Optional

from craftgate.model.apm_type import ApmType
from craftgate.model.currency import Currency
from craftgate.model.payment_group import PaymentGroup
from craftgate.request.dto.payment_item import PaymentItem


class InitBnplL(object):
def __init__(
self,
apm_type: Optional[ApmType] = None,
merchant_apm_id: Optional[int] = None,
additional_params: Optional[Dict[str, str]] = None
) -> None:
self.apm_type = apm_type
self.merchant_apm_id = merchant_apm_id
self.additional_params = additional_params
1 change: 1 addition & 0 deletions craftgate/response/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from .init_bkm_express_response import InitBkmExpressResponse
from .init_bnpl_payment_response import InitBnplPaymentResponse
from .init_checkout_card_verify_response import InitCheckoutCardVerifyResponse
from .bnpl_limit_inquiry_response import BnplLimitInquiryResponse
from .init_checkout_payment_response import InitCheckoutPaymentResponse
from .init_garanti_pay_payment_response import InitGarantiPayPaymentResponse
from .init_juzdan_payment_response import InitJuzdanPaymentResponse
Expand Down
21 changes: 21 additions & 0 deletions craftgate/response/bnpl_limit_inquiry_response.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from typing import Any, Dict, Optional

from craftgate.model.apm_additional_action import ApmAdditionalAction
from craftgate.model.payment_status import PaymentStatus
from craftgate.response.dto.payment_error import PaymentError


class BnplLimitInquiryResponse(object):
def __init__(
self,
payment_status: Optional[PaymentStatus] = None,
additional_action: Optional[ApmAdditionalAction] = None,
errorCode: Optional[str] = None,
errorMessage: Optional[str] = None,
additional_data: Optional[Dict[str, Any]] = None
) -> None:
self.payment_status = payment_status
self.additional_action = additional_action
self.additional_data = additional_data
self.errorCode = errorCode
self.errorMessage = errorMessage