pinelabs-python 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (626) hide show
  1. pinelabs/__init__.py +1679 -0
  2. pinelabs/_default_clients.py +30 -0
  3. pinelabs/affordability_suite/__init__.py +325 -0
  4. pinelabs/affordability_suite/client.py +1007 -0
  5. pinelabs/affordability_suite/raw_client.py +1095 -0
  6. pinelabs/affordability_suite/types/__init__.py +477 -0
  7. pinelabs/affordability_suite/types/downpayment_details_request_issuer.py +26 -0
  8. pinelabs/affordability_suite/types/imei_validation_request_request_type.py +5 -0
  9. pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option.py +29 -0
  10. pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option_cardless_details.py +31 -0
  11. pinelabs/affordability_suite/types/offer_discovery_request_cart_coupon_discount_amount.py +31 -0
  12. pinelabs/affordability_suite/types/offer_discovery_request_customer_details.py +26 -0
  13. pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details.py +31 -0
  14. pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details_downpayment_amount.py +31 -0
  15. pinelabs/affordability_suite/types/offer_discovery_request_issuer.py +42 -0
  16. pinelabs/affordability_suite/types/offer_discovery_request_issuer_issuer_type.py +10 -0
  17. pinelabs/affordability_suite/types/offer_discovery_request_order_amount.py +31 -0
  18. pinelabs/affordability_suite/types/offer_discovery_request_payment_options.py +37 -0
  19. pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_details.py +26 -0
  20. pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_token_details.py +31 -0
  21. pinelabs/affordability_suite/types/offer_discovery_request_product_details_item.py +40 -0
  22. pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_amount.py +31 -0
  23. pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_coupon_discount_amount.py +31 -0
  24. pinelabs/affordability_suite/types/offer_validation_request_customer_details.py +26 -0
  25. pinelabs/affordability_suite/types/offer_validation_request_offer_data.py +27 -0
  26. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details.py +52 -0
  27. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure.py +146 -0
  28. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_auth_amount.py +20 -0
  29. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_cart_coupon_discount_amount.py +20 -0
  30. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown.py +60 -0
  31. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.py +20 -0
  32. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.py +20 -0
  33. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.py +20 -0
  34. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +20 -0
  35. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.py +20 -0
  36. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.py +20 -0
  37. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.py +20 -0
  38. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item.py +119 -0
  39. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.py +22 -0
  40. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.py +20 -0
  41. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount.py +48 -0
  42. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup.py +36 -0
  43. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand.py +24 -0
  44. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.py +20 -0
  45. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.py +24 -0
  46. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.py +20 -0
  47. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.py +24 -0
  48. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.py +20 -0
  49. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.py +24 -0
  50. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.py +20 -0
  51. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_max_amount.py +20 -0
  52. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_min_amount.py +20 -0
  53. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_downpayment_amount.py +20 -0
  54. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_interest_amount.py +20 -0
  55. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_amount.py +31 -0
  56. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.py +24 -0
  57. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.py +32 -0
  58. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention.py +40 -0
  59. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_amount.py +20 -0
  60. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup.py +36 -0
  61. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.py +24 -0
  62. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.py +20 -0
  63. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.py +24 -0
  64. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.py +20 -0
  65. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.py +24 -0
  66. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.py +20 -0
  67. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.py +24 -0
  68. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.py +20 -0
  69. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_max_amount.py +20 -0
  70. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_min_amount.py +20 -0
  71. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount.py +40 -0
  72. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup.py +34 -0
  73. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand.py +22 -0
  74. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand_amount.py +20 -0
  75. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer.py +22 -0
  76. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer_amount.py +20 -0
  77. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer.py +22 -0
  78. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer_amount.py +20 -0
  79. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant.py +22 -0
  80. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant_amount.py +20 -0
  81. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_max_amount.py +20 -0
  82. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_min_amount.py +20 -0
  83. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details.py +28 -0
  84. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.py +20 -0
  85. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_interest_amount.py +20 -0
  86. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_loan_amount.py +20 -0
  87. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_monthly_emi_amount.py +20 -0
  88. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_net_payment_amount.py +20 -0
  89. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_amount.py +20 -0
  90. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details.py +22 -0
  91. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details_amount.py +20 -0
  92. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_split_emi_amount.py +20 -0
  93. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_coupon_discount.py +20 -0
  94. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_discount_amount.py +20 -0
  95. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_emi_amount.py +20 -0
  96. pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_subvention_amount.py +20 -0
  97. pinelabs/affordability_suite/types/offer_validation_request_order_amount.py +31 -0
  98. pinelabs/affordability_suite/types/offer_validation_request_payment_amount.py +31 -0
  99. pinelabs/affordability_suite/types/offer_validation_request_payment_option.py +43 -0
  100. pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_details.py +31 -0
  101. pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_token_details.py +46 -0
  102. pinelabs/affordability_suite/types/offer_validation_request_payment_option_cardless_details.py +31 -0
  103. pinelabs/apple_pay/__init__.py +49 -0
  104. pinelabs/apple_pay/client.py +190 -0
  105. pinelabs/apple_pay/raw_client.py +283 -0
  106. pinelabs/apple_pay/types/__init__.py +53 -0
  107. pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details.py +62 -0
  108. pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data.py +37 -0
  109. pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_card_type.py +7 -0
  110. pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_network_name.py +7 -0
  111. pinelabs/authentication/__init__.py +4 -0
  112. pinelabs/authentication/client.py +155 -0
  113. pinelabs/authentication/raw_client.py +226 -0
  114. pinelabs/bnpl/__init__.py +46 -0
  115. pinelabs/bnpl/client.py +200 -0
  116. pinelabs/bnpl/raw_client.py +273 -0
  117. pinelabs/bnpl/types/__init__.py +46 -0
  118. pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info.py +56 -0
  119. pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info_operating_system.py +7 -0
  120. pinelabs/bnpl/types/bnpl_check_eligibility_request_pay_code.py +5 -0
  121. pinelabs/card_payments/__init__.py +4 -0
  122. pinelabs/card_payments/client.py +547 -0
  123. pinelabs/card_payments/raw_client.py +1085 -0
  124. pinelabs/checkout/__init__.py +37 -0
  125. pinelabs/checkout/client.py +225 -0
  126. pinelabs/checkout/raw_client.py +318 -0
  127. pinelabs/checkout/types/__init__.py +40 -0
  128. pinelabs/checkout/types/generate_checkout_link_request_allowed_payment_methods_item.py +7 -0
  129. pinelabs/checkout/types/generate_checkout_link_request_integration_mode.py +5 -0
  130. pinelabs/client.py +612 -0
  131. pinelabs/convenience_fee/__init__.py +4 -0
  132. pinelabs/convenience_fee/client.py +156 -0
  133. pinelabs/convenience_fee/raw_client.py +247 -0
  134. pinelabs/core/__init__.py +127 -0
  135. pinelabs/core/api_error.py +23 -0
  136. pinelabs/core/client_wrapper.py +132 -0
  137. pinelabs/core/datetime_utils.py +70 -0
  138. pinelabs/core/file.py +67 -0
  139. pinelabs/core/force_multipart.py +18 -0
  140. pinelabs/core/http_client.py +840 -0
  141. pinelabs/core/http_response.py +59 -0
  142. pinelabs/core/http_sse/__init__.py +42 -0
  143. pinelabs/core/http_sse/_api.py +112 -0
  144. pinelabs/core/http_sse/_decoders.py +61 -0
  145. pinelabs/core/http_sse/_exceptions.py +7 -0
  146. pinelabs/core/http_sse/_models.py +17 -0
  147. pinelabs/core/jsonable_encoder.py +120 -0
  148. pinelabs/core/logging.py +107 -0
  149. pinelabs/core/parse_error.py +36 -0
  150. pinelabs/core/pydantic_utilities.py +634 -0
  151. pinelabs/core/query_encoder.py +58 -0
  152. pinelabs/core/remove_none_from_dict.py +11 -0
  153. pinelabs/core/request_options.py +35 -0
  154. pinelabs/core/serialization.py +276 -0
  155. pinelabs/customers/__init__.py +34 -0
  156. pinelabs/customers/client.py +590 -0
  157. pinelabs/customers/raw_client.py +1061 -0
  158. pinelabs/customers/types/__init__.py +34 -0
  159. pinelabs/customers/types/update_customer_request_status.py +5 -0
  160. pinelabs/e_challans/__init__.py +55 -0
  161. pinelabs/e_challans/client.py +323 -0
  162. pinelabs/e_challans/raw_client.py +386 -0
  163. pinelabs/e_challans/types/__init__.py +63 -0
  164. pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown.py +67 -0
  165. pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_additional_fee_amount.py +32 -0
  166. pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_applicable_fee_amount.py +32 -0
  167. pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_fee_amount.py +32 -0
  168. pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_maximum_fee_amount.py +32 -0
  169. pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_tax_amount.py +32 -0
  170. pinelabs/environment.py +7 -0
  171. pinelabs/errors/__init__.py +62 -0
  172. pinelabs/errors/bad_request_error.py +10 -0
  173. pinelabs/errors/conflict_error.py +11 -0
  174. pinelabs/errors/forbidden_error.py +11 -0
  175. pinelabs/errors/internal_server_error.py +11 -0
  176. pinelabs/errors/method_not_allowed_error.py +11 -0
  177. pinelabs/errors/not_found_error.py +11 -0
  178. pinelabs/errors/service_unavailable_error.py +11 -0
  179. pinelabs/errors/unauthorized_error.py +11 -0
  180. pinelabs/errors/unprocessable_entity_error.py +10 -0
  181. pinelabs/international_payments/__init__.py +4 -0
  182. pinelabs/international_payments/client.py +187 -0
  183. pinelabs/international_payments/raw_client.py +201 -0
  184. pinelabs/orders/__init__.py +37 -0
  185. pinelabs/orders/client.py +613 -0
  186. pinelabs/orders/raw_client.py +1132 -0
  187. pinelabs/orders/types/__init__.py +38 -0
  188. pinelabs/orders/types/create_order_request_allowed_payment_methods_item.py +8 -0
  189. pinelabs/orders/types/create_order_request_purchase_details.py +28 -0
  190. pinelabs/pay_by_points/__init__.py +49 -0
  191. pinelabs/pay_by_points/client.py +177 -0
  192. pinelabs/pay_by_points/raw_client.py +246 -0
  193. pinelabs/pay_by_points/types/__init__.py +49 -0
  194. pinelabs/pay_by_points/types/check_point_balance_request_order_details.py +27 -0
  195. pinelabs/pay_by_points/types/check_point_balance_request_order_details_order_amount.py +31 -0
  196. pinelabs/pay_by_points/types/check_point_balance_request_payment_option.py +26 -0
  197. pinelabs/pay_by_points/types/check_point_balance_request_payment_option_points_card_details.py +32 -0
  198. pinelabs/payment_links/__init__.py +34 -0
  199. pinelabs/payment_links/client.py +642 -0
  200. pinelabs/payment_links/raw_client.py +797 -0
  201. pinelabs/payment_links/types/__init__.py +38 -0
  202. pinelabs/payment_links/types/create_payment_link_request_allowed_payment_methods_item.py +7 -0
  203. pinelabs/payouts/__init__.py +38 -0
  204. pinelabs/payouts/client.py +810 -0
  205. pinelabs/payouts/raw_client.py +1427 -0
  206. pinelabs/payouts/types/__init__.py +40 -0
  207. pinelabs/payouts/types/create_payout_request_mode.py +5 -0
  208. pinelabs/payouts/types/list_payouts_request_mode.py +5 -0
  209. pinelabs/payouts/types/list_payouts_request_status.py +7 -0
  210. pinelabs/refunds/__init__.py +52 -0
  211. pinelabs/refunds/client.py +211 -0
  212. pinelabs/refunds/raw_client.py +324 -0
  213. pinelabs/refunds/types/__init__.py +52 -0
  214. pinelabs/refunds/types/create_refund_request_order_amount.py +31 -0
  215. pinelabs/refunds/types/create_refund_request_products_item.py +27 -0
  216. pinelabs/refunds/types/create_refund_request_split_info.py +29 -0
  217. pinelabs/refunds/types/create_refund_request_split_info_split_details_item.py +32 -0
  218. pinelabs/refunds/types/create_refund_request_split_info_split_details_item_amount.py +20 -0
  219. pinelabs/settlements/__init__.py +4 -0
  220. pinelabs/settlements/client.py +283 -0
  221. pinelabs/settlements/raw_client.py +421 -0
  222. pinelabs/split_settlements/__init__.py +34 -0
  223. pinelabs/split_settlements/client.py +254 -0
  224. pinelabs/split_settlements/raw_client.py +414 -0
  225. pinelabs/split_settlements/types/__init__.py +36 -0
  226. pinelabs/split_settlements/types/release_settlement_request_release_amount.py +31 -0
  227. pinelabs/subscriptions_plans/__init__.py +37 -0
  228. pinelabs/subscriptions_plans/client.py +872 -0
  229. pinelabs/subscriptions_plans/raw_client.py +1111 -0
  230. pinelabs/subscriptions_plans/types/__init__.py +38 -0
  231. pinelabs/subscriptions_plans/types/create_plan_request_frequency.py +10 -0
  232. pinelabs/subscriptions_plans/types/list_plans_request_amount_range.py +5 -0
  233. pinelabs/subscriptions_presentations/__init__.py +4 -0
  234. pinelabs/subscriptions_presentations/client.py +886 -0
  235. pinelabs/subscriptions_presentations/raw_client.py +1168 -0
  236. pinelabs/subscriptions_subscriptions/__init__.py +46 -0
  237. pinelabs/subscriptions_subscriptions/client.py +1014 -0
  238. pinelabs/subscriptions_subscriptions/raw_client.py +1281 -0
  239. pinelabs/subscriptions_subscriptions/types/__init__.py +46 -0
  240. pinelabs/subscriptions_subscriptions/types/create_subscription_request_allowed_payment_methods_item.py +7 -0
  241. pinelabs/subscriptions_subscriptions/types/create_subscription_request_integration_mode.py +5 -0
  242. pinelabs/subscriptions_subscriptions/types/list_subscriptions_request_amount_range.py +5 -0
  243. pinelabs/tokenization/__init__.py +37 -0
  244. pinelabs/tokenization/client.py +809 -0
  245. pinelabs/tokenization/raw_client.py +1643 -0
  246. pinelabs/tokenization/types/__init__.py +38 -0
  247. pinelabs/tokenization/types/generate_card_token_request_payment_method.py +5 -0
  248. pinelabs/tokenization/types/get_service_provider_token_response.py +8 -0
  249. pinelabs/types/__init__.py +1320 -0
  250. pinelabs/types/acquirer_data.py +41 -0
  251. pinelabs/types/address.py +72 -0
  252. pinelabs/types/address_address_category.py +5 -0
  253. pinelabs/types/amount.py +31 -0
  254. pinelabs/types/authorize_payment_response.py +24 -0
  255. pinelabs/types/authorize_payment_response_data.py +45 -0
  256. pinelabs/types/authorize_payment_response_data_integration_mode.py +5 -0
  257. pinelabs/types/authorize_payment_response_data_order_amount.py +20 -0
  258. pinelabs/types/authorize_payment_response_data_payments_item.py +41 -0
  259. pinelabs/types/authorize_payment_response_data_payments_item_acquirer_data.py +23 -0
  260. pinelabs/types/authorize_payment_response_data_payments_item_payment_amount.py +20 -0
  261. pinelabs/types/authorize_payment_response_data_payments_item_payment_method.py +7 -0
  262. pinelabs/types/authorize_payment_response_data_payments_item_payment_option.py +22 -0
  263. pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data.py +25 -0
  264. pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data.py +38 -0
  265. pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_card_type.py +7 -0
  266. pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_token_txn_type.py +7 -0
  267. pinelabs/types/authorize_payment_response_data_payments_item_status.py +7 -0
  268. pinelabs/types/authorize_payment_response_data_purchase_details.py +24 -0
  269. pinelabs/types/authorize_payment_response_data_purchase_details_customer.py +27 -0
  270. pinelabs/types/authorize_payment_response_data_status.py +18 -0
  271. pinelabs/types/authorize_payment_response_data_type.py +5 -0
  272. pinelabs/types/bank_account.py +36 -0
  273. pinelabs/types/bnpl_check_eligibility_response.py +32 -0
  274. pinelabs/types/bnpl_check_eligibility_response_metadata.py +36 -0
  275. pinelabs/types/bnpl_check_eligibility_response_metadata_installments_item.py +33 -0
  276. pinelabs/types/bnpl_resend_otp_response.py +37 -0
  277. pinelabs/types/bnpl_resend_otp_response_meta_data.py +26 -0
  278. pinelabs/types/bnpl_submit_otp_response.py +26 -0
  279. pinelabs/types/calculate_convenience_fee_response.py +27 -0
  280. pinelabs/types/calculate_convenience_fee_response_data_item.py +50 -0
  281. pinelabs/types/calculate_convenience_fee_response_data_item_convenience_fee_breakdown.py +28 -0
  282. pinelabs/types/calculate_convenience_fee_response_data_item_payment_method_metadata.py +31 -0
  283. pinelabs/types/capture_data_item.py +34 -0
  284. pinelabs/types/card_data.py +76 -0
  285. pinelabs/types/card_data_card_category.py +22 -0
  286. pinelabs/types/card_data_card_type.py +21 -0
  287. pinelabs/types/card_data_token_txn_type.py +5 -0
  288. pinelabs/types/card_detail_lookup_item.py +35 -0
  289. pinelabs/types/card_detail_lookup_item_payment_reference_type.py +7 -0
  290. pinelabs/types/card_payment_detail_item.py +66 -0
  291. pinelabs/types/card_token_response.py +49 -0
  292. pinelabs/types/cart_details.py +27 -0
  293. pinelabs/types/cart_item.py +66 -0
  294. pinelabs/types/challan_response.py +77 -0
  295. pinelabs/types/check_point_balance_response.py +43 -0
  296. pinelabs/types/check_point_balance_response_balance.py +28 -0
  297. pinelabs/types/check_point_balance_response_redeemable_amount.py +28 -0
  298. pinelabs/types/checkout_customer.py +55 -0
  299. pinelabs/types/checkout_product.py +29 -0
  300. pinelabs/types/checkout_purchase_details.py +29 -0
  301. pinelabs/types/create_bulk_payout_response.py +48 -0
  302. pinelabs/types/create_bulk_payout_response_status.py +7 -0
  303. pinelabs/types/create_debit_response.py +56 -0
  304. pinelabs/types/create_debit_response_status.py +7 -0
  305. pinelabs/types/create_payout_response.py +100 -0
  306. pinelabs/types/create_payout_response_mode.py +5 -0
  307. pinelabs/types/create_payout_response_status.py +7 -0
  308. pinelabs/types/create_presentation_response.py +58 -0
  309. pinelabs/types/create_presentation_response_status.py +10 -0
  310. pinelabs/types/create_subscription_response.py +146 -0
  311. pinelabs/types/create_subscription_response_allowed_payment_methods_item.py +7 -0
  312. pinelabs/types/create_subscription_response_integration_mode.py +5 -0
  313. pinelabs/types/create_subscription_response_payment_mode.py +5 -0
  314. pinelabs/types/create_subscription_response_status.py +23 -0
  315. pinelabs/types/cryptogram_response.py +39 -0
  316. pinelabs/types/currency_conversion_response.py +56 -0
  317. pinelabs/types/customer_details.py +59 -0
  318. pinelabs/types/customer_response.py +83 -0
  319. pinelabs/types/customer_response_status.py +5 -0
  320. pinelabs/types/customer_token_detail.py +74 -0
  321. pinelabs/types/customer_token_detail_payment_method.py +5 -0
  322. pinelabs/types/customer_tokens_response.py +48 -0
  323. pinelabs/types/delete_customer_token_response.py +41 -0
  324. pinelabs/types/delete_token_by_token_id_response.py +31 -0
  325. pinelabs/types/downpayment_details_response.py +27 -0
  326. pinelabs/types/downpayment_details_response_downpayment_details.py +47 -0
  327. pinelabs/types/downpayment_details_response_downpayment_details_allowed_payment_methods_item.py +7 -0
  328. pinelabs/types/downpayment_details_response_downpayment_details_amount_range.py +25 -0
  329. pinelabs/types/error_response.py +41 -0
  330. pinelabs/types/error_response_additional_error_details.py +36 -0
  331. pinelabs/types/generate_checkout_link_response.py +46 -0
  332. pinelabs/types/generate_token_response.py +32 -0
  333. pinelabs/types/get_account_balance_response.py +36 -0
  334. pinelabs/types/get_card_details_response.py +27 -0
  335. pinelabs/types/get_payouts_payment_item.py +98 -0
  336. pinelabs/types/get_payouts_payment_item_mode.py +5 -0
  337. pinelabs/types/get_payouts_payment_item_status.py +7 -0
  338. pinelabs/types/get_payouts_response.py +51 -0
  339. pinelabs/types/imei_product.py +41 -0
  340. pinelabs/types/imei_validation_response.py +37 -0
  341. pinelabs/types/imei_validation_response_products_item.py +57 -0
  342. pinelabs/types/imei_validation_response_products_item_product_brand_response.py +31 -0
  343. pinelabs/types/imei_validation_response_products_item_product_imei_status.py +5 -0
  344. pinelabs/types/issuer_offer.py +59 -0
  345. pinelabs/types/issuer_offer_issuer_data.py +79 -0
  346. pinelabs/types/issuer_offer_issuer_data_auth_type.py +5 -0
  347. pinelabs/types/issuer_offer_issuer_data_penny_transaction_amount.py +20 -0
  348. pinelabs/types/issuer_offer_issuer_type.py +10 -0
  349. pinelabs/types/list_plans_response.py +31 -0
  350. pinelabs/types/list_presentations_response.py +31 -0
  351. pinelabs/types/list_settlements_response.py +42 -0
  352. pinelabs/types/list_subscriptions_response.py +31 -0
  353. pinelabs/types/merchant_metadata.py +8 -0
  354. pinelabs/types/net_banking_data_response.py +32 -0
  355. pinelabs/types/net_banking_data_response_txn_mode.py +5 -0
  356. pinelabs/types/offer_discovery_error_response.py +34 -0
  357. pinelabs/types/offer_discovery_error_response_additional_error_details.py +22 -0
  358. pinelabs/types/offer_discovery_response.py +27 -0
  359. pinelabs/types/offer_validation_error_response.py +22 -0
  360. pinelabs/types/offer_validation_error_response_additional_error_details.py +22 -0
  361. pinelabs/types/offer_validation_response.py +24 -0
  362. pinelabs/types/order_response.py +24 -0
  363. pinelabs/types/order_response_data.py +127 -0
  364. pinelabs/types/order_response_data_integration_mode.py +5 -0
  365. pinelabs/types/order_response_data_purchase_details.py +26 -0
  366. pinelabs/types/order_response_data_status.py +18 -0
  367. pinelabs/types/order_response_data_type.py +5 -0
  368. pinelabs/types/otp_generate_response.py +33 -0
  369. pinelabs/types/otp_generate_response_meta_data.py +26 -0
  370. pinelabs/types/otp_generate_response_next_item.py +5 -0
  371. pinelabs/types/page_info.py +41 -0
  372. pinelabs/types/pagination_links.py +34 -0
  373. pinelabs/types/pagination_links_first.py +22 -0
  374. pinelabs/types/pagination_links_last.py +22 -0
  375. pinelabs/types/pagination_links_next.py +22 -0
  376. pinelabs/types/pagination_links_self.py +22 -0
  377. pinelabs/types/pagination_meta.py +41 -0
  378. pinelabs/types/payment_item.py +87 -0
  379. pinelabs/types/payment_item_error_detail.py +31 -0
  380. pinelabs/types/payment_item_payment_method.py +8 -0
  381. pinelabs/types/payment_item_payment_option.py +28 -0
  382. pinelabs/types/payment_item_status.py +7 -0
  383. pinelabs/types/payment_link_account_details.py +24 -0
  384. pinelabs/types/payment_link_address.py +56 -0
  385. pinelabs/types/payment_link_bank_details.py +36 -0
  386. pinelabs/types/payment_link_cart_details.py +27 -0
  387. pinelabs/types/payment_link_cart_item.py +29 -0
  388. pinelabs/types/payment_link_customer.py +64 -0
  389. pinelabs/types/payment_link_product_detail.py +30 -0
  390. pinelabs/types/payment_link_response.py +113 -0
  391. pinelabs/types/payment_link_response_allowed_payment_methods_item.py +7 -0
  392. pinelabs/types/payment_link_response_status.py +8 -0
  393. pinelabs/types/payment_link_split_detail.py +57 -0
  394. pinelabs/types/payment_link_split_detail_status.py +5 -0
  395. pinelabs/types/payment_link_split_info.py +32 -0
  396. pinelabs/types/payment_object.py +51 -0
  397. pinelabs/types/payment_object_acquirer_data.py +23 -0
  398. pinelabs/types/payment_object_payment_amount.py +20 -0
  399. pinelabs/types/payment_object_payment_method.py +5 -0
  400. pinelabs/types/payment_object_status.py +7 -0
  401. pinelabs/types/payment_request_item.py +54 -0
  402. pinelabs/types/payment_request_item_device_info.py +53 -0
  403. pinelabs/types/payment_request_item_device_info_operating_system.py +7 -0
  404. pinelabs/types/payment_request_item_offer_data.py +27 -0
  405. pinelabs/types/payment_request_item_offer_data_offer_details.py +52 -0
  406. pinelabs/types/payment_request_item_offer_data_offer_details_tenure.py +136 -0
  407. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_auth_amount.py +20 -0
  408. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_cart_coupon_discount_amount.py +20 -0
  409. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown.py +56 -0
  410. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.py +20 -0
  411. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.py +20 -0
  412. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.py +20 -0
  413. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +20 -0
  414. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.py +20 -0
  415. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.py +20 -0
  416. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.py +20 -0
  417. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item.py +73 -0
  418. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.py +20 -0
  419. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.py +20 -0
  420. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount.py +36 -0
  421. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup.py +34 -0
  422. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand.py +22 -0
  423. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.py +20 -0
  424. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.py +22 -0
  425. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.py +20 -0
  426. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.py +22 -0
  427. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.py +20 -0
  428. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.py +24 -0
  429. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.py +20 -0
  430. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_max_amount.py +20 -0
  431. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_min_amount.py +20 -0
  432. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_downpayment_amount.py +20 -0
  433. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_interest_amount.py +20 -0
  434. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_amount.py +20 -0
  435. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.py +20 -0
  436. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.py +21 -0
  437. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention.py +36 -0
  438. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_amount.py +20 -0
  439. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup.py +34 -0
  440. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.py +22 -0
  441. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.py +20 -0
  442. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.py +24 -0
  443. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.py +20 -0
  444. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.py +24 -0
  445. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.py +20 -0
  446. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.py +24 -0
  447. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.py +20 -0
  448. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_max_amount.py +20 -0
  449. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_min_amount.py +20 -0
  450. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details.py +28 -0
  451. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.py +20 -0
  452. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_intrest_amount.py +20 -0
  453. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_loan_amount.py +20 -0
  454. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_monthly_emi_amount.py +20 -0
  455. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_net_payment_amount.py +20 -0
  456. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details.py +22 -0
  457. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details_amount.py +20 -0
  458. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_split_emi_amount.py +20 -0
  459. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_coupon_discount.py +20 -0
  460. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_discount_amount.py +20 -0
  461. pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_emi_amount.py +20 -0
  462. pinelabs/types/payment_request_item_payment_method.py +8 -0
  463. pinelabs/types/payment_request_item_payment_option.py +53 -0
  464. pinelabs/types/payment_request_item_payment_option_bnpl_details.py +34 -0
  465. pinelabs/types/payment_request_item_payment_option_bnpl_details_bnpl_pay_code.py +5 -0
  466. pinelabs/types/payment_request_item_payment_option_card_details.py +51 -0
  467. pinelabs/types/payment_request_item_payment_option_card_token_details.py +61 -0
  468. pinelabs/types/payment_request_item_payment_option_cardless_details.py +31 -0
  469. pinelabs/types/payment_request_item_payment_option_points_card_details.py +36 -0
  470. pinelabs/types/payout_amount.py +31 -0
  471. pinelabs/types/payout_detail.py +117 -0
  472. pinelabs/types/payout_detail_mode.py +5 -0
  473. pinelabs/types/payout_detail_status.py +7 -0
  474. pinelabs/types/payout_link.py +31 -0
  475. pinelabs/types/plan_response.py +96 -0
  476. pinelabs/types/plan_response_frequency.py +10 -0
  477. pinelabs/types/plan_response_status.py +5 -0
  478. pinelabs/types/presentation_detail.py +82 -0
  479. pinelabs/types/presentation_detail_pdn_status.py +7 -0
  480. pinelabs/types/presentation_detail_status.py +18 -0
  481. pinelabs/types/product_detail.py +38 -0
  482. pinelabs/types/refund_response.py +24 -0
  483. pinelabs/types/refund_response_data.py +77 -0
  484. pinelabs/types/refund_response_data_integration_mode.py +5 -0
  485. pinelabs/types/refund_response_data_order_amount.py +20 -0
  486. pinelabs/types/refund_response_data_purchase_details.py +24 -0
  487. pinelabs/types/refund_response_data_purchase_details_customer.py +31 -0
  488. pinelabs/types/refund_response_data_purchase_details_split_info.py +21 -0
  489. pinelabs/types/refund_response_data_status.py +5 -0
  490. pinelabs/types/refund_response_data_type.py +5 -0
  491. pinelabs/types/resend_otp_error_response.py +36 -0
  492. pinelabs/types/service_provider_token_response.py +62 -0
  493. pinelabs/types/service_provider_token_response_payment_method.py +5 -0
  494. pinelabs/types/service_provider_tokens_list_response.py +32 -0
  495. pinelabs/types/settlement_by_utr_response.py +146 -0
  496. pinelabs/types/settlement_by_utr_response_pagination.py +27 -0
  497. pinelabs/types/settlement_summary.py +76 -0
  498. pinelabs/types/settlement_transaction.py +96 -0
  499. pinelabs/types/simple_amount.py +31 -0
  500. pinelabs/types/split_detail.py +55 -0
  501. pinelabs/types/split_detail_refund.py +51 -0
  502. pinelabs/types/split_detail_refund_amount.py +20 -0
  503. pinelabs/types/split_detail_refund_status.py +5 -0
  504. pinelabs/types/split_detail_status.py +5 -0
  505. pinelabs/types/split_info.py +32 -0
  506. pinelabs/types/split_payment_object.py +49 -0
  507. pinelabs/types/split_payment_object_acquirer_data.py +22 -0
  508. pinelabs/types/split_payment_object_additional_detail.py +26 -0
  509. pinelabs/types/split_payment_object_capture_data_item.py +23 -0
  510. pinelabs/types/split_payment_object_capture_data_item_capture_amount.py +20 -0
  511. pinelabs/types/split_payment_object_payment_amount.py +20 -0
  512. pinelabs/types/split_payment_object_payment_method.py +7 -0
  513. pinelabs/types/split_payment_object_payment_option.py +20 -0
  514. pinelabs/types/split_payment_object_payment_option_card_data.py +40 -0
  515. pinelabs/types/split_payment_object_payment_option_card_data_card_type.py +5 -0
  516. pinelabs/types/split_payment_object_payment_option_card_data_token_txn_type.py +7 -0
  517. pinelabs/types/split_payment_object_status.py +7 -0
  518. pinelabs/types/split_settlement_detail.py +52 -0
  519. pinelabs/types/split_settlement_detail_amount.py +20 -0
  520. pinelabs/types/split_settlement_detail_release_amount.py +24 -0
  521. pinelabs/types/split_settlement_detail_status.py +5 -0
  522. pinelabs/types/split_settlement_response.py +24 -0
  523. pinelabs/types/split_settlement_response_data.py +43 -0
  524. pinelabs/types/split_settlement_response_data_allowed_payment_methods_item.py +7 -0
  525. pinelabs/types/split_settlement_response_data_integration_mode.py +5 -0
  526. pinelabs/types/split_settlement_response_data_order_amount.py +20 -0
  527. pinelabs/types/split_settlement_response_data_purchase_details.py +26 -0
  528. pinelabs/types/split_settlement_response_data_purchase_details_customer.py +28 -0
  529. pinelabs/types/split_settlement_response_data_purchase_details_split_info.py +21 -0
  530. pinelabs/types/split_settlement_response_data_status.py +18 -0
  531. pinelabs/types/split_settlement_response_data_type.py +5 -0
  532. pinelabs/types/submit_otp_error_response.py +42 -0
  533. pinelabs/types/submit_otp_error_response_meta_data.py +26 -0
  534. pinelabs/types/subscription_amount.py +31 -0
  535. pinelabs/types/subscription_detail.py +115 -0
  536. pinelabs/types/subscription_detail_allowed_payment_methods_item.py +7 -0
  537. pinelabs/types/subscription_detail_integration_mode.py +5 -0
  538. pinelabs/types/subscription_detail_payment_mode.py +5 -0
  539. pinelabs/types/subscription_detail_status.py +23 -0
  540. pinelabs/types/subscription_notification_response.py +56 -0
  541. pinelabs/types/subscription_notification_response_pdn_status.py +7 -0
  542. pinelabs/types/subscription_notification_response_status.py +10 -0
  543. pinelabs/types/tenure.py +127 -0
  544. pinelabs/types/tenure_auth_amount.py +20 -0
  545. pinelabs/types/tenure_cart_coupon_discount_amount.py +20 -0
  546. pinelabs/types/tenure_convenience_fee_breakdown.py +38 -0
  547. pinelabs/types/tenure_convenience_fee_breakdown_additional_fee_amount.py +20 -0
  548. pinelabs/types/tenure_convenience_fee_breakdown_applicable_fee_amount.py +20 -0
  549. pinelabs/types/tenure_convenience_fee_breakdown_fee_amount.py +20 -0
  550. pinelabs/types/tenure_convenience_fee_breakdown_fee_calculated_on_amount.py +20 -0
  551. pinelabs/types/tenure_convenience_fee_breakdown_maximum_fee_amount.py +20 -0
  552. pinelabs/types/tenure_convenience_fee_breakdown_subvented_fee_amount.py +20 -0
  553. pinelabs/types/tenure_convenience_fee_breakdown_tax_amount.py +20 -0
  554. pinelabs/types/tenure_details_item.py +49 -0
  555. pinelabs/types/tenure_details_item_after_downpayment_reduced_product_amount.py +20 -0
  556. pinelabs/types/tenure_details_item_cart_coupon_discount_product_share.py +20 -0
  557. pinelabs/types/tenure_details_item_discount.py +33 -0
  558. pinelabs/types/tenure_details_item_discount_amount.py +20 -0
  559. pinelabs/types/tenure_details_item_discount_breakup.py +22 -0
  560. pinelabs/types/tenure_details_item_discount_breakup_brand.py +20 -0
  561. pinelabs/types/tenure_details_item_discount_breakup_brand_amount.py +20 -0
  562. pinelabs/types/tenure_details_item_discount_breakup_merchant.py +20 -0
  563. pinelabs/types/tenure_details_item_discount_breakup_merchant_amount.py +20 -0
  564. pinelabs/types/tenure_details_item_discount_discount_deferred_duration_type.py +5 -0
  565. pinelabs/types/tenure_details_item_discount_discount_type.py +5 -0
  566. pinelabs/types/tenure_details_item_discount_max_amount.py +20 -0
  567. pinelabs/types/tenure_details_item_downpayment_amount.py +20 -0
  568. pinelabs/types/tenure_details_item_interest_amount.py +20 -0
  569. pinelabs/types/tenure_details_item_product_amount.py +20 -0
  570. pinelabs/types/tenure_details_item_product_coupon_discount_amount.py +20 -0
  571. pinelabs/types/tenure_details_item_product_offer_parameters_item.py +21 -0
  572. pinelabs/types/tenure_details_item_subvention.py +31 -0
  573. pinelabs/types/tenure_details_item_subvention_amount.py +20 -0
  574. pinelabs/types/tenure_details_item_subvention_breakup.py +20 -0
  575. pinelabs/types/tenure_details_item_subvention_breakup_brand.py +20 -0
  576. pinelabs/types/tenure_details_item_subvention_breakup_brand_amount.py +20 -0
  577. pinelabs/types/tenure_details_item_subvention_max_amount.py +20 -0
  578. pinelabs/types/tenure_details_item_subvention_min_amount.py +20 -0
  579. pinelabs/types/tenure_details_item_subvention_offer_type.py +5 -0
  580. pinelabs/types/tenure_details_item_subvention_subvention_type.py +5 -0
  581. pinelabs/types/tenure_discount.py +35 -0
  582. pinelabs/types/tenure_discount_amount.py +20 -0
  583. pinelabs/types/tenure_discount_breakup.py +26 -0
  584. pinelabs/types/tenure_discount_breakup_brand.py +20 -0
  585. pinelabs/types/tenure_discount_breakup_brand_amount.py +20 -0
  586. pinelabs/types/tenure_discount_breakup_dealer.py +20 -0
  587. pinelabs/types/tenure_discount_breakup_dealer_amount.py +20 -0
  588. pinelabs/types/tenure_discount_breakup_issuer.py +20 -0
  589. pinelabs/types/tenure_discount_breakup_issuer_amount.py +20 -0
  590. pinelabs/types/tenure_discount_breakup_merchant.py +20 -0
  591. pinelabs/types/tenure_discount_breakup_merchant_amount.py +20 -0
  592. pinelabs/types/tenure_discount_discount_deferred_duration_type.py +5 -0
  593. pinelabs/types/tenure_discount_discount_type.py +5 -0
  594. pinelabs/types/tenure_discount_max_amount.py +20 -0
  595. pinelabs/types/tenure_downpayment_details.py +24 -0
  596. pinelabs/types/tenure_downpayment_details_downpayment_amount.py +20 -0
  597. pinelabs/types/tenure_emi_type.py +5 -0
  598. pinelabs/types/tenure_interest_amount.py +20 -0
  599. pinelabs/types/tenure_issuer_offer_parameters_item.py +32 -0
  600. pinelabs/types/tenure_loan_amount.py +20 -0
  601. pinelabs/types/tenure_monthly_emi_amount.py +20 -0
  602. pinelabs/types/tenure_net_payment_amount.py +20 -0
  603. pinelabs/types/tenure_processing_fee_amount.py +20 -0
  604. pinelabs/types/tenure_processing_fee_details.py +25 -0
  605. pinelabs/types/tenure_processing_fee_details_amount.py +20 -0
  606. pinelabs/types/tenure_split_emi_amount.py +20 -0
  607. pinelabs/types/tenure_tenure_type.py +5 -0
  608. pinelabs/types/tenure_total_coupon_discount.py +20 -0
  609. pinelabs/types/tenure_total_discount_amount.py +20 -0
  610. pinelabs/types/tenure_total_down_payment_amount.py +20 -0
  611. pinelabs/types/tenure_total_emi_amount.py +20 -0
  612. pinelabs/types/tenure_total_subvention_amount.py +20 -0
  613. pinelabs/types/token_card_data.py +69 -0
  614. pinelabs/types/token_card_data_card_type.py +5 -0
  615. pinelabs/types/token_payment.py +27 -0
  616. pinelabs/types/token_payment_acquirer_data.py +41 -0
  617. pinelabs/types/token_payment_option.py +26 -0
  618. pinelabs/types/token_status.py +5 -0
  619. pinelabs/types/token_transactional_data.py +46 -0
  620. pinelabs/types/upi_details_response.py +30 -0
  621. pinelabs/types/upi_details_response_payer.py +22 -0
  622. pinelabs/types/upi_details_response_txn_mode.py +5 -0
  623. pinelabs_python-0.1.0.dist-info/METADATA +213 -0
  624. pinelabs_python-0.1.0.dist-info/RECORD +626 -0
  625. pinelabs_python-0.1.0.dist-info/WHEEL +4 -0
  626. pinelabs_python-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,809 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.request_options import RequestOptions
