pinelabs-python 0.1.0__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.
- pinelabs/__init__.py +1679 -0
- pinelabs/_default_clients.py +30 -0
- pinelabs/affordability_suite/__init__.py +325 -0
- pinelabs/affordability_suite/client.py +1007 -0
- pinelabs/affordability_suite/raw_client.py +1095 -0
- pinelabs/affordability_suite/types/__init__.py +477 -0
- pinelabs/affordability_suite/types/downpayment_details_request_issuer.py +26 -0
- pinelabs/affordability_suite/types/imei_validation_request_request_type.py +5 -0
- pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option.py +29 -0
- pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option_cardless_details.py +31 -0
- pinelabs/affordability_suite/types/offer_discovery_request_cart_coupon_discount_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_discovery_request_customer_details.py +26 -0
- pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details.py +31 -0
- pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details_downpayment_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_discovery_request_issuer.py +42 -0
- pinelabs/affordability_suite/types/offer_discovery_request_issuer_issuer_type.py +10 -0
- pinelabs/affordability_suite/types/offer_discovery_request_order_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_discovery_request_payment_options.py +37 -0
- pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_details.py +26 -0
- pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_token_details.py +31 -0
- pinelabs/affordability_suite/types/offer_discovery_request_product_details_item.py +40 -0
- pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_coupon_discount_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_validation_request_customer_details.py +26 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data.py +27 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details.py +52 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure.py +146 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_auth_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_cart_coupon_discount_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown.py +60 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item.py +119 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.py +22 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount.py +48 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup.py +36 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_max_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_min_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_downpayment_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_interest_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.py +32 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention.py +40 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup.py +36 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.py +24 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_max_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_min_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount.py +40 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup.py +34 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand.py +22 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer.py +22 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer.py +22 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant.py +22 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_max_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_min_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details.py +28 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_interest_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_loan_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_monthly_emi_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_net_payment_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details.py +22 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_split_emi_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_coupon_discount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_discount_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_emi_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_subvention_amount.py +20 -0
- pinelabs/affordability_suite/types/offer_validation_request_order_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_validation_request_payment_amount.py +31 -0
- pinelabs/affordability_suite/types/offer_validation_request_payment_option.py +43 -0
- pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_details.py +31 -0
- pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_token_details.py +46 -0
- pinelabs/affordability_suite/types/offer_validation_request_payment_option_cardless_details.py +31 -0
- pinelabs/apple_pay/__init__.py +49 -0
- pinelabs/apple_pay/client.py +190 -0
- pinelabs/apple_pay/raw_client.py +283 -0
- pinelabs/apple_pay/types/__init__.py +53 -0
- pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details.py +62 -0
- pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data.py +37 -0
- pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_card_type.py +7 -0
- pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_network_name.py +7 -0
- pinelabs/authentication/__init__.py +4 -0
- pinelabs/authentication/client.py +155 -0
- pinelabs/authentication/raw_client.py +226 -0
- pinelabs/bnpl/__init__.py +46 -0
- pinelabs/bnpl/client.py +200 -0
- pinelabs/bnpl/raw_client.py +273 -0
- pinelabs/bnpl/types/__init__.py +46 -0
- pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info.py +56 -0
- pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info_operating_system.py +7 -0
- pinelabs/bnpl/types/bnpl_check_eligibility_request_pay_code.py +5 -0
- pinelabs/card_payments/__init__.py +4 -0
- pinelabs/card_payments/client.py +547 -0
- pinelabs/card_payments/raw_client.py +1085 -0
- pinelabs/checkout/__init__.py +37 -0
- pinelabs/checkout/client.py +225 -0
- pinelabs/checkout/raw_client.py +318 -0
- pinelabs/checkout/types/__init__.py +40 -0
- pinelabs/checkout/types/generate_checkout_link_request_allowed_payment_methods_item.py +7 -0
- pinelabs/checkout/types/generate_checkout_link_request_integration_mode.py +5 -0
- pinelabs/client.py +612 -0
- pinelabs/convenience_fee/__init__.py +4 -0
- pinelabs/convenience_fee/client.py +156 -0
- pinelabs/convenience_fee/raw_client.py +247 -0
- pinelabs/core/__init__.py +127 -0
- pinelabs/core/api_error.py +23 -0
- pinelabs/core/client_wrapper.py +132 -0
- pinelabs/core/datetime_utils.py +70 -0
- pinelabs/core/file.py +67 -0
- pinelabs/core/force_multipart.py +18 -0
- pinelabs/core/http_client.py +840 -0
- pinelabs/core/http_response.py +59 -0
- pinelabs/core/http_sse/__init__.py +42 -0
- pinelabs/core/http_sse/_api.py +112 -0
- pinelabs/core/http_sse/_decoders.py +61 -0
- pinelabs/core/http_sse/_exceptions.py +7 -0
- pinelabs/core/http_sse/_models.py +17 -0
- pinelabs/core/jsonable_encoder.py +120 -0
- pinelabs/core/logging.py +107 -0
- pinelabs/core/parse_error.py +36 -0
- pinelabs/core/pydantic_utilities.py +634 -0
- pinelabs/core/query_encoder.py +58 -0
- pinelabs/core/remove_none_from_dict.py +11 -0
- pinelabs/core/request_options.py +35 -0
- pinelabs/core/serialization.py +276 -0
- pinelabs/customers/__init__.py +34 -0
- pinelabs/customers/client.py +590 -0
- pinelabs/customers/raw_client.py +1061 -0
- pinelabs/customers/types/__init__.py +34 -0
- pinelabs/customers/types/update_customer_request_status.py +5 -0
- pinelabs/e_challans/__init__.py +55 -0
- pinelabs/e_challans/client.py +323 -0
- pinelabs/e_challans/raw_client.py +386 -0
- pinelabs/e_challans/types/__init__.py +63 -0
- pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown.py +67 -0
- pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_additional_fee_amount.py +32 -0
- pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_applicable_fee_amount.py +32 -0
- pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_fee_amount.py +32 -0
- pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_maximum_fee_amount.py +32 -0
- pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_tax_amount.py +32 -0
- pinelabs/environment.py +7 -0
- pinelabs/errors/__init__.py +62 -0
- pinelabs/errors/bad_request_error.py +10 -0
- pinelabs/errors/conflict_error.py +11 -0
- pinelabs/errors/forbidden_error.py +11 -0
- pinelabs/errors/internal_server_error.py +11 -0
- pinelabs/errors/method_not_allowed_error.py +11 -0
- pinelabs/errors/not_found_error.py +11 -0
- pinelabs/errors/service_unavailable_error.py +11 -0
- pinelabs/errors/unauthorized_error.py +11 -0
- pinelabs/errors/unprocessable_entity_error.py +10 -0
- pinelabs/international_payments/__init__.py +4 -0
- pinelabs/international_payments/client.py +187 -0
- pinelabs/international_payments/raw_client.py +201 -0
- pinelabs/orders/__init__.py +37 -0
- pinelabs/orders/client.py +613 -0
- pinelabs/orders/raw_client.py +1132 -0
- pinelabs/orders/types/__init__.py +38 -0
- pinelabs/orders/types/create_order_request_allowed_payment_methods_item.py +8 -0
- pinelabs/orders/types/create_order_request_purchase_details.py +28 -0
- pinelabs/pay_by_points/__init__.py +49 -0
- pinelabs/pay_by_points/client.py +177 -0
- pinelabs/pay_by_points/raw_client.py +246 -0
- pinelabs/pay_by_points/types/__init__.py +49 -0
- pinelabs/pay_by_points/types/check_point_balance_request_order_details.py +27 -0
- pinelabs/pay_by_points/types/check_point_balance_request_order_details_order_amount.py +31 -0
- pinelabs/pay_by_points/types/check_point_balance_request_payment_option.py +26 -0
- pinelabs/pay_by_points/types/check_point_balance_request_payment_option_points_card_details.py +32 -0
- pinelabs/payment_links/__init__.py +34 -0
- pinelabs/payment_links/client.py +642 -0
- pinelabs/payment_links/raw_client.py +797 -0
- pinelabs/payment_links/types/__init__.py +38 -0
- pinelabs/payment_links/types/create_payment_link_request_allowed_payment_methods_item.py +7 -0
- pinelabs/payouts/__init__.py +38 -0
- pinelabs/payouts/client.py +810 -0
- pinelabs/payouts/raw_client.py +1427 -0
- pinelabs/payouts/types/__init__.py +40 -0
- pinelabs/payouts/types/create_payout_request_mode.py +5 -0
- pinelabs/payouts/types/list_payouts_request_mode.py +5 -0
- pinelabs/payouts/types/list_payouts_request_status.py +7 -0
- pinelabs/refunds/__init__.py +52 -0
- pinelabs/refunds/client.py +211 -0
- pinelabs/refunds/raw_client.py +324 -0
- pinelabs/refunds/types/__init__.py +52 -0
- pinelabs/refunds/types/create_refund_request_order_amount.py +31 -0
- pinelabs/refunds/types/create_refund_request_products_item.py +27 -0
- pinelabs/refunds/types/create_refund_request_split_info.py +29 -0
- pinelabs/refunds/types/create_refund_request_split_info_split_details_item.py +32 -0
- pinelabs/refunds/types/create_refund_request_split_info_split_details_item_amount.py +20 -0
- pinelabs/settlements/__init__.py +4 -0
- pinelabs/settlements/client.py +283 -0
- pinelabs/settlements/raw_client.py +421 -0
- pinelabs/split_settlements/__init__.py +34 -0
- pinelabs/split_settlements/client.py +254 -0
- pinelabs/split_settlements/raw_client.py +414 -0
- pinelabs/split_settlements/types/__init__.py +36 -0
- pinelabs/split_settlements/types/release_settlement_request_release_amount.py +31 -0
- pinelabs/subscriptions_plans/__init__.py +37 -0
- pinelabs/subscriptions_plans/client.py +872 -0
- pinelabs/subscriptions_plans/raw_client.py +1111 -0
- pinelabs/subscriptions_plans/types/__init__.py +38 -0
- pinelabs/subscriptions_plans/types/create_plan_request_frequency.py +10 -0
- pinelabs/subscriptions_plans/types/list_plans_request_amount_range.py +5 -0
- pinelabs/subscriptions_presentations/__init__.py +4 -0
- pinelabs/subscriptions_presentations/client.py +886 -0
- pinelabs/subscriptions_presentations/raw_client.py +1168 -0
- pinelabs/subscriptions_subscriptions/__init__.py +46 -0
- pinelabs/subscriptions_subscriptions/client.py +1014 -0
- pinelabs/subscriptions_subscriptions/raw_client.py +1281 -0
- pinelabs/subscriptions_subscriptions/types/__init__.py +46 -0
- pinelabs/subscriptions_subscriptions/types/create_subscription_request_allowed_payment_methods_item.py +7 -0
- pinelabs/subscriptions_subscriptions/types/create_subscription_request_integration_mode.py +5 -0
- pinelabs/subscriptions_subscriptions/types/list_subscriptions_request_amount_range.py +5 -0
- pinelabs/tokenization/__init__.py +37 -0
- pinelabs/tokenization/client.py +809 -0
- pinelabs/tokenization/raw_client.py +1643 -0
- pinelabs/tokenization/types/__init__.py +38 -0
- pinelabs/tokenization/types/generate_card_token_request_payment_method.py +5 -0
- pinelabs/tokenization/types/get_service_provider_token_response.py +8 -0
- pinelabs/types/__init__.py +1320 -0
- pinelabs/types/acquirer_data.py +41 -0
- pinelabs/types/address.py +72 -0
- pinelabs/types/address_address_category.py +5 -0
- pinelabs/types/amount.py +31 -0
- pinelabs/types/authorize_payment_response.py +24 -0
- pinelabs/types/authorize_payment_response_data.py +45 -0
- pinelabs/types/authorize_payment_response_data_integration_mode.py +5 -0
- pinelabs/types/authorize_payment_response_data_order_amount.py +20 -0
- pinelabs/types/authorize_payment_response_data_payments_item.py +41 -0
- pinelabs/types/authorize_payment_response_data_payments_item_acquirer_data.py +23 -0
- pinelabs/types/authorize_payment_response_data_payments_item_payment_amount.py +20 -0
- pinelabs/types/authorize_payment_response_data_payments_item_payment_method.py +7 -0
- pinelabs/types/authorize_payment_response_data_payments_item_payment_option.py +22 -0
- pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data.py +25 -0
- pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data.py +38 -0
- pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_card_type.py +7 -0
- pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_token_txn_type.py +7 -0
- pinelabs/types/authorize_payment_response_data_payments_item_status.py +7 -0
- pinelabs/types/authorize_payment_response_data_purchase_details.py +24 -0
- pinelabs/types/authorize_payment_response_data_purchase_details_customer.py +27 -0
- pinelabs/types/authorize_payment_response_data_status.py +18 -0
- pinelabs/types/authorize_payment_response_data_type.py +5 -0
- pinelabs/types/bank_account.py +36 -0
- pinelabs/types/bnpl_check_eligibility_response.py +32 -0
- pinelabs/types/bnpl_check_eligibility_response_metadata.py +36 -0
- pinelabs/types/bnpl_check_eligibility_response_metadata_installments_item.py +33 -0
- pinelabs/types/bnpl_resend_otp_response.py +37 -0
- pinelabs/types/bnpl_resend_otp_response_meta_data.py +26 -0
- pinelabs/types/bnpl_submit_otp_response.py +26 -0
- pinelabs/types/calculate_convenience_fee_response.py +27 -0
- pinelabs/types/calculate_convenience_fee_response_data_item.py +50 -0
- pinelabs/types/calculate_convenience_fee_response_data_item_convenience_fee_breakdown.py +28 -0
- pinelabs/types/calculate_convenience_fee_response_data_item_payment_method_metadata.py +31 -0
- pinelabs/types/capture_data_item.py +34 -0
- pinelabs/types/card_data.py +76 -0
- pinelabs/types/card_data_card_category.py +22 -0
- pinelabs/types/card_data_card_type.py +21 -0
- pinelabs/types/card_data_token_txn_type.py +5 -0
- pinelabs/types/card_detail_lookup_item.py +35 -0
- pinelabs/types/card_detail_lookup_item_payment_reference_type.py +7 -0
- pinelabs/types/card_payment_detail_item.py +66 -0
- pinelabs/types/card_token_response.py +49 -0
- pinelabs/types/cart_details.py +27 -0
- pinelabs/types/cart_item.py +66 -0
- pinelabs/types/challan_response.py +77 -0
- pinelabs/types/check_point_balance_response.py +43 -0
- pinelabs/types/check_point_balance_response_balance.py +28 -0
- pinelabs/types/check_point_balance_response_redeemable_amount.py +28 -0
- pinelabs/types/checkout_customer.py +55 -0
- pinelabs/types/checkout_product.py +29 -0
- pinelabs/types/checkout_purchase_details.py +29 -0
- pinelabs/types/create_bulk_payout_response.py +48 -0
- pinelabs/types/create_bulk_payout_response_status.py +7 -0
- pinelabs/types/create_debit_response.py +56 -0
- pinelabs/types/create_debit_response_status.py +7 -0
- pinelabs/types/create_payout_response.py +100 -0
- pinelabs/types/create_payout_response_mode.py +5 -0
- pinelabs/types/create_payout_response_status.py +7 -0
- pinelabs/types/create_presentation_response.py +58 -0
- pinelabs/types/create_presentation_response_status.py +10 -0
- pinelabs/types/create_subscription_response.py +146 -0
- pinelabs/types/create_subscription_response_allowed_payment_methods_item.py +7 -0
- pinelabs/types/create_subscription_response_integration_mode.py +5 -0
- pinelabs/types/create_subscription_response_payment_mode.py +5 -0
- pinelabs/types/create_subscription_response_status.py +23 -0
- pinelabs/types/cryptogram_response.py +39 -0
- pinelabs/types/currency_conversion_response.py +56 -0
- pinelabs/types/customer_details.py +59 -0
- pinelabs/types/customer_response.py +83 -0
- pinelabs/types/customer_response_status.py +5 -0
- pinelabs/types/customer_token_detail.py +74 -0
- pinelabs/types/customer_token_detail_payment_method.py +5 -0
- pinelabs/types/customer_tokens_response.py +48 -0
- pinelabs/types/delete_customer_token_response.py +41 -0
- pinelabs/types/delete_token_by_token_id_response.py +31 -0
- pinelabs/types/downpayment_details_response.py +27 -0
- pinelabs/types/downpayment_details_response_downpayment_details.py +47 -0
- pinelabs/types/downpayment_details_response_downpayment_details_allowed_payment_methods_item.py +7 -0
- pinelabs/types/downpayment_details_response_downpayment_details_amount_range.py +25 -0
- pinelabs/types/error_response.py +41 -0
- pinelabs/types/error_response_additional_error_details.py +36 -0
- pinelabs/types/generate_checkout_link_response.py +46 -0
- pinelabs/types/generate_token_response.py +32 -0
- pinelabs/types/get_account_balance_response.py +36 -0
- pinelabs/types/get_card_details_response.py +27 -0
- pinelabs/types/get_payouts_payment_item.py +98 -0
- pinelabs/types/get_payouts_payment_item_mode.py +5 -0
- pinelabs/types/get_payouts_payment_item_status.py +7 -0
- pinelabs/types/get_payouts_response.py +51 -0
- pinelabs/types/imei_product.py +41 -0
- pinelabs/types/imei_validation_response.py +37 -0
- pinelabs/types/imei_validation_response_products_item.py +57 -0
- pinelabs/types/imei_validation_response_products_item_product_brand_response.py +31 -0
- pinelabs/types/imei_validation_response_products_item_product_imei_status.py +5 -0
- pinelabs/types/issuer_offer.py +59 -0
- pinelabs/types/issuer_offer_issuer_data.py +79 -0
- pinelabs/types/issuer_offer_issuer_data_auth_type.py +5 -0
- pinelabs/types/issuer_offer_issuer_data_penny_transaction_amount.py +20 -0
- pinelabs/types/issuer_offer_issuer_type.py +10 -0
- pinelabs/types/list_plans_response.py +31 -0
- pinelabs/types/list_presentations_response.py +31 -0
- pinelabs/types/list_settlements_response.py +42 -0
- pinelabs/types/list_subscriptions_response.py +31 -0
- pinelabs/types/merchant_metadata.py +8 -0
- pinelabs/types/net_banking_data_response.py +32 -0
- pinelabs/types/net_banking_data_response_txn_mode.py +5 -0
- pinelabs/types/offer_discovery_error_response.py +34 -0
- pinelabs/types/offer_discovery_error_response_additional_error_details.py +22 -0
- pinelabs/types/offer_discovery_response.py +27 -0
- pinelabs/types/offer_validation_error_response.py +22 -0
- pinelabs/types/offer_validation_error_response_additional_error_details.py +22 -0
- pinelabs/types/offer_validation_response.py +24 -0
- pinelabs/types/order_response.py +24 -0
- pinelabs/types/order_response_data.py +127 -0
- pinelabs/types/order_response_data_integration_mode.py +5 -0
- pinelabs/types/order_response_data_purchase_details.py +26 -0
- pinelabs/types/order_response_data_status.py +18 -0
- pinelabs/types/order_response_data_type.py +5 -0
- pinelabs/types/otp_generate_response.py +33 -0
- pinelabs/types/otp_generate_response_meta_data.py +26 -0
- pinelabs/types/otp_generate_response_next_item.py +5 -0
- pinelabs/types/page_info.py +41 -0
- pinelabs/types/pagination_links.py +34 -0
- pinelabs/types/pagination_links_first.py +22 -0
- pinelabs/types/pagination_links_last.py +22 -0
- pinelabs/types/pagination_links_next.py +22 -0
- pinelabs/types/pagination_links_self.py +22 -0
- pinelabs/types/pagination_meta.py +41 -0
- pinelabs/types/payment_item.py +87 -0
- pinelabs/types/payment_item_error_detail.py +31 -0
- pinelabs/types/payment_item_payment_method.py +8 -0
- pinelabs/types/payment_item_payment_option.py +28 -0
- pinelabs/types/payment_item_status.py +7 -0
- pinelabs/types/payment_link_account_details.py +24 -0
- pinelabs/types/payment_link_address.py +56 -0
- pinelabs/types/payment_link_bank_details.py +36 -0
- pinelabs/types/payment_link_cart_details.py +27 -0
- pinelabs/types/payment_link_cart_item.py +29 -0
- pinelabs/types/payment_link_customer.py +64 -0
- pinelabs/types/payment_link_product_detail.py +30 -0
- pinelabs/types/payment_link_response.py +113 -0
- pinelabs/types/payment_link_response_allowed_payment_methods_item.py +7 -0
- pinelabs/types/payment_link_response_status.py +8 -0
- pinelabs/types/payment_link_split_detail.py +57 -0
- pinelabs/types/payment_link_split_detail_status.py +5 -0
- pinelabs/types/payment_link_split_info.py +32 -0
- pinelabs/types/payment_object.py +51 -0
- pinelabs/types/payment_object_acquirer_data.py +23 -0
- pinelabs/types/payment_object_payment_amount.py +20 -0
- pinelabs/types/payment_object_payment_method.py +5 -0
- pinelabs/types/payment_object_status.py +7 -0
- pinelabs/types/payment_request_item.py +54 -0
- pinelabs/types/payment_request_item_device_info.py +53 -0
- pinelabs/types/payment_request_item_device_info_operating_system.py +7 -0
- pinelabs/types/payment_request_item_offer_data.py +27 -0
- pinelabs/types/payment_request_item_offer_data_offer_details.py +52 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure.py +136 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_auth_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_cart_coupon_discount_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown.py +56 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item.py +73 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount.py +36 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup.py +34 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand.py +22 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.py +22 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.py +22 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.py +24 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_max_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_min_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_downpayment_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_interest_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.py +21 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention.py +36 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup.py +34 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.py +22 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.py +24 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.py +24 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.py +24 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_max_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_min_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details.py +28 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_intrest_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_loan_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_monthly_emi_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_net_payment_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details.py +22 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_split_emi_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_coupon_discount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_discount_amount.py +20 -0
- pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_emi_amount.py +20 -0
- pinelabs/types/payment_request_item_payment_method.py +8 -0
- pinelabs/types/payment_request_item_payment_option.py +53 -0
- pinelabs/types/payment_request_item_payment_option_bnpl_details.py +34 -0
- pinelabs/types/payment_request_item_payment_option_bnpl_details_bnpl_pay_code.py +5 -0
- pinelabs/types/payment_request_item_payment_option_card_details.py +51 -0
- pinelabs/types/payment_request_item_payment_option_card_token_details.py +61 -0
- pinelabs/types/payment_request_item_payment_option_cardless_details.py +31 -0
- pinelabs/types/payment_request_item_payment_option_points_card_details.py +36 -0
- pinelabs/types/payout_amount.py +31 -0
- pinelabs/types/payout_detail.py +117 -0
- pinelabs/types/payout_detail_mode.py +5 -0
- pinelabs/types/payout_detail_status.py +7 -0
- pinelabs/types/payout_link.py +31 -0
- pinelabs/types/plan_response.py +96 -0
- pinelabs/types/plan_response_frequency.py +10 -0
- pinelabs/types/plan_response_status.py +5 -0
- pinelabs/types/presentation_detail.py +82 -0
- pinelabs/types/presentation_detail_pdn_status.py +7 -0
- pinelabs/types/presentation_detail_status.py +18 -0
- pinelabs/types/product_detail.py +38 -0
- pinelabs/types/refund_response.py +24 -0
- pinelabs/types/refund_response_data.py +77 -0
- pinelabs/types/refund_response_data_integration_mode.py +5 -0
- pinelabs/types/refund_response_data_order_amount.py +20 -0
- pinelabs/types/refund_response_data_purchase_details.py +24 -0
- pinelabs/types/refund_response_data_purchase_details_customer.py +31 -0
- pinelabs/types/refund_response_data_purchase_details_split_info.py +21 -0
- pinelabs/types/refund_response_data_status.py +5 -0
- pinelabs/types/refund_response_data_type.py +5 -0
- pinelabs/types/resend_otp_error_response.py +36 -0
- pinelabs/types/service_provider_token_response.py +62 -0
- pinelabs/types/service_provider_token_response_payment_method.py +5 -0
- pinelabs/types/service_provider_tokens_list_response.py +32 -0
- pinelabs/types/settlement_by_utr_response.py +146 -0
- pinelabs/types/settlement_by_utr_response_pagination.py +27 -0
- pinelabs/types/settlement_summary.py +76 -0
- pinelabs/types/settlement_transaction.py +96 -0
- pinelabs/types/simple_amount.py +31 -0
- pinelabs/types/split_detail.py +55 -0
- pinelabs/types/split_detail_refund.py +51 -0
- pinelabs/types/split_detail_refund_amount.py +20 -0
- pinelabs/types/split_detail_refund_status.py +5 -0
- pinelabs/types/split_detail_status.py +5 -0
- pinelabs/types/split_info.py +32 -0
- pinelabs/types/split_payment_object.py +49 -0
- pinelabs/types/split_payment_object_acquirer_data.py +22 -0
- pinelabs/types/split_payment_object_additional_detail.py +26 -0
- pinelabs/types/split_payment_object_capture_data_item.py +23 -0
- pinelabs/types/split_payment_object_capture_data_item_capture_amount.py +20 -0
- pinelabs/types/split_payment_object_payment_amount.py +20 -0
- pinelabs/types/split_payment_object_payment_method.py +7 -0
- pinelabs/types/split_payment_object_payment_option.py +20 -0
- pinelabs/types/split_payment_object_payment_option_card_data.py +40 -0
- pinelabs/types/split_payment_object_payment_option_card_data_card_type.py +5 -0
- pinelabs/types/split_payment_object_payment_option_card_data_token_txn_type.py +7 -0
- pinelabs/types/split_payment_object_status.py +7 -0
- pinelabs/types/split_settlement_detail.py +52 -0
- pinelabs/types/split_settlement_detail_amount.py +20 -0
- pinelabs/types/split_settlement_detail_release_amount.py +24 -0
- pinelabs/types/split_settlement_detail_status.py +5 -0
- pinelabs/types/split_settlement_response.py +24 -0
- pinelabs/types/split_settlement_response_data.py +43 -0
- pinelabs/types/split_settlement_response_data_allowed_payment_methods_item.py +7 -0
- pinelabs/types/split_settlement_response_data_integration_mode.py +5 -0
- pinelabs/types/split_settlement_response_data_order_amount.py +20 -0
- pinelabs/types/split_settlement_response_data_purchase_details.py +26 -0
- pinelabs/types/split_settlement_response_data_purchase_details_customer.py +28 -0
- pinelabs/types/split_settlement_response_data_purchase_details_split_info.py +21 -0
- pinelabs/types/split_settlement_response_data_status.py +18 -0
- pinelabs/types/split_settlement_response_data_type.py +5 -0
- pinelabs/types/submit_otp_error_response.py +42 -0
- pinelabs/types/submit_otp_error_response_meta_data.py +26 -0
- pinelabs/types/subscription_amount.py +31 -0
- pinelabs/types/subscription_detail.py +115 -0
- pinelabs/types/subscription_detail_allowed_payment_methods_item.py +7 -0
- pinelabs/types/subscription_detail_integration_mode.py +5 -0
- pinelabs/types/subscription_detail_payment_mode.py +5 -0
- pinelabs/types/subscription_detail_status.py +23 -0
- pinelabs/types/subscription_notification_response.py +56 -0
- pinelabs/types/subscription_notification_response_pdn_status.py +7 -0
- pinelabs/types/subscription_notification_response_status.py +10 -0
- pinelabs/types/tenure.py +127 -0
- pinelabs/types/tenure_auth_amount.py +20 -0
- pinelabs/types/tenure_cart_coupon_discount_amount.py +20 -0
- pinelabs/types/tenure_convenience_fee_breakdown.py +38 -0
- pinelabs/types/tenure_convenience_fee_breakdown_additional_fee_amount.py +20 -0
- pinelabs/types/tenure_convenience_fee_breakdown_applicable_fee_amount.py +20 -0
- pinelabs/types/tenure_convenience_fee_breakdown_fee_amount.py +20 -0
- pinelabs/types/tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +20 -0
- pinelabs/types/tenure_convenience_fee_breakdown_maximum_fee_amount.py +20 -0
- pinelabs/types/tenure_convenience_fee_breakdown_subvented_fee_amount.py +20 -0
- pinelabs/types/tenure_convenience_fee_breakdown_tax_amount.py +20 -0
- pinelabs/types/tenure_details_item.py +49 -0
- pinelabs/types/tenure_details_item_after_downpayment_reduced_product_amount.py +20 -0
- pinelabs/types/tenure_details_item_cart_coupon_discount_product_share.py +20 -0
- pinelabs/types/tenure_details_item_discount.py +33 -0
- pinelabs/types/tenure_details_item_discount_amount.py +20 -0
- pinelabs/types/tenure_details_item_discount_breakup.py +22 -0
- pinelabs/types/tenure_details_item_discount_breakup_brand.py +20 -0
- pinelabs/types/tenure_details_item_discount_breakup_brand_amount.py +20 -0
- pinelabs/types/tenure_details_item_discount_breakup_merchant.py +20 -0
- pinelabs/types/tenure_details_item_discount_breakup_merchant_amount.py +20 -0
- pinelabs/types/tenure_details_item_discount_discount_deferred_duration_type.py +5 -0
- pinelabs/types/tenure_details_item_discount_discount_type.py +5 -0
- pinelabs/types/tenure_details_item_discount_max_amount.py +20 -0
- pinelabs/types/tenure_details_item_downpayment_amount.py +20 -0
- pinelabs/types/tenure_details_item_interest_amount.py +20 -0
- pinelabs/types/tenure_details_item_product_amount.py +20 -0
- pinelabs/types/tenure_details_item_product_coupon_discount_amount.py +20 -0
- pinelabs/types/tenure_details_item_product_offer_parameters_item.py +21 -0
- pinelabs/types/tenure_details_item_subvention.py +31 -0
- pinelabs/types/tenure_details_item_subvention_amount.py +20 -0
- pinelabs/types/tenure_details_item_subvention_breakup.py +20 -0
- pinelabs/types/tenure_details_item_subvention_breakup_brand.py +20 -0
- pinelabs/types/tenure_details_item_subvention_breakup_brand_amount.py +20 -0
- pinelabs/types/tenure_details_item_subvention_max_amount.py +20 -0
- pinelabs/types/tenure_details_item_subvention_min_amount.py +20 -0
- pinelabs/types/tenure_details_item_subvention_offer_type.py +5 -0
- pinelabs/types/tenure_details_item_subvention_subvention_type.py +5 -0
- pinelabs/types/tenure_discount.py +35 -0
- pinelabs/types/tenure_discount_amount.py +20 -0
- pinelabs/types/tenure_discount_breakup.py +26 -0
- pinelabs/types/tenure_discount_breakup_brand.py +20 -0
- pinelabs/types/tenure_discount_breakup_brand_amount.py +20 -0
- pinelabs/types/tenure_discount_breakup_dealer.py +20 -0
- pinelabs/types/tenure_discount_breakup_dealer_amount.py +20 -0
- pinelabs/types/tenure_discount_breakup_issuer.py +20 -0
- pinelabs/types/tenure_discount_breakup_issuer_amount.py +20 -0
- pinelabs/types/tenure_discount_breakup_merchant.py +20 -0
- pinelabs/types/tenure_discount_breakup_merchant_amount.py +20 -0
- pinelabs/types/tenure_discount_discount_deferred_duration_type.py +5 -0
- pinelabs/types/tenure_discount_discount_type.py +5 -0
- pinelabs/types/tenure_discount_max_amount.py +20 -0
- pinelabs/types/tenure_downpayment_details.py +24 -0
- pinelabs/types/tenure_downpayment_details_downpayment_amount.py +20 -0
- pinelabs/types/tenure_emi_type.py +5 -0
- pinelabs/types/tenure_interest_amount.py +20 -0
- pinelabs/types/tenure_issuer_offer_parameters_item.py +32 -0
- pinelabs/types/tenure_loan_amount.py +20 -0
- pinelabs/types/tenure_monthly_emi_amount.py +20 -0
- pinelabs/types/tenure_net_payment_amount.py +20 -0
- pinelabs/types/tenure_processing_fee_amount.py +20 -0
- pinelabs/types/tenure_processing_fee_details.py +25 -0
- pinelabs/types/tenure_processing_fee_details_amount.py +20 -0
- pinelabs/types/tenure_split_emi_amount.py +20 -0
- pinelabs/types/tenure_tenure_type.py +5 -0
- pinelabs/types/tenure_total_coupon_discount.py +20 -0
- pinelabs/types/tenure_total_discount_amount.py +20 -0
- pinelabs/types/tenure_total_down_payment_amount.py +20 -0
- pinelabs/types/tenure_total_emi_amount.py +20 -0
- pinelabs/types/tenure_total_subvention_amount.py +20 -0
- pinelabs/types/token_card_data.py +69 -0
- pinelabs/types/token_card_data_card_type.py +5 -0
- pinelabs/types/token_payment.py +27 -0
- pinelabs/types/token_payment_acquirer_data.py +41 -0
- pinelabs/types/token_payment_option.py +26 -0
- pinelabs/types/token_status.py +5 -0
- pinelabs/types/token_transactional_data.py +46 -0
- pinelabs/types/upi_details_response.py +30 -0
- pinelabs/types/upi_details_response_payer.py +22 -0
- pinelabs/types/upi_details_response_txn_mode.py +5 -0
- pinelabs_python-0.1.0.dist-info/METADATA +213 -0
- pinelabs_python-0.1.0.dist-info/RECORD +626 -0
- pinelabs_python-0.1.0.dist-info/WHEEL +4 -0
- pinelabs_python-0.1.0.dist-info/licenses/LICENSE +21 -0
pinelabs/client.py
ADDED
|
@@ -0,0 +1,612 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime as dt
|
|
6
|
+
import typing
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
10
|
+
from .core.logging import LogConfig, Logger
|
|
11
|
+
from .environment import PinelabsApiEnvironment
|
|
12
|
+
|
|
13
|
+
if typing.TYPE_CHECKING:
|
|
14
|
+
from .affordability_suite.client import AffordabilitySuiteClient, AsyncAffordabilitySuiteClient
|
|
15
|
+
from .apple_pay.client import ApplePayClient, AsyncApplePayClient
|
|
16
|
+
from .authentication.client import AsyncAuthenticationClient, AuthenticationClient
|
|
17
|
+
from .bnpl.client import AsyncBnplClient, BnplClient
|
|
18
|
+
from .card_payments.client import AsyncCardPaymentsClient, CardPaymentsClient
|
|
19
|
+
from .checkout.client import AsyncCheckoutClient, CheckoutClient
|
|
20
|
+
from .convenience_fee.client import AsyncConvenienceFeeClient, ConvenienceFeeClient
|
|
21
|
+
from .customers.client import AsyncCustomersClient, CustomersClient
|
|
22
|
+
from .e_challans.client import AsyncEChallansClient, EChallansClient
|
|
23
|
+
from .international_payments.client import AsyncInternationalPaymentsClient, InternationalPaymentsClient
|
|
24
|
+
from .orders.client import AsyncOrdersClient, OrdersClient
|
|
25
|
+
from .pay_by_points.client import AsyncPayByPointsClient, PayByPointsClient
|
|
26
|
+
from .payment_links.client import AsyncPaymentLinksClient, PaymentLinksClient
|
|
27
|
+
from .payouts.client import AsyncPayoutsClient, PayoutsClient
|
|
28
|
+
from .refunds.client import AsyncRefundsClient, RefundsClient
|
|
29
|
+
from .settlements.client import AsyncSettlementsClient, SettlementsClient
|
|
30
|
+
from .split_settlements.client import AsyncSplitSettlementsClient, SplitSettlementsClient
|
|
31
|
+
from .subscriptions_plans.client import AsyncSubscriptionsPlansClient, SubscriptionsPlansClient
|
|
32
|
+
from .subscriptions_presentations.client import (
|
|
33
|
+
AsyncSubscriptionsPresentationsClient,
|
|
34
|
+
SubscriptionsPresentationsClient,
|
|
35
|
+
)
|
|
36
|
+
from .subscriptions_subscriptions.client import (
|
|
37
|
+
AsyncSubscriptionsSubscriptionsClient,
|
|
38
|
+
SubscriptionsSubscriptionsClient,
|
|
39
|
+
)
|
|
40
|
+
from .tokenization.client import AsyncTokenizationClient, TokenizationClient
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class PinelabsApi:
|
|
44
|
+
"""
|
|
45
|
+
Use this class to access the different functions within the SDK. You can instantiate any number of clients with different configuration that will propagate to these functions.
|
|
46
|
+
|
|
47
|
+
Parameters
|
|
48
|
+
----------
|
|
49
|
+
base_url : typing.Optional[str]
|
|
50
|
+
The base url to use for requests from the client.
|
|
51
|
+
|
|
52
|
+
environment : PinelabsApiEnvironment
|
|
53
|
+
The environment to use for requests from the client. from .environment import PinelabsApiEnvironment
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
Defaults to PinelabsApiEnvironment.PRODUCTION
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
request_timestamp : typing.Optional[dt.datetime]
|
|
62
|
+
request_id : typing.Optional[str]
|
|
63
|
+
token : typing.Union[str, typing.Callable[[], str]]
|
|
64
|
+
headers : typing.Optional[typing.Dict[str, str]]
|
|
65
|
+
Additional headers to send with every request.
|
|
66
|
+
|
|
67
|
+
timeout : typing.Optional[float]
|
|
68
|
+
The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced.
|
|
69
|
+
|
|
70
|
+
follow_redirects : typing.Optional[bool]
|
|
71
|
+
Whether the default httpx client follows redirects or not, this is irrelevant if a custom httpx client is passed in.
|
|
72
|
+
|
|
73
|
+
httpx_client : typing.Optional[httpx.Client]
|
|
74
|
+
The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.
|
|
75
|
+
|
|
76
|
+
logging : typing.Optional[typing.Union[LogConfig, Logger]]
|
|
77
|
+
Configure logging for the SDK. Accepts a LogConfig dict with 'level' (debug/info/warn/error), 'logger' (custom logger implementation), and 'silent' (boolean, defaults to True) fields. You can also pass a pre-configured Logger instance.
|
|
78
|
+
|
|
79
|
+
Examples
|
|
80
|
+
--------
|
|
81
|
+
from pinelabs import PinelabsApi
|
|
82
|
+
|
|
83
|
+
client = PinelabsApi(
|
|
84
|
+
request_timestamp="YOUR_REQUEST_TIMESTAMP",
|
|
85
|
+
request_id="YOUR_REQUEST_ID",
|
|
86
|
+
token="YOUR_TOKEN",
|
|
87
|
+
)
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
def __init__(
|
|
91
|
+
self,
|
|
92
|
+
*,
|
|
93
|
+
base_url: typing.Optional[str] = None,
|
|
94
|
+
environment: PinelabsApiEnvironment = PinelabsApiEnvironment.PRODUCTION,
|
|
95
|
+
request_timestamp: typing.Optional[dt.datetime] = None,
|
|
96
|
+
request_id: typing.Optional[str] = None,
|
|
97
|
+
token: typing.Union[str, typing.Callable[[], str]],
|
|
98
|
+
headers: typing.Optional[typing.Dict[str, str]] = None,
|
|
99
|
+
timeout: typing.Optional[float] = None,
|
|
100
|
+
follow_redirects: typing.Optional[bool] = True,
|
|
101
|
+
httpx_client: typing.Optional[httpx.Client] = None,
|
|
102
|
+
logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
|
|
103
|
+
):
|
|
104
|
+
_defaulted_timeout = (
|
|
105
|
+
timeout if timeout is not None else 60 if httpx_client is None else httpx_client.timeout.read
|
|
106
|
+
)
|
|
107
|
+
self._client_wrapper = SyncClientWrapper(
|
|
108
|
+
base_url=_get_base_url(base_url=base_url, environment=environment),
|
|
109
|
+
request_timestamp=request_timestamp,
|
|
110
|
+
request_id=request_id,
|
|
111
|
+
token=token,
|
|
112
|
+
headers=headers,
|
|
113
|
+
httpx_client=httpx_client
|
|
114
|
+
if httpx_client is not None
|
|
115
|
+
else httpx.Client(timeout=_defaulted_timeout, follow_redirects=follow_redirects)
|
|
116
|
+
if follow_redirects is not None
|
|
117
|
+
else httpx.Client(timeout=_defaulted_timeout),
|
|
118
|
+
timeout=_defaulted_timeout,
|
|
119
|
+
logging=logging,
|
|
120
|
+
)
|
|
121
|
+
self._authentication: typing.Optional[AuthenticationClient] = None
|
|
122
|
+
self._orders: typing.Optional[OrdersClient] = None
|
|
123
|
+
self._refunds: typing.Optional[RefundsClient] = None
|
|
124
|
+
self._settlements: typing.Optional[SettlementsClient] = None
|
|
125
|
+
self._split_settlements: typing.Optional[SplitSettlementsClient] = None
|
|
126
|
+
self._affordability_suite: typing.Optional[AffordabilitySuiteClient] = None
|
|
127
|
+
self._card_payments: typing.Optional[CardPaymentsClient] = None
|
|
128
|
+
self._pay_by_points: typing.Optional[PayByPointsClient] = None
|
|
129
|
+
self._e_challans: typing.Optional[EChallansClient] = None
|
|
130
|
+
self._apple_pay: typing.Optional[ApplePayClient] = None
|
|
131
|
+
self._international_payments: typing.Optional[InternationalPaymentsClient] = None
|
|
132
|
+
self._bnpl: typing.Optional[BnplClient] = None
|
|
133
|
+
self._convenience_fee: typing.Optional[ConvenienceFeeClient] = None
|
|
134
|
+
self._checkout: typing.Optional[CheckoutClient] = None
|
|
135
|
+
self._payment_links: typing.Optional[PaymentLinksClient] = None
|
|
136
|
+
self._customers: typing.Optional[CustomersClient] = None
|
|
137
|
+
self._tokenization: typing.Optional[TokenizationClient] = None
|
|
138
|
+
self._payouts: typing.Optional[PayoutsClient] = None
|
|
139
|
+
self._subscriptions_plans: typing.Optional[SubscriptionsPlansClient] = None
|
|
140
|
+
self._subscriptions_subscriptions: typing.Optional[SubscriptionsSubscriptionsClient] = None
|
|
141
|
+
self._subscriptions_presentations: typing.Optional[SubscriptionsPresentationsClient] = None
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
def authentication(self):
|
|
145
|
+
if self._authentication is None:
|
|
146
|
+
from .authentication.client import AuthenticationClient # noqa: E402
|
|
147
|
+
|
|
148
|
+
self._authentication = AuthenticationClient(client_wrapper=self._client_wrapper)
|
|
149
|
+
return self._authentication
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def orders(self):
|
|
153
|
+
if self._orders is None:
|
|
154
|
+
from .orders.client import OrdersClient # noqa: E402
|
|
155
|
+
|
|
156
|
+
self._orders = OrdersClient(client_wrapper=self._client_wrapper)
|
|
157
|
+
return self._orders
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
def refunds(self):
|
|
161
|
+
if self._refunds is None:
|
|
162
|
+
from .refunds.client import RefundsClient # noqa: E402
|
|
163
|
+
|
|
164
|
+
self._refunds = RefundsClient(client_wrapper=self._client_wrapper)
|
|
165
|
+
return self._refunds
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
def settlements(self):
|
|
169
|
+
if self._settlements is None:
|
|
170
|
+
from .settlements.client import SettlementsClient # noqa: E402
|
|
171
|
+
|
|
172
|
+
self._settlements = SettlementsClient(client_wrapper=self._client_wrapper)
|
|
173
|
+
return self._settlements
|
|
174
|
+
|
|
175
|
+
@property
|
|
176
|
+
def split_settlements(self):
|
|
177
|
+
if self._split_settlements is None:
|
|
178
|
+
from .split_settlements.client import SplitSettlementsClient # noqa: E402
|
|
179
|
+
|
|
180
|
+
self._split_settlements = SplitSettlementsClient(client_wrapper=self._client_wrapper)
|
|
181
|
+
return self._split_settlements
|
|
182
|
+
|
|
183
|
+
@property
|
|
184
|
+
def affordability_suite(self):
|
|
185
|
+
if self._affordability_suite is None:
|
|
186
|
+
from .affordability_suite.client import AffordabilitySuiteClient # noqa: E402
|
|
187
|
+
|
|
188
|
+
self._affordability_suite = AffordabilitySuiteClient(client_wrapper=self._client_wrapper)
|
|
189
|
+
return self._affordability_suite
|
|
190
|
+
|
|
191
|
+
@property
|
|
192
|
+
def card_payments(self):
|
|
193
|
+
if self._card_payments is None:
|
|
194
|
+
from .card_payments.client import CardPaymentsClient # noqa: E402
|
|
195
|
+
|
|
196
|
+
self._card_payments = CardPaymentsClient(client_wrapper=self._client_wrapper)
|
|
197
|
+
return self._card_payments
|
|
198
|
+
|
|
199
|
+
@property
|
|
200
|
+
def pay_by_points(self):
|
|
201
|
+
if self._pay_by_points is None:
|
|
202
|
+
from .pay_by_points.client import PayByPointsClient # noqa: E402
|
|
203
|
+
|
|
204
|
+
self._pay_by_points = PayByPointsClient(client_wrapper=self._client_wrapper)
|
|
205
|
+
return self._pay_by_points
|
|
206
|
+
|
|
207
|
+
@property
|
|
208
|
+
def e_challans(self):
|
|
209
|
+
if self._e_challans is None:
|
|
210
|
+
from .e_challans.client import EChallansClient # noqa: E402
|
|
211
|
+
|
|
212
|
+
self._e_challans = EChallansClient(client_wrapper=self._client_wrapper)
|
|
213
|
+
return self._e_challans
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
def apple_pay(self):
|
|
217
|
+
if self._apple_pay is None:
|
|
218
|
+
from .apple_pay.client import ApplePayClient # noqa: E402
|
|
219
|
+
|
|
220
|
+
self._apple_pay = ApplePayClient(client_wrapper=self._client_wrapper)
|
|
221
|
+
return self._apple_pay
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
def international_payments(self):
|
|
225
|
+
if self._international_payments is None:
|
|
226
|
+
from .international_payments.client import InternationalPaymentsClient # noqa: E402
|
|
227
|
+
|
|
228
|
+
self._international_payments = InternationalPaymentsClient(client_wrapper=self._client_wrapper)
|
|
229
|
+
return self._international_payments
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
def bnpl(self):
|
|
233
|
+
if self._bnpl is None:
|
|
234
|
+
from .bnpl.client import BnplClient # noqa: E402
|
|
235
|
+
|
|
236
|
+
self._bnpl = BnplClient(client_wrapper=self._client_wrapper)
|
|
237
|
+
return self._bnpl
|
|
238
|
+
|
|
239
|
+
@property
|
|
240
|
+
def convenience_fee(self):
|
|
241
|
+
if self._convenience_fee is None:
|
|
242
|
+
from .convenience_fee.client import ConvenienceFeeClient # noqa: E402
|
|
243
|
+
|
|
244
|
+
self._convenience_fee = ConvenienceFeeClient(client_wrapper=self._client_wrapper)
|
|
245
|
+
return self._convenience_fee
|
|
246
|
+
|
|
247
|
+
@property
|
|
248
|
+
def checkout(self):
|
|
249
|
+
if self._checkout is None:
|
|
250
|
+
from .checkout.client import CheckoutClient # noqa: E402
|
|
251
|
+
|
|
252
|
+
self._checkout = CheckoutClient(client_wrapper=self._client_wrapper)
|
|
253
|
+
return self._checkout
|
|
254
|
+
|
|
255
|
+
@property
|
|
256
|
+
def payment_links(self):
|
|
257
|
+
if self._payment_links is None:
|
|
258
|
+
from .payment_links.client import PaymentLinksClient # noqa: E402
|
|
259
|
+
|
|
260
|
+
self._payment_links = PaymentLinksClient(client_wrapper=self._client_wrapper)
|
|
261
|
+
return self._payment_links
|
|
262
|
+
|
|
263
|
+
@property
|
|
264
|
+
def customers(self):
|
|
265
|
+
if self._customers is None:
|
|
266
|
+
from .customers.client import CustomersClient # noqa: E402
|
|
267
|
+
|
|
268
|
+
self._customers = CustomersClient(client_wrapper=self._client_wrapper)
|
|
269
|
+
return self._customers
|
|
270
|
+
|
|
271
|
+
@property
|
|
272
|
+
def tokenization(self):
|
|
273
|
+
if self._tokenization is None:
|
|
274
|
+
from .tokenization.client import TokenizationClient # noqa: E402
|
|
275
|
+
|
|
276
|
+
self._tokenization = TokenizationClient(client_wrapper=self._client_wrapper)
|
|
277
|
+
return self._tokenization
|
|
278
|
+
|
|
279
|
+
@property
|
|
280
|
+
def payouts(self):
|
|
281
|
+
if self._payouts is None:
|
|
282
|
+
from .payouts.client import PayoutsClient # noqa: E402
|
|
283
|
+
|
|
284
|
+
self._payouts = PayoutsClient(client_wrapper=self._client_wrapper)
|
|
285
|
+
return self._payouts
|
|
286
|
+
|
|
287
|
+
@property
|
|
288
|
+
def subscriptions_plans(self):
|
|
289
|
+
if self._subscriptions_plans is None:
|
|
290
|
+
from .subscriptions_plans.client import SubscriptionsPlansClient # noqa: E402
|
|
291
|
+
|
|
292
|
+
self._subscriptions_plans = SubscriptionsPlansClient(client_wrapper=self._client_wrapper)
|
|
293
|
+
return self._subscriptions_plans
|
|
294
|
+
|
|
295
|
+
@property
|
|
296
|
+
def subscriptions_subscriptions(self):
|
|
297
|
+
if self._subscriptions_subscriptions is None:
|
|
298
|
+
from .subscriptions_subscriptions.client import SubscriptionsSubscriptionsClient # noqa: E402
|
|
299
|
+
|
|
300
|
+
self._subscriptions_subscriptions = SubscriptionsSubscriptionsClient(client_wrapper=self._client_wrapper)
|
|
301
|
+
return self._subscriptions_subscriptions
|
|
302
|
+
|
|
303
|
+
@property
|
|
304
|
+
def subscriptions_presentations(self):
|
|
305
|
+
if self._subscriptions_presentations is None:
|
|
306
|
+
from .subscriptions_presentations.client import SubscriptionsPresentationsClient # noqa: E402
|
|
307
|
+
|
|
308
|
+
self._subscriptions_presentations = SubscriptionsPresentationsClient(client_wrapper=self._client_wrapper)
|
|
309
|
+
return self._subscriptions_presentations
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
def _make_default_async_client(
|
|
313
|
+
timeout: typing.Optional[float],
|
|
314
|
+
follow_redirects: typing.Optional[bool],
|
|
315
|
+
) -> httpx.AsyncClient:
|
|
316
|
+
try:
|
|
317
|
+
import httpx_aiohttp # type: ignore[import-not-found]
|
|
318
|
+
except ImportError:
|
|
319
|
+
pass
|
|
320
|
+
else:
|
|
321
|
+
if follow_redirects is not None:
|
|
322
|
+
return httpx_aiohttp.HttpxAiohttpClient(timeout=timeout, follow_redirects=follow_redirects)
|
|
323
|
+
return httpx_aiohttp.HttpxAiohttpClient(timeout=timeout)
|
|
324
|
+
|
|
325
|
+
if follow_redirects is not None:
|
|
326
|
+
return httpx.AsyncClient(timeout=timeout, follow_redirects=follow_redirects)
|
|
327
|
+
return httpx.AsyncClient(timeout=timeout)
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
class AsyncPinelabsApi:
|
|
331
|
+
"""
|
|
332
|
+
Use this class to access the different functions within the SDK. You can instantiate any number of clients with different configuration that will propagate to these functions.
|
|
333
|
+
|
|
334
|
+
Parameters
|
|
335
|
+
----------
|
|
336
|
+
base_url : typing.Optional[str]
|
|
337
|
+
The base url to use for requests from the client.
|
|
338
|
+
|
|
339
|
+
environment : PinelabsApiEnvironment
|
|
340
|
+
The environment to use for requests from the client. from .environment import PinelabsApiEnvironment
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
Defaults to PinelabsApiEnvironment.PRODUCTION
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
request_timestamp : typing.Optional[dt.datetime]
|
|
349
|
+
request_id : typing.Optional[str]
|
|
350
|
+
token : typing.Union[str, typing.Callable[[], str]]
|
|
351
|
+
headers : typing.Optional[typing.Dict[str, str]]
|
|
352
|
+
Additional headers to send with every request.
|
|
353
|
+
|
|
354
|
+
async_token : typing.Optional[typing.Callable[[], typing.Awaitable[str]]]
|
|
355
|
+
An async callable that returns a bearer token. Use this when token acquisition involves async I/O (e.g., refreshing tokens via an async HTTP client). When provided, this is used instead of the synchronous token for async requests.
|
|
356
|
+
|
|
357
|
+
timeout : typing.Optional[float]
|
|
358
|
+
The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced.
|
|
359
|
+
|
|
360
|
+
follow_redirects : typing.Optional[bool]
|
|
361
|
+
Whether the default httpx client follows redirects or not, this is irrelevant if a custom httpx client is passed in.
|
|
362
|
+
|
|
363
|
+
httpx_client : typing.Optional[httpx.AsyncClient]
|
|
364
|
+
The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.
|
|
365
|
+
|
|
366
|
+
logging : typing.Optional[typing.Union[LogConfig, Logger]]
|
|
367
|
+
Configure logging for the SDK. Accepts a LogConfig dict with 'level' (debug/info/warn/error), 'logger' (custom logger implementation), and 'silent' (boolean, defaults to True) fields. You can also pass a pre-configured Logger instance.
|
|
368
|
+
|
|
369
|
+
Examples
|
|
370
|
+
--------
|
|
371
|
+
from pinelabs import AsyncPinelabsApi
|
|
372
|
+
|
|
373
|
+
client = AsyncPinelabsApi(
|
|
374
|
+
request_timestamp="YOUR_REQUEST_TIMESTAMP",
|
|
375
|
+
request_id="YOUR_REQUEST_ID",
|
|
376
|
+
token="YOUR_TOKEN",
|
|
377
|
+
)
|
|
378
|
+
"""
|
|
379
|
+
|
|
380
|
+
def __init__(
|
|
381
|
+
self,
|
|
382
|
+
*,
|
|
383
|
+
base_url: typing.Optional[str] = None,
|
|
384
|
+
environment: PinelabsApiEnvironment = PinelabsApiEnvironment.PRODUCTION,
|
|
385
|
+
request_timestamp: typing.Optional[dt.datetime] = None,
|
|
386
|
+
request_id: typing.Optional[str] = None,
|
|
387
|
+
token: typing.Union[str, typing.Callable[[], str]],
|
|
388
|
+
headers: typing.Optional[typing.Dict[str, str]] = None,
|
|
389
|
+
async_token: typing.Optional[typing.Callable[[], typing.Awaitable[str]]] = None,
|
|
390
|
+
timeout: typing.Optional[float] = None,
|
|
391
|
+
follow_redirects: typing.Optional[bool] = True,
|
|
392
|
+
httpx_client: typing.Optional[httpx.AsyncClient] = None,
|
|
393
|
+
logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
|
|
394
|
+
):
|
|
395
|
+
_defaulted_timeout = (
|
|
396
|
+
timeout if timeout is not None else 60 if httpx_client is None else httpx_client.timeout.read
|
|
397
|
+
)
|
|
398
|
+
self._client_wrapper = AsyncClientWrapper(
|
|
399
|
+
base_url=_get_base_url(base_url=base_url, environment=environment),
|
|
400
|
+
request_timestamp=request_timestamp,
|
|
401
|
+
request_id=request_id,
|
|
402
|
+
token=token,
|
|
403
|
+
headers=headers,
|
|
404
|
+
async_token=async_token,
|
|
405
|
+
httpx_client=httpx_client
|
|
406
|
+
if httpx_client is not None
|
|
407
|
+
else _make_default_async_client(timeout=_defaulted_timeout, follow_redirects=follow_redirects),
|
|
408
|
+
timeout=_defaulted_timeout,
|
|
409
|
+
logging=logging,
|
|
410
|
+
)
|
|
411
|
+
self._authentication: typing.Optional[AsyncAuthenticationClient] = None
|
|
412
|
+
self._orders: typing.Optional[AsyncOrdersClient] = None
|
|
413
|
+
self._refunds: typing.Optional[AsyncRefundsClient] = None
|
|
414
|
+
self._settlements: typing.Optional[AsyncSettlementsClient] = None
|
|
415
|
+
self._split_settlements: typing.Optional[AsyncSplitSettlementsClient] = None
|
|
416
|
+
self._affordability_suite: typing.Optional[AsyncAffordabilitySuiteClient] = None
|
|
417
|
+
self._card_payments: typing.Optional[AsyncCardPaymentsClient] = None
|
|
418
|
+
self._pay_by_points: typing.Optional[AsyncPayByPointsClient] = None
|
|
419
|
+
self._e_challans: typing.Optional[AsyncEChallansClient] = None
|
|
420
|
+
self._apple_pay: typing.Optional[AsyncApplePayClient] = None
|
|
421
|
+
self._international_payments: typing.Optional[AsyncInternationalPaymentsClient] = None
|
|
422
|
+
self._bnpl: typing.Optional[AsyncBnplClient] = None
|
|
423
|
+
self._convenience_fee: typing.Optional[AsyncConvenienceFeeClient] = None
|
|
424
|
+
self._checkout: typing.Optional[AsyncCheckoutClient] = None
|
|
425
|
+
self._payment_links: typing.Optional[AsyncPaymentLinksClient] = None
|
|
426
|
+
self._customers: typing.Optional[AsyncCustomersClient] = None
|
|
427
|
+
self._tokenization: typing.Optional[AsyncTokenizationClient] = None
|
|
428
|
+
self._payouts: typing.Optional[AsyncPayoutsClient] = None
|
|
429
|
+
self._subscriptions_plans: typing.Optional[AsyncSubscriptionsPlansClient] = None
|
|
430
|
+
self._subscriptions_subscriptions: typing.Optional[AsyncSubscriptionsSubscriptionsClient] = None
|
|
431
|
+
self._subscriptions_presentations: typing.Optional[AsyncSubscriptionsPresentationsClient] = None
|
|
432
|
+
|
|
433
|
+
@property
|
|
434
|
+
def authentication(self):
|
|
435
|
+
if self._authentication is None:
|
|
436
|
+
from .authentication.client import AsyncAuthenticationClient # noqa: E402
|
|
437
|
+
|
|
438
|
+
self._authentication = AsyncAuthenticationClient(client_wrapper=self._client_wrapper)
|
|
439
|
+
return self._authentication
|
|
440
|
+
|
|
441
|
+
@property
|
|
442
|
+
def orders(self):
|
|
443
|
+
if self._orders is None:
|
|
444
|
+
from .orders.client import AsyncOrdersClient # noqa: E402
|
|
445
|
+
|
|
446
|
+
self._orders = AsyncOrdersClient(client_wrapper=self._client_wrapper)
|
|
447
|
+
return self._orders
|
|
448
|
+
|
|
449
|
+
@property
|
|
450
|
+
def refunds(self):
|
|
451
|
+
if self._refunds is None:
|
|
452
|
+
from .refunds.client import AsyncRefundsClient # noqa: E402
|
|
453
|
+
|
|
454
|
+
self._refunds = AsyncRefundsClient(client_wrapper=self._client_wrapper)
|
|
455
|
+
return self._refunds
|
|
456
|
+
|
|
457
|
+
@property
|
|
458
|
+
def settlements(self):
|
|
459
|
+
if self._settlements is None:
|
|
460
|
+
from .settlements.client import AsyncSettlementsClient # noqa: E402
|
|
461
|
+
|
|
462
|
+
self._settlements = AsyncSettlementsClient(client_wrapper=self._client_wrapper)
|
|
463
|
+
return self._settlements
|
|
464
|
+
|
|
465
|
+
@property
|
|
466
|
+
def split_settlements(self):
|
|
467
|
+
if self._split_settlements is None:
|
|
468
|
+
from .split_settlements.client import AsyncSplitSettlementsClient # noqa: E402
|
|
469
|
+
|
|
470
|
+
self._split_settlements = AsyncSplitSettlementsClient(client_wrapper=self._client_wrapper)
|
|
471
|
+
return self._split_settlements
|
|
472
|
+
|
|
473
|
+
@property
|
|
474
|
+
def affordability_suite(self):
|
|
475
|
+
if self._affordability_suite is None:
|
|
476
|
+
from .affordability_suite.client import AsyncAffordabilitySuiteClient # noqa: E402
|
|
477
|
+
|
|
478
|
+
self._affordability_suite = AsyncAffordabilitySuiteClient(client_wrapper=self._client_wrapper)
|
|
479
|
+
return self._affordability_suite
|
|
480
|
+
|
|
481
|
+
@property
|
|
482
|
+
def card_payments(self):
|
|
483
|
+
if self._card_payments is None:
|
|
484
|
+
from .card_payments.client import AsyncCardPaymentsClient # noqa: E402
|
|
485
|
+
|
|
486
|
+
self._card_payments = AsyncCardPaymentsClient(client_wrapper=self._client_wrapper)
|
|
487
|
+
return self._card_payments
|
|
488
|
+
|
|
489
|
+
@property
|
|
490
|
+
def pay_by_points(self):
|
|
491
|
+
if self._pay_by_points is None:
|
|
492
|
+
from .pay_by_points.client import AsyncPayByPointsClient # noqa: E402
|
|
493
|
+
|
|
494
|
+
self._pay_by_points = AsyncPayByPointsClient(client_wrapper=self._client_wrapper)
|
|
495
|
+
return self._pay_by_points
|
|
496
|
+
|
|
497
|
+
@property
|
|
498
|
+
def e_challans(self):
|
|
499
|
+
if self._e_challans is None:
|
|
500
|
+
from .e_challans.client import AsyncEChallansClient # noqa: E402
|
|
501
|
+
|
|
502
|
+
self._e_challans = AsyncEChallansClient(client_wrapper=self._client_wrapper)
|
|
503
|
+
return self._e_challans
|
|
504
|
+
|
|
505
|
+
@property
|
|
506
|
+
def apple_pay(self):
|
|
507
|
+
if self._apple_pay is None:
|
|
508
|
+
from .apple_pay.client import AsyncApplePayClient # noqa: E402
|
|
509
|
+
|
|
510
|
+
self._apple_pay = AsyncApplePayClient(client_wrapper=self._client_wrapper)
|
|
511
|
+
return self._apple_pay
|
|
512
|
+
|
|
513
|
+
@property
|
|
514
|
+
def international_payments(self):
|
|
515
|
+
if self._international_payments is None:
|
|
516
|
+
from .international_payments.client import AsyncInternationalPaymentsClient # noqa: E402
|
|
517
|
+
|
|
518
|
+
self._international_payments = AsyncInternationalPaymentsClient(client_wrapper=self._client_wrapper)
|
|
519
|
+
return self._international_payments
|
|
520
|
+
|
|
521
|
+
@property
|
|
522
|
+
def bnpl(self):
|
|
523
|
+
if self._bnpl is None:
|
|
524
|
+
from .bnpl.client import AsyncBnplClient # noqa: E402
|
|
525
|
+
|
|
526
|
+
self._bnpl = AsyncBnplClient(client_wrapper=self._client_wrapper)
|
|
527
|
+
return self._bnpl
|
|
528
|
+
|
|
529
|
+
@property
|
|
530
|
+
def convenience_fee(self):
|
|
531
|
+
if self._convenience_fee is None:
|
|
532
|
+
from .convenience_fee.client import AsyncConvenienceFeeClient # noqa: E402
|
|
533
|
+
|
|
534
|
+
self._convenience_fee = AsyncConvenienceFeeClient(client_wrapper=self._client_wrapper)
|
|
535
|
+
return self._convenience_fee
|
|
536
|
+
|
|
537
|
+
@property
|
|
538
|
+
def checkout(self):
|
|
539
|
+
if self._checkout is None:
|
|
540
|
+
from .checkout.client import AsyncCheckoutClient # noqa: E402
|
|
541
|
+
|
|
542
|
+
self._checkout = AsyncCheckoutClient(client_wrapper=self._client_wrapper)
|
|
543
|
+
return self._checkout
|
|
544
|
+
|
|
545
|
+
@property
|
|
546
|
+
def payment_links(self):
|
|
547
|
+
if self._payment_links is None:
|
|
548
|
+
from .payment_links.client import AsyncPaymentLinksClient # noqa: E402
|
|
549
|
+
|
|
550
|
+
self._payment_links = AsyncPaymentLinksClient(client_wrapper=self._client_wrapper)
|
|
551
|
+
return self._payment_links
|
|
552
|
+
|
|
553
|
+
@property
|
|
554
|
+
def customers(self):
|
|
555
|
+
if self._customers is None:
|
|
556
|
+
from .customers.client import AsyncCustomersClient # noqa: E402
|
|
557
|
+
|
|
558
|
+
self._customers = AsyncCustomersClient(client_wrapper=self._client_wrapper)
|
|
559
|
+
return self._customers
|
|
560
|
+
|
|
561
|
+
@property
|
|
562
|
+
def tokenization(self):
|
|
563
|
+
if self._tokenization is None:
|
|
564
|
+
from .tokenization.client import AsyncTokenizationClient # noqa: E402
|
|
565
|
+
|
|
566
|
+
self._tokenization = AsyncTokenizationClient(client_wrapper=self._client_wrapper)
|
|
567
|
+
return self._tokenization
|
|
568
|
+
|
|
569
|
+
@property
|
|
570
|
+
def payouts(self):
|
|
571
|
+
if self._payouts is None:
|
|
572
|
+
from .payouts.client import AsyncPayoutsClient # noqa: E402
|
|
573
|
+
|
|
574
|
+
self._payouts = AsyncPayoutsClient(client_wrapper=self._client_wrapper)
|
|
575
|
+
return self._payouts
|
|
576
|
+
|
|
577
|
+
@property
|
|
578
|
+
def subscriptions_plans(self):
|
|
579
|
+
if self._subscriptions_plans is None:
|
|
580
|
+
from .subscriptions_plans.client import AsyncSubscriptionsPlansClient # noqa: E402
|
|
581
|
+
|
|
582
|
+
self._subscriptions_plans = AsyncSubscriptionsPlansClient(client_wrapper=self._client_wrapper)
|
|
583
|
+
return self._subscriptions_plans
|
|
584
|
+
|
|
585
|
+
@property
|
|
586
|
+
def subscriptions_subscriptions(self):
|
|
587
|
+
if self._subscriptions_subscriptions is None:
|
|
588
|
+
from .subscriptions_subscriptions.client import AsyncSubscriptionsSubscriptionsClient # noqa: E402
|
|
589
|
+
|
|
590
|
+
self._subscriptions_subscriptions = AsyncSubscriptionsSubscriptionsClient(
|
|
591
|
+
client_wrapper=self._client_wrapper
|
|
592
|
+
)
|
|
593
|
+
return self._subscriptions_subscriptions
|
|
594
|
+
|
|
595
|
+
@property
|
|
596
|
+
def subscriptions_presentations(self):
|
|
597
|
+
if self._subscriptions_presentations is None:
|
|
598
|
+
from .subscriptions_presentations.client import AsyncSubscriptionsPresentationsClient # noqa: E402
|
|
599
|
+
|
|
600
|
+
self._subscriptions_presentations = AsyncSubscriptionsPresentationsClient(
|
|
601
|
+
client_wrapper=self._client_wrapper
|
|
602
|
+
)
|
|
603
|
+
return self._subscriptions_presentations
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: PinelabsApiEnvironment) -> str:
|
|
607
|
+
if base_url is not None:
|
|
608
|
+
return base_url
|
|
609
|
+
elif environment is not None:
|
|
610
|
+
return environment.value
|
|
611
|
+
else:
|
|
612
|
+
raise Exception("Please pass in either base_url or environment to construct the client")
|