pinelabs-python 0.1.0__tar.gz → 0.1.1__tar.gz
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_python-0.1.1/PKG-INFO +333 -0
- pinelabs_python-0.1.1/README.md +302 -0
- pinelabs_python-0.1.1/pinelabs/reference.md +7493 -0
- pinelabs_python-0.1.1/pinelabs/tests/conftest.py +21 -0
- pinelabs_python-0.1.1/pinelabs/tests/test_aiohttp_autodetect.py +113 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pyproject.toml +1 -1
- pinelabs_python-0.1.0/.gitignore +0 -46
- pinelabs_python-0.1.0/LICENSE +0 -21
- pinelabs_python-0.1.0/PKG-INFO +0 -213
- pinelabs_python-0.1.0/README.md +0 -181
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/_default_clients.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/downpayment_details_request_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/imei_validation_request_request_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option_cardless_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_cart_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_customer_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details_downpayment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_issuer_issuer_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_order_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_payment_options.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_token_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_product_details_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_customer_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_auth_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_cart_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_min_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_downpayment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_interest_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_min_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_min_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_interest_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_loan_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_monthly_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_net_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_split_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_coupon_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_subvention_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_order_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_token_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/affordability_suite/types/offer_validation_request_payment_option_cardless_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_card_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_network_name.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/authentication/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/authentication/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/authentication/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/bnpl/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/bnpl/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/bnpl/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/bnpl/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info_operating_system.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/bnpl/types/bnpl_check_eligibility_request_pay_code.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/card_payments/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/card_payments/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/card_payments/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/checkout/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/checkout/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/checkout/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/checkout/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/checkout/types/generate_checkout_link_request_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/checkout/types/generate_checkout_link_request_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/convenience_fee/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/convenience_fee/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/convenience_fee/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/api_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/client_wrapper.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/datetime_utils.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/file.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/force_multipart.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/http_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/http_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/http_sse/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/http_sse/_api.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/http_sse/_decoders.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/http_sse/_exceptions.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/http_sse/_models.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/jsonable_encoder.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/logging.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/parse_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/pydantic_utilities.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/query_encoder.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/remove_none_from_dict.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/request_options.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/core/serialization.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/customers/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/customers/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/customers/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/customers/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/customers/types/update_customer_request_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_additional_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_applicable_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_maximum_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_tax_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/environment.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/bad_request_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/conflict_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/forbidden_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/internal_server_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/method_not_allowed_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/not_found_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/service_unavailable_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/unauthorized_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/errors/unprocessable_entity_error.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/international_payments/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/international_payments/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/international_payments/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/orders/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/orders/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/orders/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/orders/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/orders/types/create_order_request_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/orders/types/create_order_request_purchase_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/types/check_point_balance_request_order_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/types/check_point_balance_request_order_details_order_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/types/check_point_balance_request_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/pay_by_points/types/check_point_balance_request_payment_option_points_card_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payment_links/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payment_links/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payment_links/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payment_links/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payment_links/types/create_payment_link_request_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payouts/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payouts/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payouts/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payouts/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payouts/types/create_payout_request_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payouts/types/list_payouts_request_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/payouts/types/list_payouts_request_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/types/create_refund_request_order_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/types/create_refund_request_products_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/types/create_refund_request_split_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/types/create_refund_request_split_info_split_details_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/refunds/types/create_refund_request_split_info_split_details_item_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/settlements/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/settlements/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/settlements/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/split_settlements/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/split_settlements/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/split_settlements/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/split_settlements/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/split_settlements/types/release_settlement_request_release_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_plans/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_plans/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_plans/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_plans/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_plans/types/create_plan_request_frequency.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_plans/types/list_plans_request_amount_range.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_presentations/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_presentations/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_presentations/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_subscriptions/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_subscriptions/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_subscriptions/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_subscriptions/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_subscriptions/types/create_subscription_request_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_subscriptions/types/create_subscription_request_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/subscriptions_subscriptions/types/list_subscriptions_request_amount_range.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/tokenization/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/tokenization/client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/tokenization/raw_client.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/tokenization/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/tokenization/types/generate_card_token_request_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/tokenization/types/get_service_provider_token_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/__init__.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/acquirer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/address.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/address_address_category.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_order_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_acquirer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_card_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_token_txn_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_payments_item_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_purchase_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_purchase_details_customer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/authorize_payment_response_data_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/bank_account.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/bnpl_check_eligibility_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/bnpl_check_eligibility_response_metadata.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/bnpl_check_eligibility_response_metadata_installments_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/bnpl_resend_otp_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/bnpl_resend_otp_response_meta_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/bnpl_submit_otp_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/calculate_convenience_fee_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/calculate_convenience_fee_response_data_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/calculate_convenience_fee_response_data_item_convenience_fee_breakdown.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/calculate_convenience_fee_response_data_item_payment_method_metadata.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/capture_data_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_data_card_category.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_data_card_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_data_token_txn_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_detail_lookup_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_detail_lookup_item_payment_reference_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_payment_detail_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/card_token_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/cart_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/cart_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/challan_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/check_point_balance_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/check_point_balance_response_balance.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/check_point_balance_response_redeemable_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/checkout_customer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/checkout_product.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/checkout_purchase_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_bulk_payout_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_bulk_payout_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_debit_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_debit_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_payout_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_payout_response_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_payout_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_presentation_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_presentation_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_subscription_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_subscription_response_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_subscription_response_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_subscription_response_payment_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/create_subscription_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/cryptogram_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/currency_conversion_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/customer_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/customer_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/customer_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/customer_token_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/customer_token_detail_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/customer_tokens_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/delete_customer_token_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/delete_token_by_token_id_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/downpayment_details_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/downpayment_details_response_downpayment_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/downpayment_details_response_downpayment_details_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/downpayment_details_response_downpayment_details_amount_range.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/error_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/error_response_additional_error_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/generate_checkout_link_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/generate_token_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/get_account_balance_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/get_card_details_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/get_payouts_payment_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/get_payouts_payment_item_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/get_payouts_payment_item_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/get_payouts_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/imei_product.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/imei_validation_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/imei_validation_response_products_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/imei_validation_response_products_item_product_brand_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/imei_validation_response_products_item_product_imei_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/issuer_offer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/issuer_offer_issuer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/issuer_offer_issuer_data_auth_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/issuer_offer_issuer_data_penny_transaction_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/issuer_offer_issuer_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/list_plans_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/list_presentations_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/list_settlements_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/list_subscriptions_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/merchant_metadata.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/net_banking_data_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/net_banking_data_response_txn_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/offer_discovery_error_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/offer_discovery_error_response_additional_error_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/offer_discovery_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/offer_validation_error_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/offer_validation_error_response_additional_error_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/offer_validation_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/order_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/order_response_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/order_response_data_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/order_response_data_purchase_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/order_response_data_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/order_response_data_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/otp_generate_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/otp_generate_response_meta_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/otp_generate_response_next_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/page_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/pagination_links.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/pagination_links_first.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/pagination_links_last.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/pagination_links_next.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/pagination_links_self.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/pagination_meta.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_item_error_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_item_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_item_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_item_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_account_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_address.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_bank_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_cart_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_cart_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_customer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_product_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_response_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_split_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_split_detail_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_link_split_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_object.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_object_acquirer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_object_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_object_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_object_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_device_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_device_info_operating_system.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_auth_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_cart_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_min_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_downpayment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_interest_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_min_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_intrest_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_loan_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_monthly_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_net_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_split_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_coupon_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_option_bnpl_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_option_bnpl_details_bnpl_pay_code.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_option_card_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_option_card_token_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_option_cardless_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payment_request_item_payment_option_points_card_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payout_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payout_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payout_detail_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payout_detail_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/payout_link.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/plan_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/plan_response_frequency.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/plan_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/presentation_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/presentation_detail_pdn_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/presentation_detail_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/product_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data_order_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data_purchase_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data_purchase_details_customer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data_purchase_details_split_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/refund_response_data_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/resend_otp_error_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/service_provider_token_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/service_provider_token_response_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/service_provider_tokens_list_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/settlement_by_utr_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/settlement_by_utr_response_pagination.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/settlement_summary.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/settlement_transaction.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/simple_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_detail_refund.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_detail_refund_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_detail_refund_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_detail_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_acquirer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_additional_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_capture_data_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_capture_data_item_capture_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_payment_method.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_payment_option_card_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_payment_option_card_data_card_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_payment_option_card_data_token_txn_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_payment_object_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_detail_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_detail_release_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_detail_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_order_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_purchase_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_purchase_details_customer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_purchase_details_split_info.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/split_settlement_response_data_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/submit_otp_error_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/submit_otp_error_response_meta_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_detail.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_detail_allowed_payment_methods_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_detail_integration_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_detail_payment_mode.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_detail_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_notification_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_notification_response_pdn_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/subscription_notification_response_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_auth_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_cart_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown_additional_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown_applicable_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown_maximum_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown_subvented_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_convenience_fee_breakdown_tax_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_after_downpayment_reduced_product_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_cart_coupon_discount_product_share.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_breakup_merchant.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_breakup_merchant_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_discount_deferred_duration_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_discount_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_discount_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_downpayment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_interest_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_product_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_product_coupon_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_product_offer_parameters_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_min_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_offer_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_details_item_subvention_subvention_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_brand.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_brand_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_dealer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_dealer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_issuer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_issuer_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_merchant.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_breakup_merchant_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_discount_deferred_duration_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_discount_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_discount_max_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_downpayment_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_downpayment_details_downpayment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_emi_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_interest_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_issuer_offer_parameters_item.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_loan_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_monthly_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_net_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_processing_fee_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_processing_fee_details.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_processing_fee_details_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_split_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_tenure_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_total_coupon_discount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_total_discount_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_total_down_payment_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_total_emi_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/tenure_total_subvention_amount.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/token_card_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/token_card_data_card_type.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/token_payment.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/token_payment_acquirer_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/token_payment_option.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/token_status.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/token_transactional_data.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/upi_details_response.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/upi_details_response_payer.py +0 -0
- {pinelabs_python-0.1.0 → pinelabs_python-0.1.1}/pinelabs/types/upi_details_response_txn_mode.py +0 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pinelabs-python
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Official Pine Labs Online (Plural) Payment Gateway Python SDK.
|
|
5
|
+
Project-URL: Homepage, https://github.com/plural-pinelabs/pinelabs-python
|
|
6
|
+
Project-URL: Repository, https://github.com/plural-pinelabs/pinelabs-python
|
|
7
|
+
Project-URL: Documentation, https://docs.pluralonline.com
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/plural-pinelabs/pinelabs-python/issues
|
|
9
|
+
Author: Pine Labs
|
|
10
|
+
License: MIT
|
|
11
|
+
Keywords: api,payments,pinelabs,plural,sdk
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
+
Classifier: Typing :: Typed
|
|
25
|
+
Requires-Python: >=3.8
|
|
26
|
+
Requires-Dist: httpx>=0.21.2
|
|
27
|
+
Requires-Dist: pydantic-core<3.0.0,>=2.18.2
|
|
28
|
+
Requires-Dist: pydantic>=1.9.2
|
|
29
|
+
Requires-Dist: typing-extensions>=4.0.0
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
# pinelabs-python
|
|
33
|
+
|
|
34
|
+
[](https://pypi.org/project/pinelabs-python/)
|
|
35
|
+
[](https://pypi.org/project/pinelabs-python/)
|
|
36
|
+
[](#license)
|
|
37
|
+
|
|
38
|
+
Official Python SDK for the **Pine Labs Online Payment Gateway** (Plural).
|
|
39
|
+
|
|
40
|
+
## Install
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install pinelabs-python
|
|
44
|
+
# or
|
|
45
|
+
poetry add pinelabs-python
|
|
46
|
+
# or
|
|
47
|
+
uv add pinelabs-python
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Requires **Python ≥ 3.8**.
|
|
51
|
+
|
|
52
|
+
## Quickstart
|
|
53
|
+
|
|
54
|
+
The Pine Labs API uses **OAuth2 client_credentials**. Exchange your `<client-id>` / `<client-secret>` for an access token, then pass it to `PinelabsApi`.
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from pinelabs import Amount, PinelabsApi
|
|
58
|
+
|
|
59
|
+
# 1. Get a token. The /token endpoint does not require authentication, so we
|
|
60
|
+
# pass token="" on this bootstrap client.
|
|
61
|
+
auth = PinelabsApi(
|
|
62
|
+
base_url="https://pluraluat.v2.pinepg.in", # or "https://api.pluralpay.in" for prod
|
|
63
|
+
token="",
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
token_response = auth.authentication.generate_token(
|
|
67
|
+
grant_type="client_credentials",
|
|
68
|
+
client_id="<client-id>",
|
|
69
|
+
client_secret="<client-secret>",
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
# 2. Build an authenticated client
|
|
73
|
+
client = PinelabsApi(
|
|
74
|
+
base_url="https://pluraluat.v2.pinepg.in",
|
|
75
|
+
token=token_response.access_token,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
# 3. Call any operation
|
|
79
|
+
order = client.orders.create_order(
|
|
80
|
+
merchant_order_reference="order-001",
|
|
81
|
+
order_amount=Amount(value=50000, currency="INR"), # ₹500.00
|
|
82
|
+
# ...see API reference for the full schema
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
print(order)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
For long-running processes, refresh the token before it expires using a token-supplier callable (see [Auto-refreshing token](#auto-refreshing-token) below).
|
|
89
|
+
|
|
90
|
+
## Environments
|
|
91
|
+
|
|
92
|
+
| Environment | Base URL |
|
|
93
|
+
| ----------- | ----------------------------------- |
|
|
94
|
+
| UAT | `https://pluraluat.v2.pinepg.in` |
|
|
95
|
+
| Production | `https://api.pluralpay.in` |
|
|
96
|
+
|
|
97
|
+
Pass the URL via `base_url`. The `PinelabsApiEnvironment` enum currently exposes only `PRODUCTION`; for UAT, set `base_url` explicitly.
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
from pinelabs import PinelabsApi
|
|
101
|
+
from pinelabs.environment import PinelabsApiEnvironment
|
|
102
|
+
|
|
103
|
+
client = PinelabsApi(
|
|
104
|
+
token="<access-token>",
|
|
105
|
+
environment=PinelabsApiEnvironment.PRODUCTION,
|
|
106
|
+
)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Auto-refreshing token
|
|
110
|
+
|
|
111
|
+
Pass a `token` callable instead of a string. The SDK invokes it on every request. Because the bootstrap `auth` client below does **not** use the supplier, there is no re-entrancy concern.
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
import time
|
|
115
|
+
import threading
|
|
116
|
+
from typing import Optional
|
|
117
|
+
from pinelabs import PinelabsApi
|
|
118
|
+
|
|
119
|
+
base_url = "https://pluraluat.v2.pinepg.in"
|
|
120
|
+
|
|
121
|
+
# Bootstrap client used only to fetch tokens. It has no supplier, so calling
|
|
122
|
+
# generate_token() from inside get_token() will not recurse.
|
|
123
|
+
auth = PinelabsApi(base_url=base_url, token="")
|
|
124
|
+
|
|
125
|
+
_cached: Optional[dict] = None
|
|
126
|
+
_lock = threading.Lock()
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def get_token() -> str:
|
|
130
|
+
global _cached
|
|
131
|
+
with _lock:
|
|
132
|
+
if _cached and time.time() < _cached["expires_at"] - 30:
|
|
133
|
+
return _cached["value"]
|
|
134
|
+
r = auth.authentication.generate_token(
|
|
135
|
+
grant_type="client_credentials",
|
|
136
|
+
client_id="<client-id>",
|
|
137
|
+
client_secret="<client-secret>",
|
|
138
|
+
)
|
|
139
|
+
_cached = {
|
|
140
|
+
"value": r.access_token,
|
|
141
|
+
"expires_at": time.time() + r.expires_in,
|
|
142
|
+
}
|
|
143
|
+
return _cached["value"]
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
client = PinelabsApi(base_url=base_url, token=get_token)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Async client
|
|
150
|
+
|
|
151
|
+
The SDK also exports an `async` client for non-blocking calls. If you pass a custom `httpx_client`, use `httpx.AsyncClient()` instead of `httpx.Client()`.
|
|
152
|
+
|
|
153
|
+
```python
|
|
154
|
+
import asyncio
|
|
155
|
+
from pinelabs import Amount, AsyncPinelabsApi
|
|
156
|
+
|
|
157
|
+
client = AsyncPinelabsApi(token="<access-token>")
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
async def main() -> None:
|
|
161
|
+
order = await client.orders.create_order(
|
|
162
|
+
merchant_order_reference="order-001",
|
|
163
|
+
order_amount=Amount(value=50000, currency="INR"),
|
|
164
|
+
)
|
|
165
|
+
print(order)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
asyncio.run(main())
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Sub-clients
|
|
172
|
+
|
|
173
|
+
`PinelabsApi` exposes one sub-client per API tag:
|
|
174
|
+
|
|
175
|
+
| Sub-client | Purpose |
|
|
176
|
+
| --------------------------------------- | -------------------------------------------------- |
|
|
177
|
+
| `client.authentication` | OAuth token generation |
|
|
178
|
+
| `client.orders` | Create / capture / cancel / fetch orders |
|
|
179
|
+
| `client.refunds` | Create and look up refunds |
|
|
180
|
+
| `client.settlements` | Settlement reports + UTR lookup |
|
|
181
|
+
| `client.checkout` | Hosted-checkout related operations |
|
|
182
|
+
| `client.payment_links` | Single + bulk payment links |
|
|
183
|
+
| `client.card_payments` | Direct card payment + OTP |
|
|
184
|
+
| `client.bnpl` | Buy-Now-Pay-Later flows |
|
|
185
|
+
| `client.convenience_fee` | Convenience-fee config + computation |
|
|
186
|
+
| `client.e_challans` | Government e-challan integration |
|
|
187
|
+
| `client.apple_pay` | Apple Pay session + decryption |
|
|
188
|
+
| `client.international_payments` | Cross-border payments |
|
|
189
|
+
| `client.customers` | Customer profile management |
|
|
190
|
+
| `client.tokenization` | Card / network tokenization |
|
|
191
|
+
| `client.payouts` | Payouts: balance, create, cancel, list |
|
|
192
|
+
| `client.subscriptions_plans` | Recurring-billing plans |
|
|
193
|
+
| `client.subscriptions_subscriptions` | Subscription lifecycle |
|
|
194
|
+
| `client.subscriptions_presentations` | Subscription debit presentations |
|
|
195
|
+
| `client.pay_by_points` | Loyalty / points-based payments |
|
|
196
|
+
| `client.affordability_suite` | EMI / offer eligibility |
|
|
197
|
+
| `client.split_settlements` | Split settlements between sub-merchants |
|
|
198
|
+
|
|
199
|
+
For the full operation list, see the [API reference](https://docs.pluralonline.com/api-reference).
|
|
200
|
+
|
|
201
|
+
## Recipes
|
|
202
|
+
|
|
203
|
+
### Create a payment link
|
|
204
|
+
|
|
205
|
+
```python
|
|
206
|
+
from pinelabs import Amount, PinelabsApi
|
|
207
|
+
|
|
208
|
+
client = PinelabsApi(token="<access-token>")
|
|
209
|
+
|
|
210
|
+
link = client.payment_links.create_payment_link(
|
|
211
|
+
merchant_payment_link_reference="link-001",
|
|
212
|
+
amount=Amount(value=50000, currency="INR"),
|
|
213
|
+
description="Order #001",
|
|
214
|
+
)
|
|
215
|
+
print(link)
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Fetch an order
|
|
219
|
+
|
|
220
|
+
```python
|
|
221
|
+
order = client.orders.get_order_by_id(order_id="v1-241010055924-aa-AHbN0s")
|
|
222
|
+
print(order)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Refund an order
|
|
226
|
+
|
|
227
|
+
```python
|
|
228
|
+
from pinelabs.refunds import CreateRefundRequestOrderAmount
|
|
229
|
+
|
|
230
|
+
refund = client.refunds.create_refund(
|
|
231
|
+
order_id="v1-241010055924-aa-AHbN0s",
|
|
232
|
+
merchant_order_reference="refund-001",
|
|
233
|
+
order_amount=CreateRefundRequestOrderAmount(value=400, currency="INR"),
|
|
234
|
+
)
|
|
235
|
+
print(refund)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Error handling
|
|
239
|
+
|
|
240
|
+
All HTTP errors derive from `pinelabs.core.api_error.ApiError`. The SDK also exposes typed subclasses per status code:
|
|
241
|
+
|
|
242
|
+
```python
|
|
243
|
+
from pinelabs import PinelabsApi
|
|
244
|
+
from pinelabs.core.api_error import ApiError
|
|
245
|
+
from pinelabs.errors import (
|
|
246
|
+
BadRequestError,
|
|
247
|
+
UnauthorizedError,
|
|
248
|
+
ForbiddenError,
|
|
249
|
+
NotFoundError,
|
|
250
|
+
ConflictError,
|
|
251
|
+
UnprocessableEntityError,
|
|
252
|
+
InternalServerError,
|
|
253
|
+
ServiceUnavailableError,
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
client = PinelabsApi(token="<access-token>")
|
|
257
|
+
|
|
258
|
+
try:
|
|
259
|
+
client.orders.get_order_by_id(order_id="missing")
|
|
260
|
+
except NotFoundError as e:
|
|
261
|
+
print("order does not exist:", e.body)
|
|
262
|
+
except UnauthorizedError:
|
|
263
|
+
print("token expired or invalid")
|
|
264
|
+
except ApiError as e:
|
|
265
|
+
print("HTTP", e.status_code, e.body)
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Per-request options
|
|
269
|
+
|
|
270
|
+
Every operation accepts a `request_options` keyword argument:
|
|
271
|
+
|
|
272
|
+
```python
|
|
273
|
+
client.orders.create_order(
|
|
274
|
+
merchant_order_reference="order-001",
|
|
275
|
+
order_amount=Amount(value=50000, currency="INR"),
|
|
276
|
+
request_options={
|
|
277
|
+
"timeout_in_seconds": 30,
|
|
278
|
+
"max_retries": 2,
|
|
279
|
+
"additional_headers": {"x-correlation-id": "abc"},
|
|
280
|
+
},
|
|
281
|
+
)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Retries
|
|
285
|
+
|
|
286
|
+
The SDK retries with exponential backoff (default: **2** retries) on:
|
|
287
|
+
|
|
288
|
+
- `408` (Request Timeout)
|
|
289
|
+
- `429` (Too Many Requests)
|
|
290
|
+
- `5xx` (Server errors)
|
|
291
|
+
|
|
292
|
+
### Timeouts
|
|
293
|
+
|
|
294
|
+
The default timeout is **60 seconds**. Override at the client or per-request level:
|
|
295
|
+
|
|
296
|
+
```python
|
|
297
|
+
client = PinelabsApi(token="<access-token>", timeout=20.0)
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Access raw response data
|
|
301
|
+
|
|
302
|
+
```python
|
|
303
|
+
response = client.authentication.with_raw_response.generate_token(
|
|
304
|
+
grant_type="client_credentials",
|
|
305
|
+
client_id="<client-id>",
|
|
306
|
+
client_secret="<client-secret>",
|
|
307
|
+
)
|
|
308
|
+
print(response.headers)
|
|
309
|
+
print(response.data)
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Custom HTTP client
|
|
313
|
+
|
|
314
|
+
```python
|
|
315
|
+
import httpx
|
|
316
|
+
from pinelabs import PinelabsApi
|
|
317
|
+
|
|
318
|
+
client = PinelabsApi(
|
|
319
|
+
token="<access-token>",
|
|
320
|
+
httpx_client=httpx.Client(
|
|
321
|
+
proxy="http://my.test.proxy.example.com",
|
|
322
|
+
transport=httpx.HTTPTransport(local_address="0.0.0.0"),
|
|
323
|
+
),
|
|
324
|
+
)
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
## Type hints
|
|
328
|
+
|
|
329
|
+
Full type hints (PEP 561) ship with the package. Request/response models live under `pinelabs.types`; resource-specific request models live under each sub-package (e.g. `pinelabs.refunds.CreateRefundRequestOrderAmount`).
|
|
330
|
+
|
|
331
|
+
## License
|
|
332
|
+
|
|
333
|
+
MIT
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# pinelabs-python
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/pinelabs-python/)
|
|
4
|
+
[](https://pypi.org/project/pinelabs-python/)
|
|
5
|
+
[](#license)
|
|
6
|
+
|
|
7
|
+
Official Python SDK for the **Pine Labs Online Payment Gateway** (Plural).
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pip install pinelabs-python
|
|
13
|
+
# or
|
|
14
|
+
poetry add pinelabs-python
|
|
15
|
+
# or
|
|
16
|
+
uv add pinelabs-python
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Requires **Python ≥ 3.8**.
|
|
20
|
+
|
|
21
|
+
## Quickstart
|
|
22
|
+
|
|
23
|
+
The Pine Labs API uses **OAuth2 client_credentials**. Exchange your `<client-id>` / `<client-secret>` for an access token, then pass it to `PinelabsApi`.
|
|
24
|
+
|
|
25
|
+
```python
|
|
26
|
+
from pinelabs import Amount, PinelabsApi
|
|
27
|
+
|
|
28
|
+
# 1. Get a token. The /token endpoint does not require authentication, so we
|
|
29
|
+
# pass token="" on this bootstrap client.
|
|
30
|
+
auth = PinelabsApi(
|
|
31
|
+
base_url="https://pluraluat.v2.pinepg.in", # or "https://api.pluralpay.in" for prod
|
|
32
|
+
token="",
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
token_response = auth.authentication.generate_token(
|
|
36
|
+
grant_type="client_credentials",
|
|
37
|
+
client_id="<client-id>",
|
|
38
|
+
client_secret="<client-secret>",
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# 2. Build an authenticated client
|
|
42
|
+
client = PinelabsApi(
|
|
43
|
+
base_url="https://pluraluat.v2.pinepg.in",
|
|
44
|
+
token=token_response.access_token,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
# 3. Call any operation
|
|
48
|
+
order = client.orders.create_order(
|
|
49
|
+
merchant_order_reference="order-001",
|
|
50
|
+
order_amount=Amount(value=50000, currency="INR"), # ₹500.00
|
|
51
|
+
# ...see API reference for the full schema
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
print(order)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
For long-running processes, refresh the token before it expires using a token-supplier callable (see [Auto-refreshing token](#auto-refreshing-token) below).
|
|
58
|
+
|
|
59
|
+
## Environments
|
|
60
|
+
|
|
61
|
+
| Environment | Base URL |
|
|
62
|
+
| ----------- | ----------------------------------- |
|
|
63
|
+
| UAT | `https://pluraluat.v2.pinepg.in` |
|
|
64
|
+
| Production | `https://api.pluralpay.in` |
|
|
65
|
+
|
|
66
|
+
Pass the URL via `base_url`. The `PinelabsApiEnvironment` enum currently exposes only `PRODUCTION`; for UAT, set `base_url` explicitly.
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
from pinelabs import PinelabsApi
|
|
70
|
+
from pinelabs.environment import PinelabsApiEnvironment
|
|
71
|
+
|
|
72
|
+
client = PinelabsApi(
|
|
73
|
+
token="<access-token>",
|
|
74
|
+
environment=PinelabsApiEnvironment.PRODUCTION,
|
|
75
|
+
)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Auto-refreshing token
|
|
79
|
+
|
|
80
|
+
Pass a `token` callable instead of a string. The SDK invokes it on every request. Because the bootstrap `auth` client below does **not** use the supplier, there is no re-entrancy concern.
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
import time
|
|
84
|
+
import threading
|
|
85
|
+
from typing import Optional
|
|
86
|
+
from pinelabs import PinelabsApi
|
|
87
|
+
|
|
88
|
+
base_url = "https://pluraluat.v2.pinepg.in"
|
|
89
|
+
|
|
90
|
+
# Bootstrap client used only to fetch tokens. It has no supplier, so calling
|
|
91
|
+
# generate_token() from inside get_token() will not recurse.
|
|
92
|
+
auth = PinelabsApi(base_url=base_url, token="")
|
|
93
|
+
|
|
94
|
+
_cached: Optional[dict] = None
|
|
95
|
+
_lock = threading.Lock()
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def get_token() -> str:
|
|
99
|
+
global _cached
|
|
100
|
+
with _lock:
|
|
101
|
+
if _cached and time.time() < _cached["expires_at"] - 30:
|
|
102
|
+
return _cached["value"]
|
|
103
|
+
r = auth.authentication.generate_token(
|
|
104
|
+
grant_type="client_credentials",
|
|
105
|
+
client_id="<client-id>",
|
|
106
|
+
client_secret="<client-secret>",
|
|
107
|
+
)
|
|
108
|
+
_cached = {
|
|
109
|
+
"value": r.access_token,
|
|
110
|
+
"expires_at": time.time() + r.expires_in,
|
|
111
|
+
}
|
|
112
|
+
return _cached["value"]
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
client = PinelabsApi(base_url=base_url, token=get_token)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Async client
|
|
119
|
+
|
|
120
|
+
The SDK also exports an `async` client for non-blocking calls. If you pass a custom `httpx_client`, use `httpx.AsyncClient()` instead of `httpx.Client()`.
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
import asyncio
|
|
124
|
+
from pinelabs import Amount, AsyncPinelabsApi
|
|
125
|
+
|
|
126
|
+
client = AsyncPinelabsApi(token="<access-token>")
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
async def main() -> None:
|
|
130
|
+
order = await client.orders.create_order(
|
|
131
|
+
merchant_order_reference="order-001",
|
|
132
|
+
order_amount=Amount(value=50000, currency="INR"),
|
|
133
|
+
)
|
|
134
|
+
print(order)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
asyncio.run(main())
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Sub-clients
|
|
141
|
+
|
|
142
|
+
`PinelabsApi` exposes one sub-client per API tag:
|
|
143
|
+
|
|
144
|
+
| Sub-client | Purpose |
|
|
145
|
+
| --------------------------------------- | -------------------------------------------------- |
|
|
146
|
+
| `client.authentication` | OAuth token generation |
|
|
147
|
+
| `client.orders` | Create / capture / cancel / fetch orders |
|
|
148
|
+
| `client.refunds` | Create and look up refunds |
|
|
149
|
+
| `client.settlements` | Settlement reports + UTR lookup |
|
|
150
|
+
| `client.checkout` | Hosted-checkout related operations |
|
|
151
|
+
| `client.payment_links` | Single + bulk payment links |
|
|
152
|
+
| `client.card_payments` | Direct card payment + OTP |
|
|
153
|
+
| `client.bnpl` | Buy-Now-Pay-Later flows |
|
|
154
|
+
| `client.convenience_fee` | Convenience-fee config + computation |
|
|
155
|
+
| `client.e_challans` | Government e-challan integration |
|
|
156
|
+
| `client.apple_pay` | Apple Pay session + decryption |
|
|
157
|
+
| `client.international_payments` | Cross-border payments |
|
|
158
|
+
| `client.customers` | Customer profile management |
|
|
159
|
+
| `client.tokenization` | Card / network tokenization |
|
|
160
|
+
| `client.payouts` | Payouts: balance, create, cancel, list |
|
|
161
|
+
| `client.subscriptions_plans` | Recurring-billing plans |
|
|
162
|
+
| `client.subscriptions_subscriptions` | Subscription lifecycle |
|
|
163
|
+
| `client.subscriptions_presentations` | Subscription debit presentations |
|
|
164
|
+
| `client.pay_by_points` | Loyalty / points-based payments |
|
|
165
|
+
| `client.affordability_suite` | EMI / offer eligibility |
|
|
166
|
+
| `client.split_settlements` | Split settlements between sub-merchants |
|
|
167
|
+
|
|
168
|
+
For the full operation list, see the [API reference](https://docs.pluralonline.com/api-reference).
|
|
169
|
+
|
|
170
|
+
## Recipes
|
|
171
|
+
|
|
172
|
+
### Create a payment link
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
from pinelabs import Amount, PinelabsApi
|
|
176
|
+
|
|
177
|
+
client = PinelabsApi(token="<access-token>")
|
|
178
|
+
|
|
179
|
+
link = client.payment_links.create_payment_link(
|
|
180
|
+
merchant_payment_link_reference="link-001",
|
|
181
|
+
amount=Amount(value=50000, currency="INR"),
|
|
182
|
+
description="Order #001",
|
|
183
|
+
)
|
|
184
|
+
print(link)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Fetch an order
|
|
188
|
+
|
|
189
|
+
```python
|
|
190
|
+
order = client.orders.get_order_by_id(order_id="v1-241010055924-aa-AHbN0s")
|
|
191
|
+
print(order)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Refund an order
|
|
195
|
+
|
|
196
|
+
```python
|
|
197
|
+
from pinelabs.refunds import CreateRefundRequestOrderAmount
|
|
198
|
+
|
|
199
|
+
refund = client.refunds.create_refund(
|
|
200
|
+
order_id="v1-241010055924-aa-AHbN0s",
|
|
201
|
+
merchant_order_reference="refund-001",
|
|
202
|
+
order_amount=CreateRefundRequestOrderAmount(value=400, currency="INR"),
|
|
203
|
+
)
|
|
204
|
+
print(refund)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Error handling
|
|
208
|
+
|
|
209
|
+
All HTTP errors derive from `pinelabs.core.api_error.ApiError`. The SDK also exposes typed subclasses per status code:
|
|
210
|
+
|
|
211
|
+
```python
|
|
212
|
+
from pinelabs import PinelabsApi
|
|
213
|
+
from pinelabs.core.api_error import ApiError
|
|
214
|
+
from pinelabs.errors import (
|
|
215
|
+
BadRequestError,
|
|
216
|
+
UnauthorizedError,
|
|
217
|
+
ForbiddenError,
|
|
218
|
+
NotFoundError,
|
|
219
|
+
ConflictError,
|
|
220
|
+
UnprocessableEntityError,
|
|
221
|
+
InternalServerError,
|
|
222
|
+
ServiceUnavailableError,
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
client = PinelabsApi(token="<access-token>")
|
|
226
|
+
|
|
227
|
+
try:
|
|
228
|
+
client.orders.get_order_by_id(order_id="missing")
|
|
229
|
+
except NotFoundError as e:
|
|
230
|
+
print("order does not exist:", e.body)
|
|
231
|
+
except UnauthorizedError:
|
|
232
|
+
print("token expired or invalid")
|
|
233
|
+
except ApiError as e:
|
|
234
|
+
print("HTTP", e.status_code, e.body)
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Per-request options
|
|
238
|
+
|
|
239
|
+
Every operation accepts a `request_options` keyword argument:
|
|
240
|
+
|
|
241
|
+
```python
|
|
242
|
+
client.orders.create_order(
|
|
243
|
+
merchant_order_reference="order-001",
|
|
244
|
+
order_amount=Amount(value=50000, currency="INR"),
|
|
245
|
+
request_options={
|
|
246
|
+
"timeout_in_seconds": 30,
|
|
247
|
+
"max_retries": 2,
|
|
248
|
+
"additional_headers": {"x-correlation-id": "abc"},
|
|
249
|
+
},
|
|
250
|
+
)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Retries
|
|
254
|
+
|
|
255
|
+
The SDK retries with exponential backoff (default: **2** retries) on:
|
|
256
|
+
|
|
257
|
+
- `408` (Request Timeout)
|
|
258
|
+
- `429` (Too Many Requests)
|
|
259
|
+
- `5xx` (Server errors)
|
|
260
|
+
|
|
261
|
+
### Timeouts
|
|
262
|
+
|
|
263
|
+
The default timeout is **60 seconds**. Override at the client or per-request level:
|
|
264
|
+
|
|
265
|
+
```python
|
|
266
|
+
client = PinelabsApi(token="<access-token>", timeout=20.0)
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Access raw response data
|
|
270
|
+
|
|
271
|
+
```python
|
|
272
|
+
response = client.authentication.with_raw_response.generate_token(
|
|
273
|
+
grant_type="client_credentials",
|
|
274
|
+
client_id="<client-id>",
|
|
275
|
+
client_secret="<client-secret>",
|
|
276
|
+
)
|
|
277
|
+
print(response.headers)
|
|
278
|
+
print(response.data)
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Custom HTTP client
|
|
282
|
+
|
|
283
|
+
```python
|
|
284
|
+
import httpx
|
|
285
|
+
from pinelabs import PinelabsApi
|
|
286
|
+
|
|
287
|
+
client = PinelabsApi(
|
|
288
|
+
token="<access-token>",
|
|
289
|
+
httpx_client=httpx.Client(
|
|
290
|
+
proxy="http://my.test.proxy.example.com",
|
|
291
|
+
transport=httpx.HTTPTransport(local_address="0.0.0.0"),
|
|
292
|
+
),
|
|
293
|
+
)
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## Type hints
|
|
297
|
+
|
|
298
|
+
Full type hints (PEP 561) ship with the package. Request/response models live under `pinelabs.types`; resource-specific request models live under each sub-package (e.g. `pinelabs.refunds.CreateRefundRequestOrderAmount`).
|
|
299
|
+
|
|
300
|
+
## License
|
|
301
|
+
|
|
302
|
+
MIT
|