7
+ from ..types.card_token_response import CardTokenResponse
8
+ from ..types.cryptogram_response import CryptogramResponse
9
+ from ..types.customer_token_detail import CustomerTokenDetail
10
+ from ..types.customer_tokens_response import CustomerTokensResponse
11
+ from ..types.delete_customer_token_response import DeleteCustomerTokenResponse
12
+ from ..types.delete_token_by_token_id_response import DeleteTokenByTokenIdResponse
13
+ from ..types.merchant_metadata import MerchantMetadata
14
+ from ..types.token_payment import TokenPayment
15
+ from ..types.token_payment_option import TokenPaymentOption
16
+ from .raw_client import AsyncRawTokenizationClient, RawTokenizationClient
17
+ from .types.generate_card_token_request_payment_method import GenerateCardTokenRequestPaymentMethod
18
+ from .types.get_service_provider_token_response import GetServiceProviderTokenResponse
19
+
20
+ # this is used as the default value for optional parameters
21
+ OMIT = typing.cast(typing.Any, ...)
22
+
23
+
24
+ class TokenizationClient:
25
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
26
+ self._raw_client = RawTokenizationClient(client_wrapper=client_wrapper)
27
+
28
+ @property
29
+ def with_raw_response(self) -> RawTokenizationClient:
30
+ """
31
+ Retrieves a raw implementation of this client that returns raw responses.
32
+
33
+ Returns
34
+ -------
35
+ RawTokenizationClient
36
+ """
37
+ return self._raw_client
38
+
39
+ def generate_card_token(
40
+ self,
41
+ *,
42
+ customer_id: str,
43
+ merchant_token_reference: str,
44
+ payment_method: GenerateCardTokenRequestPaymentMethod,
45
+ payment_option: typing.Optional[TokenPaymentOption] = OMIT,
46
+ payment: typing.Optional[TokenPayment] = OMIT,
47
+ merchant_metadata: typing.Optional[MerchantMetadata] = OMIT,
48
+ request_options: typing.Optional[RequestOptions] = None,
49
+ ) -> CardTokenResponse:
50
+ """
51
+ Generate a network token for a card linked to a customer. This tokenizes the card
52
+ details and returns a token that can be used for subsequent transactions.
53
+
54
+ Parameters
55
+ ----------
56
+ customer_id : str
57
+ Unique identifier of the customer in the Pine Labs Online database.
58
+
59
+ merchant_token_reference : str
60
+ **Idempotency Key.** Unique token reference assigned by the merchant. Duplicate requests with the same `merchant_token_reference` will return the existing token instead of creating a new one.
61
+
62
+ payment_method : GenerateCardTokenRequestPaymentMethod
63
+ Payment method for which the token is being generated. Currently only CARD is supported.
64
+
65
+ payment_option : typing.Optional[TokenPaymentOption]
66
+
67
+ payment : typing.Optional[TokenPayment]
68
+
69
+ merchant_metadata : typing.Optional[MerchantMetadata]
70
+
71
+ request_options : typing.Optional[RequestOptions]
72
+ Request-specific configuration.
73
+
74
+ Returns
75
+ -------
76
+ CardTokenResponse
77
+ Card token generated successfully.
78
+
79
+ Examples
80
+ --------
81
+ from pinelabs import (
82
+ PinelabsApi,
83
+ TokenPayment,
84
+ TokenPaymentAcquirerData,
85
+ TokenPaymentOption,
86
+ )
87
+
88
+ client = PinelabsApi(
89
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
90
+ request_id="YOUR_REQUEST_ID",
91
+ token="YOUR_TOKEN",
92
+ )
93
+ client.tokenization.generate_card_token(
94
+ customer_id="cust-786cdrexrt",
95
+ merchant_token_reference="ec71b52e-c21f-4ac5-8624-385d6b6bdccc",
96
+ payment_method="CARD",
97
+ payment_option=TokenPaymentOption(
98
+ encrypted_card_details="akdsdsdsh12k12h1k21h2khakshakhakshkh121h2k1hak",
99
+ ),
100
+ payment=TokenPayment(
101
+ acquirer_data=TokenPaymentAcquirerData(
102
+ approval_code="000000",
103
+ acquirer_reference="5r6t7gyh8uj98",
104
+ rrn="9530167943",
105
+ auth_reference="",
106
+ ),
107
+ ),
108
+ merchant_metadata={"key1": "XYZ", "key2": "DOFJ"},
109
+ )
110
+ """
111
+ _response = self._raw_client.generate_card_token(
112
+ customer_id=customer_id,
113
+ merchant_token_reference=merchant_token_reference,
114
+ payment_method=payment_method,
115
+ payment_option=payment_option,
116
+ payment=payment,
117
+ merchant_metadata=merchant_metadata,
118
+ request_options=request_options,
119
+ )
120
+ return _response.data
121
+
122
+ def get_service_provider_token(
123
+ self, identifier: str, *, request_options: typing.Optional[RequestOptions] = None
124
+ ) -> GetServiceProviderTokenResponse:
125
+ """
126
+ Retrieve service provider token information. The `identifier` path parameter
127
+ can be either:
128
+ - A **customer_id** — returns a list of all service provider tokens for that customer.
129
+ - A **token_id** — returns a single service provider token by its unique ID.
130
+
131
+ The response structure varies based on whether a customer_id or token_id is provided.
132
+
133
+ Parameters
134
+ ----------
135
+ identifier : str
136
+ Customer ID or Token ID. When a customer_id is provided, returns all service
137
+ provider tokens for that customer. When a token_id is provided, returns the
138
+ specific token details.
139
+
140
+ request_options : typing.Optional[RequestOptions]
141
+ Request-specific configuration.
142
+
143
+ Returns
144
+ -------
145
+ GetServiceProviderTokenResponse
146
+ Service provider token(s) retrieved successfully.
147
+
148
+ Examples
149
+ --------
150
+ from pinelabs import PinelabsApi
151
+
152
+ client = PinelabsApi(
153
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
154
+ request_id="YOUR_REQUEST_ID",
155
+ token="YOUR_TOKEN",
156
+ )
157
+ client.tokenization.get_service_provider_token(
158
+ identifier="token-v1-1234567890-aa-ABCDEF",
159
+ )
160
+ """
161
+ _response = self._raw_client.get_service_provider_token(identifier, request_options=request_options)
162
+ return _response.data
163
+
164
+ def generate_cryptogram(
165
+ self,
166
+ token_id: str,
167
+ *,
168
+ merchant_unique_reference: str,
169
+ service_provider_token_id: str,
170
+ request_options: typing.Optional[RequestOptions] = None,
171
+ ) -> CryptogramResponse:
172
+ """
173
+ Generate a cryptogram for a tokenized card transaction. The cryptogram is used
174
+ for secure network-level token transactions.
175
+
176
+ Parameters
177
+ ----------
178
+ token_id : str
179
+ Unique token ID for which to generate the cryptogram.
180
+
181
+ merchant_unique_reference : str
182
+ Unique reference for this cryptogram generation request.
183
+
184
+ service_provider_token_id : str
185
+ Service provider token identifier.
186
+
187
+ request_options : typing.Optional[RequestOptions]
188
+ Request-specific configuration.
189
+
190
+ Returns
191
+ -------
192
+ CryptogramResponse
193
+ Cryptogram generated successfully.
194
+
195
+ Examples
196
+ --------
197
+ from pinelabs import PinelabsApi
198
+
199
+ client = PinelabsApi(
200
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
201
+ request_id="YOUR_REQUEST_ID",
202
+ token="YOUR_TOKEN",
203
+ )
204
+ client.tokenization.generate_cryptogram(
205
+ token_id="token-v1-1234567890-aa-ABCDEF",
206
+ merchant_unique_reference="crypto-ref-001",
207
+ service_provider_token_id="sp-token-001",
208
+ )
209
+ """
210
+ _response = self._raw_client.generate_cryptogram(
211
+ token_id,
212
+ merchant_unique_reference=merchant_unique_reference,
213
+ service_provider_token_id=service_provider_token_id,
214
+ request_options=request_options,
215
+ )
216
+ return _response.data
217
+
218
+ def delete_token_by_token_id(
219
+ self, token_id: str, *, request_options: typing.Optional[RequestOptions] = None
220
+ ) -> DeleteTokenByTokenIdResponse:
221
+ """
222
+ Delete a service provider token by its token ID. This permanently deactivates
223
+ the token.
224
+
225
+ Parameters
226
+ ----------
227
+ token_id : str
228
+ Unique token ID to delete.
229
+
230
+ request_options : typing.Optional[RequestOptions]
231
+ Request-specific configuration.
232
+
233
+ Returns
234
+ -------
235
+ DeleteTokenByTokenIdResponse
236
+ Token deleted successfully.
237
+
238
+ Examples
239
+ --------
240
+ from pinelabs import PinelabsApi
241
+
242
+ client = PinelabsApi(
243
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
244
+ request_id="YOUR_REQUEST_ID",
245
+ token="YOUR_TOKEN",
246
+ )
247
+ client.tokenization.delete_token_by_token_id(
248
+ token_id="token-v1-1234567890-aa-ABCDEF",
249
+ )
250
+ """
251
+ _response = self._raw_client.delete_token_by_token_id(token_id, request_options=request_options)
252
+ return _response.data
253
+
254
+ def get_customer_tokens_by_customer_id(
255
+ self, customer_id: str, *, request_options: typing.Optional[RequestOptions] = None
256
+ ) -> CustomerTokensResponse:
257
+ """
258
+ Retrieve all tokens linked to a customer by the customer's unique ID.
259
+
260
+ Parameters
261
+ ----------
262
+ customer_id : str
263
+ Unique identifier of the customer in the Pine Labs Online database.
264
+
265
+ request_options : typing.Optional[RequestOptions]
266
+ Request-specific configuration.
267
+
268
+ Returns
269
+ -------
270
+ CustomerTokensResponse
271
+ Customer tokens retrieved successfully.
272
+
273
+ Examples
274
+ --------
275
+ from pinelabs import PinelabsApi
276
+
277
+ client = PinelabsApi(
278
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
279
+ request_id="YOUR_REQUEST_ID",
280
+ token="YOUR_TOKEN",
281
+ )
282
+ client.tokenization.get_customer_tokens_by_customer_id(
283
+ customer_id="cust-v1-0811030624-aa-RBDgpR",
284
+ )
285
+ """
286
+ _response = self._raw_client.get_customer_tokens_by_customer_id(customer_id, request_options=request_options)
287
+ return _response.data
288
+
289
+ def get_customer_token_by_token_id(
290
+ self, customer_id: str, token_id: str, *, request_options: typing.Optional[RequestOptions] = None
291
+ ) -> CustomerTokenDetail:
292
+ """
293
+ Retrieve a specific token linked to a customer by both the customer ID and token ID.
294
+
295
+ Parameters
296
+ ----------
297
+ customer_id : str
298
+ Unique identifier of the customer in the Pine Labs Online database.
299
+
300
+ token_id : str
301
+ Unique token ID to retrieve.
302
+
303
+ request_options : typing.Optional[RequestOptions]
304
+ Request-specific configuration.
305
+
306
+ Returns
307
+ -------
308
+ CustomerTokenDetail
309
+ Customer token details retrieved successfully.
310
+
311
+ Examples
312
+ --------
313
+ from pinelabs import PinelabsApi
314
+
315
+ client = PinelabsApi(
316
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
317
+ request_id="YOUR_REQUEST_ID",
318
+ token="YOUR_TOKEN",
319
+ )
320
+ client.tokenization.get_customer_token_by_token_id(
321
+ customer_id="cust-v1-0811030624-aa-RBDgpR",
322
+ token_id="token-v1-1234567890-aa-ABCDEF",
323
+ )
324
+ """
325
+ _response = self._raw_client.get_customer_token_by_token_id(
326
+ customer_id, token_id, request_options=request_options
327
+ )
328
+ return _response.data
329
+
330
+ def delete_customer_token(
331
+ self,
332
+ customer_id: str,
333
+ token_id: str,
334
+ *,
335
+ merchant_unique_reference: str,
336
+ merchant_metadata: typing.Optional[MerchantMetadata] = OMIT,
337
+ request_options: typing.Optional[RequestOptions] = None,
338
+ ) -> DeleteCustomerTokenResponse:
339
+ """
340
+ Delete a specific token linked to a customer by both the customer ID and token ID.
341
+ Requires a unique merchant reference for the delete operation.
342
+
343
+ Parameters
344
+ ----------
345
+ customer_id : str
346
+ Unique identifier of the customer in the Pine Labs Online database.
347
+
348
+ token_id : str
349
+ Unique token ID to delete.
350
+
351
+ merchant_unique_reference : str
352
+ Unique reference for this delete operation.
353
+
354
+ merchant_metadata : typing.Optional[MerchantMetadata]
355
+
356
+ request_options : typing.Optional[RequestOptions]
357
+ Request-specific configuration.
358
+
359
+ Returns
360
+ -------
361
+ DeleteCustomerTokenResponse
362
+ Customer token deleted successfully.
363
+
364
+ Examples
365
+ --------
366
+ from pinelabs import PinelabsApi
367
+
368
+ client = PinelabsApi(
369
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
370
+ request_id="YOUR_REQUEST_ID",
371
+ token="YOUR_TOKEN",
372
+ )
373
+ client.tokenization.delete_customer_token(
374
+ customer_id="cust-v1-0811030624-aa-RBDgpR",
375
+ token_id="token-v1-1234567890-aa-ABCDEF",
376
+ merchant_unique_reference="del-ref-001",
377
+ )
378
+ """
379
+ _response = self._raw_client.delete_customer_token(
380
+ customer_id,
381
+ token_id,
382
+ merchant_unique_reference=merchant_unique_reference,
383
+ merchant_metadata=merchant_metadata,
384
+ request_options=request_options,
385
+ )
386
+ return _response.data
387
+
388
+
389
+ class AsyncTokenizationClient:
390
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
391
+ self._raw_client = AsyncRawTokenizationClient(client_wrapper=client_wrapper)
392
+
393
+ @property
394
+ def with_raw_response(self) -> AsyncRawTokenizationClient:
395
+ """
396
+ Retrieves a raw implementation of this client that returns raw responses.
397
+
398
+ Returns
399
+ -------
400
+ AsyncRawTokenizationClient
401
+ """
402
+ return self._raw_client
403
+
404
+ async def generate_card_token(
405
+ self,
406
+ *,
407
+ customer_id: str,
408
+ merchant_token_reference: str,
409
+ payment_method: GenerateCardTokenRequestPaymentMethod,
410
+ payment_option: typing.Optional[TokenPaymentOption] = OMIT,
411
+ payment: typing.Optional[TokenPayment] = OMIT,
412
+ merchant_metadata: typing.Optional[MerchantMetadata] = OMIT,
413
+ request_options: typing.Optional[RequestOptions] = None,
414
+ ) -> CardTokenResponse:
415
+ """
416
+ Generate a network token for a card linked to a customer. This tokenizes the card
417
+ details and returns a token that can be used for subsequent transactions.
418
+
419
+ Parameters
420
+ ----------
421
+ customer_id : str
422
+ Unique identifier of the customer in the Pine Labs Online database.
423
+
424
+ merchant_token_reference : str
425
+ **Idempotency Key.** Unique token reference assigned by the merchant. Duplicate requests with the same `merchant_token_reference` will return the existing token instead of creating a new one.
426
+
427
+ payment_method : GenerateCardTokenRequestPaymentMethod
428
+ Payment method for which the token is being generated. Currently only CARD is supported.
429
+
430
+ payment_option : typing.Optional[TokenPaymentOption]
431
+
432
+ payment : typing.Optional[TokenPayment]
433
+
434
+ merchant_metadata : typing.Optional[MerchantMetadata]
435
+
436
+ request_options : typing.Optional[RequestOptions]
437
+ Request-specific configuration.
438
+
439
+ Returns
440
+ -------
441
+ CardTokenResponse
442
+ Card token generated successfully.
443
+
444
+ Examples
445
+ --------
446
+ import asyncio
447
+
448
+ from pinelabs import (
449
+ AsyncPinelabsApi,
450
+ TokenPayment,
451
+ TokenPaymentAcquirerData,
452
+ TokenPaymentOption,
453
+ )
454
+
455
+ client = AsyncPinelabsApi(
456
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
457
+ request_id="YOUR_REQUEST_ID",
458
+ token="YOUR_TOKEN",
459
+ )
460
+
461
+
462
+ async def main() -> None:
463
+ await client.tokenization.generate_card_token(
464
+ customer_id="cust-786cdrexrt",
465
+ merchant_token_reference="ec71b52e-c21f-4ac5-8624-385d6b6bdccc",
466
+ payment_method="CARD",
467
+ payment_option=TokenPaymentOption(
468
+ encrypted_card_details="akdsdsdsh12k12h1k21h2khakshakhakshkh121h2k1hak",
469
+ ),
470
+ payment=TokenPayment(
471
+ acquirer_data=TokenPaymentAcquirerData(
472
+ approval_code="000000",
473
+ acquirer_reference="5r6t7gyh8uj98",
474
+ rrn="9530167943",
475
+ auth_reference="",
476
+ ),
477
+ ),
478
+ merchant_metadata={"key1": "XYZ", "key2": "DOFJ"},
479
+ )
480
+
481
+
482
+ asyncio.run(main())
483
+ """
484
+ _response = await self._raw_client.generate_card_token(
485
+ customer_id=customer_id,
486
+ merchant_token_reference=merchant_token_reference,
487
+ payment_method=payment_method,
488
+ payment_option=payment_option,
489
+ payment=payment,
490
+ merchant_metadata=merchant_metadata,
491
+ request_options=request_options,
492
+ )
493
+ return _response.data
494
+
495
+ async def get_service_provider_token(
496
+ self, identifier: str, *, request_options: typing.Optional[RequestOptions] = None
497
+ ) -> GetServiceProviderTokenResponse:
498
+ """
499
+ Retrieve service provider token information. The `identifier` path parameter
500
+ can be either:
501
+ - A **customer_id** — returns a list of all service provider tokens for that customer.
502
+ - A **token_id** — returns a single service provider token by its unique ID.
503
+
504
+ The response structure varies based on whether a customer_id or token_id is provided.
505
+
506
+ Parameters
507
+ ----------
508
+ identifier : str
509
+ Customer ID or Token ID. When a customer_id is provided, returns all service
510
+ provider tokens for that customer. When a token_id is provided, returns the
511
+ specific token details.
512
+
513
+ request_options : typing.Optional[RequestOptions]
514
+ Request-specific configuration.
515
+
516
+ Returns
517
+ -------
518
+ GetServiceProviderTokenResponse
519
+ Service provider token(s) retrieved successfully.
520
+
521
+ Examples
522
+ --------
523
+ import asyncio
524
+
525
+ from pinelabs import AsyncPinelabsApi
526
+
527
+ client = AsyncPinelabsApi(
528
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
529
+ request_id="YOUR_REQUEST_ID",
530
+ token="YOUR_TOKEN",
531
+ )
532
+
533
+
534
+ async def main() -> None:
535
+ await client.tokenization.get_service_provider_token(
536
+ identifier="token-v1-1234567890-aa-ABCDEF",
537
+ )
538
+
539
+
540
+ asyncio.run(main())
541
+ """
542
+ _response = await self._raw_client.get_service_provider_token(identifier, request_options=request_options)
543
+ return _response.data
544
+
545
+ async def generate_cryptogram(
546
+ self,
547
+ token_id: str,
548
+ *,
549
+ merchant_unique_reference: str,
550
+ service_provider_token_id: str,
551
+ request_options: typing.Optional[RequestOptions] = None,
552
+ ) -> CryptogramResponse:
553
+ """
554
+ Generate a cryptogram for a tokenized card transaction. The cryptogram is used
555
+ for secure network-level token transactions.
556
+
557
+ Parameters
558
+ ----------
559
+ token_id : str
560
+ Unique token ID for which to generate the cryptogram.
561
+
562
+ merchant_unique_reference : str
563
+ Unique reference for this cryptogram generation request.
564
+
565
+ service_provider_token_id : str
566
+ Service provider token identifier.
567
+
568
+ request_options : typing.Optional[RequestOptions]
569
+ Request-specific configuration.
570
+
571
+ Returns
572
+ -------
573
+ CryptogramResponse
574
+ Cryptogram generated successfully.
575
+
576
+ Examples
577
+ --------
578
+ import asyncio
579
+
580
+ from pinelabs import AsyncPinelabsApi
581
+
582
+ client = AsyncPinelabsApi(
583
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
584
+ request_id="YOUR_REQUEST_ID",
585
+ token="YOUR_TOKEN",
586
+ )
587
+
588
+
589
+ async def main() -> None:
590
+ await client.tokenization.generate_cryptogram(
591
+ token_id="token-v1-1234567890-aa-ABCDEF",
592
+ merchant_unique_reference="crypto-ref-001",
593
+ service_provider_token_id="sp-token-001",
594
+ )
595
+
596
+
597
+ asyncio.run(main())
598
+ """
599
+ _response = await self._raw_client.generate_cryptogram(
600
+ token_id,
601
+ merchant_unique_reference=merchant_unique_reference,
602
+ service_provider_token_id=service_provider_token_id,
603
+ request_options=request_options,
604
+ )
605
+ return _response.data
606
+
607
+ async def delete_token_by_token_id(
608
+ self, token_id: str, *, request_options: typing.Optional[RequestOptions] = None
609
+ ) -> DeleteTokenByTokenIdResponse:
610
+ """
611
+ Delete a service provider token by its token ID. This permanently deactivates
612
+ the token.
613
+
614
+ Parameters
615
+ ----------
616
+ token_id : str
617
+ Unique token ID to delete.
618
+
619
+ request_options : typing.Optional[RequestOptions]
620
+ Request-specific configuration.
621
+
622
+ Returns
623
+ -------
624
+ DeleteTokenByTokenIdResponse
625
+ Token deleted successfully.
626
+
627
+ Examples
628
+ --------
629
+ import asyncio
630
+
631
+ from pinelabs import AsyncPinelabsApi
632
+
633
+ client = AsyncPinelabsApi(
634
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
635
+ request_id="YOUR_REQUEST_ID",
636
+ token="YOUR_TOKEN",
637
+ )
638
+
639
+
640
+ async def main() -> None:
641
+ await client.tokenization.delete_token_by_token_id(
642
+ token_id="token-v1-1234567890-aa-ABCDEF",
643
+ )
644
+
645
+
646
+ asyncio.run(main())
647
+ """
648
+ _response = await self._raw_client.delete_token_by_token_id(token_id, request_options=request_options)
649
+ return _response.data
650
+
651
+ async def get_customer_tokens_by_customer_id(
652
+ self, customer_id: str, *, request_options: typing.Optional[RequestOptions] = None
653
+ ) -> CustomerTokensResponse:
654
+ """
655
+ Retrieve all tokens linked to a customer by the customer's unique ID.
656
+
657
+ Parameters
658
+ ----------
659
+ customer_id : str
660
+ Unique identifier of the customer in the Pine Labs Online database.
661
+
662
+ request_options : typing.Optional[RequestOptions]
663
+ Request-specific configuration.
664
+
665
+ Returns
666
+ -------
667
+ CustomerTokensResponse
668
+ Customer tokens retrieved successfully.
669
+
670
+ Examples
671
+ --------
672
+ import asyncio
673
+
674
+ from pinelabs import AsyncPinelabsApi
675
+
676
+ client = AsyncPinelabsApi(
677
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
678
+ request_id="YOUR_REQUEST_ID",
679
+ token="YOUR_TOKEN",
680
+ )
681
+
682
+
683
+ async def main() -> None:
684
+ await client.tokenization.get_customer_tokens_by_customer_id(
685
+ customer_id="cust-v1-0811030624-aa-RBDgpR",
686
+ )
687
+
688
+
689
+ asyncio.run(main())
690
+ """
691
+ _response = await self._raw_client.get_customer_tokens_by_customer_id(
692
+ customer_id, request_options=request_options
693
+ )
694
+ return _response.data
695
+
696
+ async def get_customer_token_by_token_id(
697
+ self, customer_id: str, token_id: str, *, request_options: typing.Optional[RequestOptions] = None
698
+ ) -> CustomerTokenDetail:
699
+ """
700
+ Retrieve a specific token linked to a customer by both the customer ID and token ID.
701
+
702
+ Parameters
703
+ ----------
704
+ customer_id : str
705
+ Unique identifier of the customer in the Pine Labs Online database.
706
+
707
+ token_id : str
708
+ Unique token ID to retrieve.
709
+
710
+ request_options : typing.Optional[RequestOptions]
711
+ Request-specific configuration.
712
+
713
+ Returns
714
+ -------
715
+ CustomerTokenDetail
716
+ Customer token details retrieved successfully.
717
+
718
+ Examples
719
+ --------
720
+ import asyncio
721
+
722
+ from pinelabs import AsyncPinelabsApi
723
+
724
+ client = AsyncPinelabsApi(
725
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
726
+ request_id="YOUR_REQUEST_ID",
727
+ token="YOUR_TOKEN",
728
+ )
729
+
730
+
731
+ async def main() -> None:
732
+ await client.tokenization.get_customer_token_by_token_id(
733
+ customer_id="cust-v1-0811030624-aa-RBDgpR",
734
+ token_id="token-v1-1234567890-aa-ABCDEF",
735
+ )
736
+
737
+
738
+ asyncio.run(main())
739
+ """
740
+ _response = await self._raw_client.get_customer_token_by_token_id(
741
+ customer_id, token_id, request_options=request_options
742
+ )
743
+ return _response.data
744
+
745
+ async def delete_customer_token(
746
+ self,
747
+ customer_id: str,
748
+ token_id: str,
749
+ *,
750
+ merchant_unique_reference: str,
751
+ merchant_metadata: typing.Optional[MerchantMetadata] = OMIT,
752
+ request_options: typing.Optional[RequestOptions] = None,
753
+ ) -> DeleteCustomerTokenResponse:
754
+ """
755
+ Delete a specific token linked to a customer by both the customer ID and token ID.
756
+ Requires a unique merchant reference for the delete operation.
757
+
758
+ Parameters
759
+ ----------
760
+ customer_id : str
761
+ Unique identifier of the customer in the Pine Labs Online database.
762
+
763
+ token_id : str
764
+ Unique token ID to delete.
765
+
766
+ merchant_unique_reference : str
767
+ Unique reference for this delete operation.
768
+
769
+ merchant_metadata : typing.Optional[MerchantMetadata]
770
+
771
+ request_options : typing.Optional[RequestOptions]
772
+ Request-specific configuration.
773
+
774
+ Returns
775
+ -------
776
+ DeleteCustomerTokenResponse
777
+ Customer token deleted successfully.
778
+
779
+ Examples
780
+ --------
781
+ import asyncio
782
+
783
+ from pinelabs import AsyncPinelabsApi
784
+
785
+ client = AsyncPinelabsApi(
786
+ request_timestamp="YOUR_REQUEST_TIMESTAMP",
787
+ request_id="YOUR_REQUEST_ID",
788
+ token="YOUR_TOKEN",
789
+ )
790
+
791
+
792
+ async def main() -> None:
793
+ await client.tokenization.delete_customer_token(
794
+ customer_id="cust-v1-0811030624-aa-RBDgpR",
795
+ token_id="token-v1-1234567890-aa-ABCDEF",
796
+ merchant_unique_reference="del-ref-001",
797
+ )
798
+
799
+
800
+ asyncio.run(main())
801
+ """
802
+ _response = await self._raw_client.delete_customer_token(
803
+ customer_id,
804
+ token_id,
805
+ merchant_unique_reference=merchant_unique_reference,
806
+ merchant_metadata=merchant_metadata,
807
+ request_options=request_options,
808
+ )
809
+ return _response.data