Skip to content

Commit 0740593

Browse files
Added BNPL Limit Inquiry (#24)
* Added BNPL Limit Inquiry
1 parent c540a34 commit 0740593

5 files changed

Lines changed: 66 additions & 0 deletions

File tree

craftgate/adapter/payment_adapter.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from craftgate.request.disapprove_payment_transactions_request import DisapprovePaymentTransactionsRequest
1616
from craftgate.request.init_apm_deposit_payment_request import InitApmDepositPaymentRequest
1717
from craftgate.request.init_apm_payment_request import InitApmPaymentRequest
18+
from craftgate.request.bnpl_limit_inquiry_request import BnplLimitInquiryRequest
1819
from craftgate.request.init_bnpl_payment_request import InitBnplPaymentRequest
1920
from craftgate.request.init_checkout_card_verify_request import InitCheckoutCardVerifyRequest
2021
from craftgate.request.init_checkout_payment_request import InitCheckoutPaymentRequest
@@ -38,6 +39,7 @@
3839
from craftgate.response.apm_deposit_payment_response import ApmDepositPaymentResponse
3940
from craftgate.response.apm_payment_complete_response import ApmPaymentCompleteResponse
4041
from craftgate.response.apm_payment_init_response import ApmPaymentInitResponse
42+
from craftgate.response.bnpl_limit_inquiry_response import BnplLimitInquiryResponse
4143
from craftgate.response.bnpl_payment_offer_response import BnplPaymentOfferResponse
4244
from craftgate.response.bnpl_payment_verify_response import BnplPaymentVerifyResponse
4345
from craftgate.response.deposit_payment_response import DepositPaymentResponse
@@ -543,6 +545,28 @@ def verify_bnpl_payment(self, payment_id: int) -> BnplPaymentVerifyResponse:
543545
response_type=BnplPaymentVerifyResponse
544546
)
545547

548+
def bnpl_limit_inquiry_init(self, request: BnplLimitInquiryRequest) -> BnplLimitInquiryResponse:
549+
path = "/payment/v1/bnpl-payments/limit-inquiry/init"
550+
headers = self._create_headers(request, path)
551+
return self._http_client.request(
552+
method="POST",
553+
url=self.request_options.base_url + path,
554+
headers=headers,
555+
body=request,
556+
response_type=BnplLimitInquiryResponse
557+
)
558+
559+
def bnpl_limit_inquiry(self, request: BnplLimitInquiryRequest) -> BnplLimitInquiryResponse:
560+
path = "/payment/v1/bnpl-payments/limit-inquiry"
561+
headers = self._create_headers(request, path)
562+
return self._http_client.request(
563+
method="POST",
564+
url=self.request_options.base_url + path,
565+
headers=headers,
566+
body=request,
567+
response_type=BnplLimitInquiryResponse
568+
)
569+
546570
def retrieve_active_banks(self) -> InstantTransferBanksResponse:
547571
path = "/payment/v1/instant-transfer-banks"
548572
headers = self._create_headers(None, path)

craftgate/request/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from .fraud_value_list_request import FraudValueListRequest
2929
from .init_apm_deposit_payment_request import InitApmDepositPaymentRequest
3030
from .init_apm_payment_request import InitApmPaymentRequest
31+
from .bnpl_limit_inquiry_request import BnplLimitInquiryRequest
3132
from .init_bkm_express_request import InitBkmExpressRequest
3233
from .init_bnpl_payment_request import InitBnplPaymentRequest
3334
from .init_checkout_card_verify_request import InitCheckoutCardVerifyRequest
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
from decimal import Decimal
2+
from typing import Dict, List, Optional
3+
4+
from craftgate.model.apm_type import ApmType
5+
from craftgate.model.currency import Currency
6+
from craftgate.model.payment_group import PaymentGroup
7+
from craftgate.request.dto.payment_item import PaymentItem
8+
9+
10+
class BnplLimitInquiryRequest(object):
11+
def __init__(
12+
self,
13+
apm_type: Optional[ApmType] = None,
14+
merchant_apm_id: Optional[int] = None,
15+
additional_params: Optional[Dict[str, str]] = None
16+
) -> None:
17+
self.apm_type = apm_type
18+
self.merchant_apm_id = merchant_apm_id
19+
self.additional_params = additional_params

craftgate/response/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from .init_bkm_express_response import InitBkmExpressResponse
1919
from .init_bnpl_payment_response import InitBnplPaymentResponse
2020
from .init_checkout_card_verify_response import InitCheckoutCardVerifyResponse
21+
from .bnpl_limit_inquiry_response import BnplLimitInquiryResponse
2122
from .init_checkout_payment_response import InitCheckoutPaymentResponse
2223
from .init_garanti_pay_payment_response import InitGarantiPayPaymentResponse
2324
from .init_juzdan_payment_response import InitJuzdanPaymentResponse
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from typing import Any, Dict, Optional
2+
3+
from craftgate.model.apm_additional_action import ApmAdditionalAction
4+
from craftgate.model.payment_status import PaymentStatus
5+
from craftgate.response.dto.payment_error import PaymentError
6+
7+
8+
class BnplLimitInquiryResponse(object):
9+
def __init__(
10+
self,
11+
payment_status: Optional[PaymentStatus] = None,
12+
additional_action: Optional[ApmAdditionalAction] = None,
13+
errorCode: Optional[str] = None,
14+
errorMessage: Optional[str] = None,
15+
additional_data: Optional[Dict[str, Any]] = None
16+
) -> None:
17+
self.payment_status = payment_status
18+
self.additional_action = additional_action
19+
self.additional_data = additional_data
20+
self.errorCode = errorCode
21+
self.errorMessage = errorMessage

0 commit comments

Comments
 (0)