pinelabs 0.1.0

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 (646) hide show
  1. checksums.yaml +4 -0
  2. data/.fern/metadata.json +10 -0
  3. data/.fernignore +4 -0
  4. data/.rubocop.yml +70 -0
  5. data/README.md +165 -0
  6. data/Rakefile +20 -0
  7. data/custom.gemspec.rb +22 -0
  8. data/lib/pinelabs/affordability_suite/client.rb +208 -0
  9. data/lib/pinelabs/affordability_suite/types/downpayment_details_request.rb +14 -0
  10. data/lib/pinelabs/affordability_suite/types/downpayment_details_request_issuer.rb +12 -0
  11. data/lib/pinelabs/affordability_suite/types/imei_validation_request.rb +14 -0
  12. data/lib/pinelabs/affordability_suite/types/imei_validation_request_request_type.rb +14 -0
  13. data/lib/pinelabs/affordability_suite/types/offer_discovery_cardless_request.rb +14 -0
  14. data/lib/pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option.rb +12 -0
  15. data/lib/pinelabs/affordability_suite/types/offer_discovery_cardless_request_payment_option_cardless_details.rb +13 -0
  16. data/lib/pinelabs/affordability_suite/types/offer_discovery_request.rb +18 -0
  17. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_cart_coupon_discount_amount.rb +13 -0
  18. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_customer_details.rb +12 -0
  19. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details.rb +12 -0
  20. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_downpayment_details_downpayment_amount.rb +13 -0
  21. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_issuer.rb +15 -0
  22. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_issuer_issuer_type.rb +21 -0
  23. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_order_amount.rb +13 -0
  24. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_payment_options.rb +14 -0
  25. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_details.rb +12 -0
  26. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_payment_options_card_token_details.rb +13 -0
  27. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_product_details_item.rb +13 -0
  28. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_amount.rb +13 -0
  29. data/lib/pinelabs/affordability_suite/types/offer_discovery_request_product_details_item_product_coupon_discount_amount.rb +13 -0
  30. data/lib/pinelabs/affordability_suite/types/offer_validation_request.rb +17 -0
  31. data/lib/pinelabs/affordability_suite/types/offer_validation_request_customer_details.rb +12 -0
  32. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data.rb +12 -0
  33. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details.rb +17 -0
  34. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure.rb +37 -0
  35. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_auth_amount.rb +12 -0
  36. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_cart_coupon_discount_amount.rb +12 -0
  37. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown.rb +17 -0
  38. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.rb +12 -0
  39. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.rb +12 -0
  40. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.rb +12 -0
  41. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.rb +12 -0
  42. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.rb +12 -0
  43. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.rb +12 -0
  44. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.rb +12 -0
  45. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item.rb +25 -0
  46. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.rb +12 -0
  47. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.rb +12 -0
  48. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount.rb +20 -0
  49. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup.rb +14 -0
  50. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand.rb +11 -0
  51. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.rb +12 -0
  52. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.rb +11 -0
  53. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.rb +12 -0
  54. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.rb +11 -0
  55. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.rb +12 -0
  56. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.rb +11 -0
  57. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.rb +12 -0
  58. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_max_amount.rb +12 -0
  59. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_discount_min_amount.rb +12 -0
  60. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_downpayment_amount.rb +12 -0
  61. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_interest_amount.rb +12 -0
  62. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_amount.rb +13 -0
  63. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.rb +13 -0
  64. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.rb +13 -0
  65. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention.rb +17 -0
  66. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_amount.rb +12 -0
  67. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup.rb +14 -0
  68. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.rb +11 -0
  69. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.rb +12 -0
  70. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.rb +11 -0
  71. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.rb +12 -0
  72. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.rb +11 -0
  73. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.rb +12 -0
  74. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.rb +11 -0
  75. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.rb +12 -0
  76. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_max_amount.rb +12 -0
  77. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_details_item_subvention_min_amount.rb +12 -0
  78. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount.rb +20 -0
  79. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup.rb +14 -0
  80. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand.rb +11 -0
  81. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_brand_amount.rb +12 -0
  82. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer.rb +11 -0
  83. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_dealer_amount.rb +12 -0
  84. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer.rb +11 -0
  85. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_issuer_amount.rb +12 -0
  86. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant.rb +11 -0
  87. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_breakup_merchant_amount.rb +12 -0
  88. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_max_amount.rb +12 -0
  89. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_discount_min_amount.rb +12 -0
  90. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details.rb +12 -0
  91. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.rb +12 -0
  92. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_interest_amount.rb +12 -0
  93. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_loan_amount.rb +12 -0
  94. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_monthly_emi_amount.rb +12 -0
  95. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_net_payment_amount.rb +12 -0
  96. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_amount.rb +12 -0
  97. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details.rb +11 -0
  98. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_processing_fee_details_amount.rb +12 -0
  99. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_split_emi_amount.rb +12 -0
  100. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_coupon_discount.rb +12 -0
  101. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_discount_amount.rb +12 -0
  102. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_emi_amount.rb +12 -0
  103. data/lib/pinelabs/affordability_suite/types/offer_validation_request_offer_data_offer_details_tenure_total_subvention_amount.rb +12 -0
  104. data/lib/pinelabs/affordability_suite/types/offer_validation_request_order_amount.rb +13 -0
  105. data/lib/pinelabs/affordability_suite/types/offer_validation_request_payment_amount.rb +14 -0
  106. data/lib/pinelabs/affordability_suite/types/offer_validation_request_payment_option.rb +15 -0
  107. data/lib/pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_details.rb +13 -0
  108. data/lib/pinelabs/affordability_suite/types/offer_validation_request_payment_option_card_token_details.rb +15 -0
  109. data/lib/pinelabs/affordability_suite/types/offer_validation_request_payment_option_cardless_details.rb +13 -0
  110. data/lib/pinelabs/apple_pay/client.rb +57 -0
  111. data/lib/pinelabs/apple_pay/types/authorize_payment_request.rb +13 -0
  112. data/lib/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details.rb +18 -0
  113. data/lib/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data.rb +13 -0
  114. data/lib/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_card_type.rb +15 -0
  115. data/lib/pinelabs/apple_pay/types/authorize_payment_request_decrypted_card_details_card_meta_data_network_name.rb +16 -0
  116. data/lib/pinelabs/authentication/client.rb +50 -0
  117. data/lib/pinelabs/authentication/types/generate_token_request.rb +13 -0
  118. data/lib/pinelabs/bnpl/client.rb +49 -0
  119. data/lib/pinelabs/bnpl/types/bnpl_check_eligibility_request.rb +15 -0
  120. data/lib/pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info.rb +17 -0
  121. data/lib/pinelabs/bnpl/types/bnpl_check_eligibility_request_device_info_operating_system.rb +16 -0
  122. data/lib/pinelabs/bnpl/types/bnpl_check_eligibility_request_pay_code.rb +13 -0
  123. data/lib/pinelabs/card_payments/client.rb +207 -0
  124. data/lib/pinelabs/card_payments/types/bnpl_resend_otp_request.rb +11 -0
  125. data/lib/pinelabs/card_payments/types/bnpl_submit_otp_request.rb +12 -0
  126. data/lib/pinelabs/card_payments/types/create_payment_request.rb +12 -0
  127. data/lib/pinelabs/card_payments/types/get_card_details_request.rb +12 -0
  128. data/lib/pinelabs/card_payments/types/otp_generate_request.rb +11 -0
  129. data/lib/pinelabs/checkout/client.rb +49 -0
  130. data/lib/pinelabs/checkout/types/generate_checkout_link_request.rb +18 -0
  131. data/lib/pinelabs/checkout/types/generate_checkout_link_request_allowed_payment_methods_item.rb +20 -0
  132. data/lib/pinelabs/checkout/types/generate_checkout_link_request_integration_mode.rb +15 -0
  133. data/lib/pinelabs/client.rb +124 -0
  134. data/lib/pinelabs/convenience_fee/client.rb +49 -0
  135. data/lib/pinelabs/convenience_fee/types/calculate_convenience_fee_request.rb +13 -0
  136. data/lib/pinelabs/customers/client.rb +168 -0
  137. data/lib/pinelabs/customers/types/create_customer_request.rb +20 -0
  138. data/lib/pinelabs/customers/types/get_customer_by_id_request.rb +11 -0
  139. data/lib/pinelabs/customers/types/get_customer_details_request.rb +13 -0
  140. data/lib/pinelabs/customers/types/update_customer_request.rb +20 -0
  141. data/lib/pinelabs/customers/types/update_customer_request_status.rb +16 -0
  142. data/lib/pinelabs/e_challans/client.rb +120 -0
  143. data/lib/pinelabs/e_challans/types/create_challan_request.rb +12 -0
  144. data/lib/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown.rb +16 -0
  145. data/lib/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_additional_fee_amount.rb +13 -0
  146. data/lib/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_applicable_fee_amount.rb +13 -0
  147. data/lib/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_fee_amount.rb +13 -0
  148. data/lib/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_maximum_fee_amount.rb +13 -0
  149. data/lib/pinelabs/e_challans/types/create_challan_request_convenience_fee_breakdown_tax_amount.rb +13 -0
  150. data/lib/pinelabs/e_challans/types/get_challan_pdf_request.rb +11 -0
  151. data/lib/pinelabs/e_challans/types/get_challan_request.rb +11 -0
  152. data/lib/pinelabs/environment.rb +7 -0
  153. data/lib/pinelabs/errors/api_error.rb +8 -0
  154. data/lib/pinelabs/errors/client_error.rb +17 -0
  155. data/lib/pinelabs/errors/redirect_error.rb +8 -0
  156. data/lib/pinelabs/errors/response_error.rb +42 -0
  157. data/lib/pinelabs/errors/server_error.rb +11 -0
  158. data/lib/pinelabs/errors/timeout_error.rb +8 -0
  159. data/lib/pinelabs/internal/errors/constraint_error.rb +10 -0
  160. data/lib/pinelabs/internal/errors/type_error.rb +10 -0
  161. data/lib/pinelabs/internal/http/base_request.rb +51 -0
  162. data/lib/pinelabs/internal/http/raw_client.rb +214 -0
  163. data/lib/pinelabs/internal/iterators/cursor_item_iterator.rb +28 -0
  164. data/lib/pinelabs/internal/iterators/cursor_page_iterator.rb +63 -0
  165. data/lib/pinelabs/internal/iterators/item_iterator.rb +65 -0
  166. data/lib/pinelabs/internal/iterators/offset_item_iterator.rb +30 -0
  167. data/lib/pinelabs/internal/iterators/offset_page_iterator.rb +103 -0
  168. data/lib/pinelabs/internal/json/request.rb +41 -0
  169. data/lib/pinelabs/internal/json/serializable.rb +25 -0
  170. data/lib/pinelabs/internal/multipart/multipart_encoder.rb +141 -0
  171. data/lib/pinelabs/internal/multipart/multipart_form_data.rb +78 -0
  172. data/lib/pinelabs/internal/multipart/multipart_form_data_part.rb +51 -0
  173. data/lib/pinelabs/internal/multipart/multipart_request.rb +40 -0
  174. data/lib/pinelabs/internal/types/array.rb +47 -0
  175. data/lib/pinelabs/internal/types/boolean.rb +34 -0
  176. data/lib/pinelabs/internal/types/enum.rb +56 -0
  177. data/lib/pinelabs/internal/types/hash.rb +36 -0
  178. data/lib/pinelabs/internal/types/model/field.rb +38 -0
  179. data/lib/pinelabs/internal/types/model.rb +208 -0
  180. data/lib/pinelabs/internal/types/type.rb +35 -0
  181. data/lib/pinelabs/internal/types/union.rb +161 -0
  182. data/lib/pinelabs/internal/types/unknown.rb +15 -0
  183. data/lib/pinelabs/internal/types/utils.rb +116 -0
  184. data/lib/pinelabs/international_payments/client.rb +51 -0
  185. data/lib/pinelabs/international_payments/types/currency_conversion_request.rb +15 -0
  186. data/lib/pinelabs/orders/client.rb +199 -0
  187. data/lib/pinelabs/orders/types/cancel_order_request.rb +11 -0
  188. data/lib/pinelabs/orders/types/capture_order_request.rb +13 -0
  189. data/lib/pinelabs/orders/types/create_order_request.rb +22 -0
  190. data/lib/pinelabs/orders/types/create_order_request_allowed_payment_methods_item.rb +21 -0
  191. data/lib/pinelabs/orders/types/create_order_request_purchase_details.rb +14 -0
  192. data/lib/pinelabs/orders/types/get_order_by_id_request.rb +11 -0
  193. data/lib/pinelabs/orders/types/get_order_by_merchant_reference_request.rb +11 -0
  194. data/lib/pinelabs/pay_by_points/client.rb +48 -0
  195. data/lib/pinelabs/pay_by_points/types/check_point_balance_request.rb +12 -0
  196. data/lib/pinelabs/pay_by_points/types/check_point_balance_request_order_details.rb +12 -0
  197. data/lib/pinelabs/pay_by_points/types/check_point_balance_request_order_details_order_amount.rb +13 -0
  198. data/lib/pinelabs/pay_by_points/types/check_point_balance_request_payment_option.rb +12 -0
  199. data/lib/pinelabs/pay_by_points/types/check_point_balance_request_payment_option_points_card_details.rb +13 -0
  200. data/lib/pinelabs/payment_links/client.rb +186 -0
  201. data/lib/pinelabs/payment_links/types/cancel_payment_link_request.rb +11 -0
  202. data/lib/pinelabs/payment_links/types/create_payment_link_request.rb +27 -0
  203. data/lib/pinelabs/payment_links/types/create_payment_link_request_allowed_payment_methods_item.rb +20 -0
  204. data/lib/pinelabs/payment_links/types/get_payment_link_by_id_request.rb +11 -0
  205. data/lib/pinelabs/payment_links/types/get_payment_link_by_merchant_reference_request.rb +11 -0
  206. data/lib/pinelabs/payment_links/types/resend_payment_link_notification_request.rb +11 -0
  207. data/lib/pinelabs/payouts/client.rb +261 -0
  208. data/lib/pinelabs/payouts/types/cancel_scheduled_payout_request.rb +11 -0
  209. data/lib/pinelabs/payouts/types/create_bulk_payout_request.rb +11 -0
  210. data/lib/pinelabs/payouts/types/create_payout_request.rb +19 -0
  211. data/lib/pinelabs/payouts/types/create_payout_request_mode.rb +16 -0
  212. data/lib/pinelabs/payouts/types/list_payouts_request.rb +20 -0
  213. data/lib/pinelabs/payouts/types/list_payouts_request_mode.rb +16 -0
  214. data/lib/pinelabs/payouts/types/list_payouts_request_status.rb +18 -0
  215. data/lib/pinelabs/payouts/types/update_scheduled_payout_request.rb +12 -0
  216. data/lib/pinelabs/refunds/client.rb +59 -0
  217. data/lib/pinelabs/refunds/types/create_refund_request.rb +16 -0
  218. data/lib/pinelabs/refunds/types/create_refund_request_order_amount.rb +13 -0
  219. data/lib/pinelabs/refunds/types/create_refund_request_products_item.rb +12 -0
  220. data/lib/pinelabs/refunds/types/create_refund_request_split_info.rb +13 -0
  221. data/lib/pinelabs/refunds/types/create_refund_request_split_info_split_details_item.rb +13 -0
  222. data/lib/pinelabs/refunds/types/create_refund_request_split_info_split_details_item_amount.rb +12 -0
  223. data/lib/pinelabs/settlements/client.rb +111 -0
  224. data/lib/pinelabs/settlements/types/get_all_settlements_request.rb +14 -0
  225. data/lib/pinelabs/settlements/types/get_settlements_by_utr_request.rb +13 -0
  226. data/lib/pinelabs/split_settlements/client.rb +93 -0
  227. data/lib/pinelabs/split_settlements/types/cancel_settlement_request.rb +12 -0
  228. data/lib/pinelabs/split_settlements/types/release_settlement_request.rb +13 -0
  229. data/lib/pinelabs/split_settlements/types/release_settlement_request_release_amount.rb +13 -0
  230. data/lib/pinelabs/subscriptions_plans/client.rb +248 -0
  231. data/lib/pinelabs/subscriptions_plans/types/create_plan_request.rb +22 -0
  232. data/lib/pinelabs/subscriptions_plans/types/create_plan_request_frequency.rb +22 -0
  233. data/lib/pinelabs/subscriptions_plans/types/delete_plan_request.rb +11 -0
  234. data/lib/pinelabs/subscriptions_plans/types/get_plan_by_id_request.rb +11 -0
  235. data/lib/pinelabs/subscriptions_plans/types/get_plan_by_merchant_reference_request.rb +11 -0
  236. data/lib/pinelabs/subscriptions_plans/types/list_plans_request.rb +19 -0
  237. data/lib/pinelabs/subscriptions_plans/types/list_plans_request_amount_range.rb +15 -0
  238. data/lib/pinelabs/subscriptions_plans/types/update_plan_request.rb +18 -0
  239. data/lib/pinelabs/subscriptions_presentations/client.rb +308 -0
  240. data/lib/pinelabs/subscriptions_presentations/types/create_debit_request.rb +13 -0
  241. data/lib/pinelabs/subscriptions_presentations/types/create_presentation_request.rb +14 -0
  242. data/lib/pinelabs/subscriptions_presentations/types/delete_presentation_request.rb +11 -0
  243. data/lib/pinelabs/subscriptions_presentations/types/get_presentation_by_id_request.rb +11 -0
  244. data/lib/pinelabs/subscriptions_presentations/types/get_presentation_by_merchant_reference_request.rb +11 -0
  245. data/lib/pinelabs/subscriptions_presentations/types/list_presentations_by_subscription_request.rb +14 -0
  246. data/lib/pinelabs/subscriptions_presentations/types/merchant_retry_request.rb +12 -0
  247. data/lib/pinelabs/subscriptions_presentations/types/subscription_notification_request.rb +15 -0
  248. data/lib/pinelabs/subscriptions_subscriptions/client.rb +321 -0
  249. data/lib/pinelabs/subscriptions_subscriptions/types/cancel_subscription_request.rb +11 -0
  250. data/lib/pinelabs/subscriptions_subscriptions/types/create_subscription_request.rb +23 -0
  251. data/lib/pinelabs/subscriptions_subscriptions/types/create_subscription_request_allowed_payment_methods_item.rb +17 -0
  252. data/lib/pinelabs/subscriptions_subscriptions/types/create_subscription_request_integration_mode.rb +14 -0
  253. data/lib/pinelabs/subscriptions_subscriptions/types/get_subscription_by_id_request.rb +11 -0
  254. data/lib/pinelabs/subscriptions_subscriptions/types/get_subscription_by_merchant_reference_request.rb +11 -0
  255. data/lib/pinelabs/subscriptions_subscriptions/types/list_subscriptions_request.rb +20 -0
  256. data/lib/pinelabs/subscriptions_subscriptions/types/list_subscriptions_request_amount_range.rb +15 -0
  257. data/lib/pinelabs/subscriptions_subscriptions/types/pause_subscription_request.rb +11 -0
  258. data/lib/pinelabs/subscriptions_subscriptions/types/resume_subscription_request.rb +11 -0
  259. data/lib/pinelabs/subscriptions_subscriptions/types/update_subscription_request.rb +14 -0
  260. data/lib/pinelabs/tokenization/client.rb +273 -0
  261. data/lib/pinelabs/tokenization/types/delete_customer_token_request.rb +14 -0
  262. data/lib/pinelabs/tokenization/types/delete_token_by_token_id_request.rb +11 -0
  263. data/lib/pinelabs/tokenization/types/generate_card_token_request.rb +16 -0
  264. data/lib/pinelabs/tokenization/types/generate_card_token_request_payment_method.rb +13 -0
  265. data/lib/pinelabs/tokenization/types/generate_cryptogram_request.rb +13 -0
  266. data/lib/pinelabs/tokenization/types/get_customer_token_by_token_id_request.rb +12 -0
  267. data/lib/pinelabs/tokenization/types/get_customer_tokens_by_customer_id_request.rb +11 -0
  268. data/lib/pinelabs/tokenization/types/get_service_provider_token_request.rb +11 -0
  269. data/lib/pinelabs/tokenization/types/get_service_provider_token_response.rb +14 -0
  270. data/lib/pinelabs/types/acquirer_data.rb +13 -0
  271. data/lib/pinelabs/types/address.rb +19 -0
  272. data/lib/pinelabs/types/address_address_category.rb +12 -0
  273. data/lib/pinelabs/types/amount.rb +11 -0
  274. data/lib/pinelabs/types/authorize_payment_response.rb +10 -0
  275. data/lib/pinelabs/types/authorize_payment_response_data.rb +24 -0
  276. data/lib/pinelabs/types/authorize_payment_response_data_integration_mode.rb +12 -0
  277. data/lib/pinelabs/types/authorize_payment_response_data_order_amount.rb +10 -0
  278. data/lib/pinelabs/types/authorize_payment_response_data_payments_item.rb +17 -0
  279. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_acquirer_data.rb +13 -0
  280. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_payment_amount.rb +10 -0
  281. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_payment_method.rb +15 -0
  282. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_payment_option.rb +9 -0
  283. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data.rb +10 -0
  284. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data.rb +18 -0
  285. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_card_type.rb +12 -0
  286. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_payment_option_wallet_data_wallet_card_data_token_txn_type.rb +13 -0
  287. data/lib/pinelabs/types/authorize_payment_response_data_payments_item_status.rb +15 -0
  288. data/lib/pinelabs/types/authorize_payment_response_data_purchase_details.rb +10 -0
  289. data/lib/pinelabs/types/authorize_payment_response_data_purchase_details_customer.rb +16 -0
  290. data/lib/pinelabs/types/authorize_payment_response_data_status.rb +19 -0
  291. data/lib/pinelabs/types/authorize_payment_response_data_type.rb +12 -0
  292. data/lib/pinelabs/types/bank_account.rb +12 -0
  293. data/lib/pinelabs/types/bnpl_check_eligibility_response.rb +11 -0
  294. data/lib/pinelabs/types/bnpl_check_eligibility_response_metadata.rb +11 -0
  295. data/lib/pinelabs/types/bnpl_check_eligibility_response_metadata_installments_item.rb +11 -0
  296. data/lib/pinelabs/types/bnpl_resend_otp_response.rb +12 -0
  297. data/lib/pinelabs/types/bnpl_resend_otp_response_meta_data.rb +10 -0
  298. data/lib/pinelabs/types/bnpl_submit_otp_response.rb +10 -0
  299. data/lib/pinelabs/types/calculate_convenience_fee_response.rb +10 -0
  300. data/lib/pinelabs/types/calculate_convenience_fee_response_data_item.rb +14 -0
  301. data/lib/pinelabs/types/calculate_convenience_fee_response_data_item_convenience_fee_breakdown.rb +14 -0
  302. data/lib/pinelabs/types/calculate_convenience_fee_response_data_item_payment_method_metadata.rb +11 -0
  303. data/lib/pinelabs/types/capture_data_item.rb +12 -0
  304. data/lib/pinelabs/types/card_data.rb +19 -0
  305. data/lib/pinelabs/types/card_data_card_category.rb +23 -0
  306. data/lib/pinelabs/types/card_data_card_type.rb +22 -0
  307. data/lib/pinelabs/types/card_data_token_txn_type.rb +13 -0
  308. data/lib/pinelabs/types/card_detail_lookup_item.rb +11 -0
  309. data/lib/pinelabs/types/card_detail_lookup_item_payment_reference_type.rb +14 -0
  310. data/lib/pinelabs/types/card_payment_detail_item.rb +18 -0
  311. data/lib/pinelabs/types/card_token_response.rb +15 -0
  312. data/lib/pinelabs/types/cart_details.rb +10 -0
  313. data/lib/pinelabs/types/cart_item.rb +18 -0
  314. data/lib/pinelabs/types/challan_response.rb +20 -0
  315. data/lib/pinelabs/types/check_point_balance_response.rb +13 -0
  316. data/lib/pinelabs/types/check_point_balance_response_balance.rb +11 -0
  317. data/lib/pinelabs/types/check_point_balance_response_redeemable_amount.rb +11 -0
  318. data/lib/pinelabs/types/checkout_customer.rb +17 -0
  319. data/lib/pinelabs/types/checkout_product.rb +11 -0
  320. data/lib/pinelabs/types/checkout_purchase_details.rb +11 -0
  321. data/lib/pinelabs/types/create_bulk_payout_response.rb +13 -0
  322. data/lib/pinelabs/types/create_bulk_payout_response_status.rb +16 -0
  323. data/lib/pinelabs/types/create_debit_response.rb +15 -0
  324. data/lib/pinelabs/types/create_debit_response_status.rb +16 -0
  325. data/lib/pinelabs/types/create_payout_response.rb +22 -0
  326. data/lib/pinelabs/types/create_payout_response_mode.rb +14 -0
  327. data/lib/pinelabs/types/create_payout_response_status.rb +16 -0
  328. data/lib/pinelabs/types/create_presentation_response.rb +15 -0
  329. data/lib/pinelabs/types/create_presentation_response_status.rb +18 -0
  330. data/lib/pinelabs/types/create_subscription_response.rb +31 -0
  331. data/lib/pinelabs/types/create_subscription_response_allowed_payment_methods_item.rb +15 -0
  332. data/lib/pinelabs/types/create_subscription_response_integration_mode.rb +12 -0
  333. data/lib/pinelabs/types/create_subscription_response_payment_mode.rb +12 -0
  334. data/lib/pinelabs/types/create_subscription_response_status.rb +24 -0
  335. data/lib/pinelabs/types/cryptogram_response.rb +13 -0
  336. data/lib/pinelabs/types/currency_conversion_response.rb +16 -0
  337. data/lib/pinelabs/types/customer_details.rb +18 -0
  338. data/lib/pinelabs/types/customer_response.rb +23 -0
  339. data/lib/pinelabs/types/customer_response_status.rb +14 -0
  340. data/lib/pinelabs/types/customer_token_detail.rb +21 -0
  341. data/lib/pinelabs/types/customer_token_detail_payment_method.rb +13 -0
  342. data/lib/pinelabs/types/customer_tokens_response.rb +14 -0
  343. data/lib/pinelabs/types/delete_customer_token_response.rb +13 -0
  344. data/lib/pinelabs/types/delete_token_by_token_id_response.rb +11 -0
  345. data/lib/pinelabs/types/downpayment_details_response.rb +10 -0
  346. data/lib/pinelabs/types/downpayment_details_response_downpayment_details.rb +12 -0
  347. data/lib/pinelabs/types/downpayment_details_response_downpayment_details_allowed_payment_methods_item.rb +15 -0
  348. data/lib/pinelabs/types/downpayment_details_response_downpayment_details_amount_range.rb +11 -0
  349. data/lib/pinelabs/types/error_response.rb +13 -0
  350. data/lib/pinelabs/types/error_response_additional_error_details.rb +12 -0
  351. data/lib/pinelabs/types/generate_checkout_link_response.rb +14 -0
  352. data/lib/pinelabs/types/generate_token_response.rb +11 -0
  353. data/lib/pinelabs/types/get_account_balance_response.rb +12 -0
  354. data/lib/pinelabs/types/get_card_details_response.rb +10 -0
  355. data/lib/pinelabs/types/get_payouts_payment_item.rb +24 -0
  356. data/lib/pinelabs/types/get_payouts_payment_item_mode.rb +14 -0
  357. data/lib/pinelabs/types/get_payouts_payment_item_status.rb +16 -0
  358. data/lib/pinelabs/types/get_payouts_response.rb +14 -0
  359. data/lib/pinelabs/types/imei_product.rb +13 -0
  360. data/lib/pinelabs/types/imei_validation_response.rb +12 -0
  361. data/lib/pinelabs/types/imei_validation_response_products_item.rb +14 -0
  362. data/lib/pinelabs/types/imei_validation_response_products_item_product_brand_response.rb +11 -0
  363. data/lib/pinelabs/types/imei_validation_response_products_item_product_imei_status.rb +12 -0
  364. data/lib/pinelabs/types/issuer_offer.rb +16 -0
  365. data/lib/pinelabs/types/issuer_offer_issuer_data.rb +21 -0
  366. data/lib/pinelabs/types/issuer_offer_issuer_data_auth_type.rb +12 -0
  367. data/lib/pinelabs/types/issuer_offer_issuer_data_penny_transaction_amount.rb +10 -0
  368. data/lib/pinelabs/types/issuer_offer_issuer_type.rb +19 -0
  369. data/lib/pinelabs/types/list_plans_response.rb +12 -0
  370. data/lib/pinelabs/types/list_presentations_response.rb +12 -0
  371. data/lib/pinelabs/types/list_settlements_response.rb +13 -0
  372. data/lib/pinelabs/types/list_subscriptions_response.rb +12 -0
  373. data/lib/pinelabs/types/merchant_metadata.rb +23 -0
  374. data/lib/pinelabs/types/net_banking_data_response.rb +11 -0
  375. data/lib/pinelabs/types/net_banking_data_response_txn_mode.rb +13 -0
  376. data/lib/pinelabs/types/offer_discovery_error_response.rb +12 -0
  377. data/lib/pinelabs/types/offer_discovery_error_response_additional_error_details.rb +12 -0
  378. data/lib/pinelabs/types/offer_discovery_response.rb +10 -0
  379. data/lib/pinelabs/types/offer_validation_error_response.rb +11 -0
  380. data/lib/pinelabs/types/offer_validation_error_response_additional_error_details.rb +12 -0
  381. data/lib/pinelabs/types/offer_validation_response.rb +11 -0
  382. data/lib/pinelabs/types/order_response.rb +10 -0
  383. data/lib/pinelabs/types/order_response_data.rb +31 -0
  384. data/lib/pinelabs/types/order_response_data_integration_mode.rb +12 -0
  385. data/lib/pinelabs/types/order_response_data_purchase_details.rb +12 -0
  386. data/lib/pinelabs/types/order_response_data_status.rb +19 -0
  387. data/lib/pinelabs/types/order_response_data_type.rb +12 -0
  388. data/lib/pinelabs/types/otp_generate_response.rb +11 -0
  389. data/lib/pinelabs/types/otp_generate_response_meta_data.rb +10 -0
  390. data/lib/pinelabs/types/otp_generate_response_next_item.rb +13 -0
  391. data/lib/pinelabs/types/page_info.rb +13 -0
  392. data/lib/pinelabs/types/pagination_links.rb +13 -0
  393. data/lib/pinelabs/types/pagination_links_first.rb +9 -0
  394. data/lib/pinelabs/types/pagination_links_last.rb +9 -0
  395. data/lib/pinelabs/types/pagination_links_next.rb +9 -0
  396. data/lib/pinelabs/types/pagination_links_self.rb +9 -0
  397. data/lib/pinelabs/types/pagination_meta.rb +13 -0
  398. data/lib/pinelabs/types/payment_item.rb +23 -0
  399. data/lib/pinelabs/types/payment_item_error_detail.rb +11 -0
  400. data/lib/pinelabs/types/payment_item_payment_method.rb +18 -0
  401. data/lib/pinelabs/types/payment_item_payment_option.rb +12 -0
  402. data/lib/pinelabs/types/payment_item_status.rb +15 -0
  403. data/lib/pinelabs/types/payment_link_account_details.rb +10 -0
  404. data/lib/pinelabs/types/payment_link_address.rb +16 -0
  405. data/lib/pinelabs/types/payment_link_bank_details.rb +12 -0
  406. data/lib/pinelabs/types/payment_link_cart_details.rb +10 -0
  407. data/lib/pinelabs/types/payment_link_cart_item.rb +11 -0
  408. data/lib/pinelabs/types/payment_link_customer.rb +19 -0
  409. data/lib/pinelabs/types/payment_link_product_detail.rb +12 -0
  410. data/lib/pinelabs/types/payment_link_response.rb +30 -0
  411. data/lib/pinelabs/types/payment_link_response_allowed_payment_methods_item.rb +17 -0
  412. data/lib/pinelabs/types/payment_link_response_status.rb +17 -0
  413. data/lib/pinelabs/types/payment_link_split_detail.rb +16 -0
  414. data/lib/pinelabs/types/payment_link_split_detail_status.rb +12 -0
  415. data/lib/pinelabs/types/payment_link_split_info.rb +11 -0
  416. data/lib/pinelabs/types/payment_object.rb +17 -0
  417. data/lib/pinelabs/types/payment_object_acquirer_data.rb +13 -0
  418. data/lib/pinelabs/types/payment_object_payment_amount.rb +10 -0
  419. data/lib/pinelabs/types/payment_object_payment_method.rb +15 -0
  420. data/lib/pinelabs/types/payment_object_status.rb +15 -0
  421. data/lib/pinelabs/types/payment_request_item.rb +16 -0
  422. data/lib/pinelabs/types/payment_request_item_device_info.rb +16 -0
  423. data/lib/pinelabs/types/payment_request_item_device_info_operating_system.rb +14 -0
  424. data/lib/pinelabs/types/payment_request_item_offer_data.rb +11 -0
  425. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details.rb +15 -0
  426. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure.rb +34 -0
  427. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_auth_amount.rb +10 -0
  428. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_cart_coupon_discount_amount.rb +10 -0
  429. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown.rb +15 -0
  430. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_additional_fee_amount.rb +10 -0
  431. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_applicable_fee_amount.rb +10 -0
  432. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_amount.rb +10 -0
  433. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_fee_calculated_on_amount.rb +10 -0
  434. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_maximum_fee_amount.rb +10 -0
  435. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_subvented_fee_amount.rb +10 -0
  436. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_convenience_fee_breakdown_tax_amount.rb +10 -0
  437. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item.rb +23 -0
  438. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_after_downpayment_reduced_product_amount.rb +10 -0
  439. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_cart_coupon_discount_product_share.rb +10 -0
  440. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount.rb +17 -0
  441. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup.rb +12 -0
  442. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand.rb +9 -0
  443. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_brand_amount.rb +10 -0
  444. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer.rb +9 -0
  445. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_dealer_amount.rb +10 -0
  446. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer.rb +9 -0
  447. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_issuer_amount.rb +10 -0
  448. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant.rb +9 -0
  449. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_breakup_merchant_amount.rb +10 -0
  450. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_max_amount.rb +10 -0
  451. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_discount_min_amount.rb +10 -0
  452. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_downpayment_amount.rb +10 -0
  453. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_interest_amount.rb +10 -0
  454. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_amount.rb +10 -0
  455. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_coupon_discount_amount.rb +10 -0
  456. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_product_offer_parameters_item.rb +11 -0
  457. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention.rb +14 -0
  458. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_amount.rb +10 -0
  459. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup.rb +12 -0
  460. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand.rb +9 -0
  461. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_brand_amount.rb +10 -0
  462. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer.rb +9 -0
  463. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_dealer_amount.rb +10 -0
  464. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer.rb +9 -0
  465. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_issuer_amount.rb +10 -0
  466. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant.rb +9 -0
  467. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_breakup_merchant_amount.rb +10 -0
  468. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_max_amount.rb +10 -0
  469. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_details_item_subvention_min_amount.rb +10 -0
  470. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details.rb +10 -0
  471. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_downpayment_details_downpayment_amount.rb +10 -0
  472. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_intrest_amount.rb +10 -0
  473. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_loan_amount.rb +10 -0
  474. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_monthly_emi_amount.rb +10 -0
  475. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_net_payment_amount.rb +10 -0
  476. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details.rb +9 -0
  477. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_processing_fee_details_amount.rb +10 -0
  478. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_split_emi_amount.rb +10 -0
  479. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_coupon_discount.rb +10 -0
  480. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_discount_amount.rb +10 -0
  481. data/lib/pinelabs/types/payment_request_item_offer_data_offer_details_tenure_total_emi_amount.rb +10 -0
  482. data/lib/pinelabs/types/payment_request_item_payment_method.rb +19 -0
  483. data/lib/pinelabs/types/payment_request_item_payment_option.rb +16 -0
  484. data/lib/pinelabs/types/payment_request_item_payment_option_bnpl_details.rb +11 -0
  485. data/lib/pinelabs/types/payment_request_item_payment_option_bnpl_details_bnpl_pay_code.rb +11 -0
  486. data/lib/pinelabs/types/payment_request_item_payment_option_card_details.rb +15 -0
  487. data/lib/pinelabs/types/payment_request_item_payment_option_card_token_details.rb +16 -0
  488. data/lib/pinelabs/types/payment_request_item_payment_option_cardless_details.rb +11 -0
  489. data/lib/pinelabs/types/payment_request_item_payment_option_points_card_details.rb +12 -0
  490. data/lib/pinelabs/types/payout_amount.rb +12 -0
  491. data/lib/pinelabs/types/payout_detail.rb +25 -0
  492. data/lib/pinelabs/types/payout_detail_mode.rb +14 -0
  493. data/lib/pinelabs/types/payout_detail_status.rb +16 -0
  494. data/lib/pinelabs/types/payout_link.rb +11 -0
  495. data/lib/pinelabs/types/plan_response.rb +25 -0
  496. data/lib/pinelabs/types/plan_response_frequency.rb +20 -0
  497. data/lib/pinelabs/types/plan_response_status.rb +13 -0
  498. data/lib/pinelabs/types/presentation_detail.rb +18 -0
  499. data/lib/pinelabs/types/presentation_detail_pdn_status.rb +17 -0
  500. data/lib/pinelabs/types/presentation_detail_status.rb +19 -0
  501. data/lib/pinelabs/types/product_detail.rb +13 -0
  502. data/lib/pinelabs/types/refund_response.rb +10 -0
  503. data/lib/pinelabs/types/refund_response_data.rb +21 -0
  504. data/lib/pinelabs/types/refund_response_data_integration_mode.rb +12 -0
  505. data/lib/pinelabs/types/refund_response_data_order_amount.rb +10 -0
  506. data/lib/pinelabs/types/refund_response_data_purchase_details.rb +11 -0
  507. data/lib/pinelabs/types/refund_response_data_purchase_details_customer.rb +17 -0
  508. data/lib/pinelabs/types/refund_response_data_purchase_details_split_info.rb +10 -0
  509. data/lib/pinelabs/types/refund_response_data_status.rb +14 -0
  510. data/lib/pinelabs/types/refund_response_data_type.rb +12 -0
  511. data/lib/pinelabs/types/resend_otp_error_response.rb +12 -0
  512. data/lib/pinelabs/types/service_provider_token_response.rb +18 -0
  513. data/lib/pinelabs/types/service_provider_token_response_payment_method.rb +11 -0
  514. data/lib/pinelabs/types/service_provider_tokens_list_response.rb +11 -0
  515. data/lib/pinelabs/types/settlement_by_utr_response.rb +35 -0
  516. data/lib/pinelabs/types/settlement_by_utr_response_pagination.rb +10 -0
  517. data/lib/pinelabs/types/settlement_summary.rb +20 -0
  518. data/lib/pinelabs/types/settlement_transaction.rb +24 -0
  519. data/lib/pinelabs/types/simple_amount.rb +11 -0
  520. data/lib/pinelabs/types/split_detail.rb +16 -0
  521. data/lib/pinelabs/types/split_detail_refund.rb +15 -0
  522. data/lib/pinelabs/types/split_detail_refund_amount.rb +10 -0
  523. data/lib/pinelabs/types/split_detail_refund_status.rb +12 -0
  524. data/lib/pinelabs/types/split_detail_status.rb +12 -0
  525. data/lib/pinelabs/types/split_info.rb +11 -0
  526. data/lib/pinelabs/types/split_payment_object.rb +20 -0
  527. data/lib/pinelabs/types/split_payment_object_acquirer_data.rb +12 -0
  528. data/lib/pinelabs/types/split_payment_object_additional_detail.rb +10 -0
  529. data/lib/pinelabs/types/split_payment_object_capture_data_item.rb +11 -0
  530. data/lib/pinelabs/types/split_payment_object_capture_data_item_capture_amount.rb +10 -0
  531. data/lib/pinelabs/types/split_payment_object_payment_amount.rb +10 -0
  532. data/lib/pinelabs/types/split_payment_object_payment_method.rb +15 -0
  533. data/lib/pinelabs/types/split_payment_object_payment_option.rb +9 -0
  534. data/lib/pinelabs/types/split_payment_object_payment_option_card_data.rb +18 -0
  535. data/lib/pinelabs/types/split_payment_object_payment_option_card_data_card_type.rb +12 -0
  536. data/lib/pinelabs/types/split_payment_object_payment_option_card_data_token_txn_type.rb +13 -0
  537. data/lib/pinelabs/types/split_payment_object_status.rb +15 -0
  538. data/lib/pinelabs/types/split_settlement_detail.rb +16 -0
  539. data/lib/pinelabs/types/split_settlement_detail_amount.rb +10 -0
  540. data/lib/pinelabs/types/split_settlement_detail_release_amount.rb +11 -0
  541. data/lib/pinelabs/types/split_settlement_detail_status.rb +12 -0
  542. data/lib/pinelabs/types/split_settlement_response.rb +10 -0
  543. data/lib/pinelabs/types/split_settlement_response_data.rb +23 -0
  544. data/lib/pinelabs/types/split_settlement_response_data_allowed_payment_methods_item.rb +15 -0
  545. data/lib/pinelabs/types/split_settlement_response_data_integration_mode.rb +12 -0
  546. data/lib/pinelabs/types/split_settlement_response_data_order_amount.rb +10 -0
  547. data/lib/pinelabs/types/split_settlement_response_data_purchase_details.rb +11 -0
  548. data/lib/pinelabs/types/split_settlement_response_data_purchase_details_customer.rb +17 -0
  549. data/lib/pinelabs/types/split_settlement_response_data_purchase_details_split_info.rb +10 -0
  550. data/lib/pinelabs/types/split_settlement_response_data_status.rb +19 -0
  551. data/lib/pinelabs/types/split_settlement_response_data_type.rb +12 -0
  552. data/lib/pinelabs/types/submit_otp_error_response.rb +13 -0
  553. data/lib/pinelabs/types/submit_otp_error_response_meta_data.rb +10 -0
  554. data/lib/pinelabs/types/subscription_amount.rb +11 -0
  555. data/lib/pinelabs/types/subscription_detail.rb +28 -0
  556. data/lib/pinelabs/types/subscription_detail_allowed_payment_methods_item.rb +15 -0
  557. data/lib/pinelabs/types/subscription_detail_integration_mode.rb +12 -0
  558. data/lib/pinelabs/types/subscription_detail_payment_mode.rb +12 -0
  559. data/lib/pinelabs/types/subscription_detail_status.rb +24 -0
  560. data/lib/pinelabs/types/subscription_notification_response.rb +16 -0
  561. data/lib/pinelabs/types/subscription_notification_response_pdn_status.rb +17 -0
  562. data/lib/pinelabs/types/subscription_notification_response_status.rb +18 -0
  563. data/lib/pinelabs/types/tenure.rb +36 -0
  564. data/lib/pinelabs/types/tenure_auth_amount.rb +10 -0
  565. data/lib/pinelabs/types/tenure_cart_coupon_discount_amount.rb +10 -0
  566. data/lib/pinelabs/types/tenure_convenience_fee_breakdown.rb +16 -0
  567. data/lib/pinelabs/types/tenure_convenience_fee_breakdown_additional_fee_amount.rb +10 -0
  568. data/lib/pinelabs/types/tenure_convenience_fee_breakdown_applicable_fee_amount.rb +10 -0
  569. data/lib/pinelabs/types/tenure_convenience_fee_breakdown_fee_amount.rb +10 -0
  570. data/lib/pinelabs/types/tenure_convenience_fee_breakdown_fee_calculated_on_amount.rb +10 -0
  571. data/lib/pinelabs/types/tenure_convenience_fee_breakdown_maximum_fee_amount.rb +10 -0
  572. data/lib/pinelabs/types/tenure_convenience_fee_breakdown_subvented_fee_amount.rb +10 -0
  573. data/lib/pinelabs/types/tenure_convenience_fee_breakdown_tax_amount.rb +10 -0
  574. data/lib/pinelabs/types/tenure_details_item.rb +23 -0
  575. data/lib/pinelabs/types/tenure_details_item_after_downpayment_reduced_product_amount.rb +10 -0
  576. data/lib/pinelabs/types/tenure_details_item_cart_coupon_discount_product_share.rb +10 -0
  577. data/lib/pinelabs/types/tenure_details_item_discount.rb +16 -0
  578. data/lib/pinelabs/types/tenure_details_item_discount_amount.rb +10 -0
  579. data/lib/pinelabs/types/tenure_details_item_discount_breakup.rb +10 -0
  580. data/lib/pinelabs/types/tenure_details_item_discount_breakup_brand.rb +9 -0
  581. data/lib/pinelabs/types/tenure_details_item_discount_breakup_brand_amount.rb +10 -0
  582. data/lib/pinelabs/types/tenure_details_item_discount_breakup_merchant.rb +9 -0
  583. data/lib/pinelabs/types/tenure_details_item_discount_breakup_merchant_amount.rb +10 -0
  584. data/lib/pinelabs/types/tenure_details_item_discount_discount_deferred_duration_type.rb +12 -0
  585. data/lib/pinelabs/types/tenure_details_item_discount_discount_type.rb +12 -0
  586. data/lib/pinelabs/types/tenure_details_item_discount_max_amount.rb +10 -0
  587. data/lib/pinelabs/types/tenure_details_item_downpayment_amount.rb +10 -0
  588. data/lib/pinelabs/types/tenure_details_item_interest_amount.rb +10 -0
  589. data/lib/pinelabs/types/tenure_details_item_product_amount.rb +10 -0
  590. data/lib/pinelabs/types/tenure_details_item_product_coupon_discount_amount.rb +10 -0
  591. data/lib/pinelabs/types/tenure_details_item_product_offer_parameters_item.rb +11 -0
  592. data/lib/pinelabs/types/tenure_details_item_subvention.rb +15 -0
  593. data/lib/pinelabs/types/tenure_details_item_subvention_amount.rb +10 -0
  594. data/lib/pinelabs/types/tenure_details_item_subvention_breakup.rb +9 -0
  595. data/lib/pinelabs/types/tenure_details_item_subvention_breakup_brand.rb +9 -0
  596. data/lib/pinelabs/types/tenure_details_item_subvention_breakup_brand_amount.rb +10 -0
  597. data/lib/pinelabs/types/tenure_details_item_subvention_max_amount.rb +10 -0
  598. data/lib/pinelabs/types/tenure_details_item_subvention_min_amount.rb +10 -0
  599. data/lib/pinelabs/types/tenure_details_item_subvention_offer_type.rb +13 -0
  600. data/lib/pinelabs/types/tenure_details_item_subvention_subvention_type.rb +12 -0
  601. data/lib/pinelabs/types/tenure_discount.rb +17 -0
  602. data/lib/pinelabs/types/tenure_discount_amount.rb +10 -0
  603. data/lib/pinelabs/types/tenure_discount_breakup.rb +12 -0
  604. data/lib/pinelabs/types/tenure_discount_breakup_brand.rb +9 -0
  605. data/lib/pinelabs/types/tenure_discount_breakup_brand_amount.rb +10 -0
  606. data/lib/pinelabs/types/tenure_discount_breakup_dealer.rb +9 -0
  607. data/lib/pinelabs/types/tenure_discount_breakup_dealer_amount.rb +10 -0
  608. data/lib/pinelabs/types/tenure_discount_breakup_issuer.rb +9 -0
  609. data/lib/pinelabs/types/tenure_discount_breakup_issuer_amount.rb +10 -0
  610. data/lib/pinelabs/types/tenure_discount_breakup_merchant.rb +9 -0
  611. data/lib/pinelabs/types/tenure_discount_breakup_merchant_amount.rb +10 -0
  612. data/lib/pinelabs/types/tenure_discount_discount_deferred_duration_type.rb +12 -0
  613. data/lib/pinelabs/types/tenure_discount_discount_type.rb +12 -0
  614. data/lib/pinelabs/types/tenure_discount_max_amount.rb +10 -0
  615. data/lib/pinelabs/types/tenure_downpayment_details.rb +10 -0
  616. data/lib/pinelabs/types/tenure_downpayment_details_downpayment_amount.rb +10 -0
  617. data/lib/pinelabs/types/tenure_emi_type.rb +13 -0
  618. data/lib/pinelabs/types/tenure_interest_amount.rb +10 -0
  619. data/lib/pinelabs/types/tenure_issuer_offer_parameters_item.rb +11 -0
  620. data/lib/pinelabs/types/tenure_loan_amount.rb +10 -0
  621. data/lib/pinelabs/types/tenure_monthly_emi_amount.rb +10 -0
  622. data/lib/pinelabs/types/tenure_net_payment_amount.rb +10 -0
  623. data/lib/pinelabs/types/tenure_processing_fee_amount.rb +10 -0
  624. data/lib/pinelabs/types/tenure_processing_fee_details.rb +11 -0
  625. data/lib/pinelabs/types/tenure_processing_fee_details_amount.rb +10 -0
  626. data/lib/pinelabs/types/tenure_split_emi_amount.rb +10 -0
  627. data/lib/pinelabs/types/tenure_tenure_type.rb +11 -0
  628. data/lib/pinelabs/types/tenure_total_coupon_discount.rb +10 -0
  629. data/lib/pinelabs/types/tenure_total_discount_amount.rb +10 -0
  630. data/lib/pinelabs/types/tenure_total_down_payment_amount.rb +10 -0
  631. data/lib/pinelabs/types/tenure_total_emi_amount.rb +10 -0
  632. data/lib/pinelabs/types/tenure_total_subvention_amount.rb +10 -0
  633. data/lib/pinelabs/types/token_card_data.rb +18 -0
  634. data/lib/pinelabs/types/token_card_data_card_type.rb +12 -0
  635. data/lib/pinelabs/types/token_payment.rb +10 -0
  636. data/lib/pinelabs/types/token_payment_acquirer_data.rb +13 -0
  637. data/lib/pinelabs/types/token_payment_option.rb +10 -0
  638. data/lib/pinelabs/types/token_status.rb +15 -0
  639. data/lib/pinelabs/types/token_transactional_data.rb +14 -0
  640. data/lib/pinelabs/types/upi_details_response.rb +11 -0
  641. data/lib/pinelabs/types/upi_details_response_payer.rb +9 -0
  642. data/lib/pinelabs/types/upi_details_response_txn_mode.rb +12 -0
  643. data/lib/pinelabs/version.rb +5 -0
  644. data/lib/pinelabs.rb +641 -0
  645. data/reference.md +6688 -0
  646. metadata +689 -0
checksums.yaml ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 797290cac23c9f83af26e1c968438eea41f84fc6c62fbc078409cc1dd8e57bf6
4
+ data.tar.gz: 997a9e631ddb0abe051cf89029db1adb48186a614dab12353b00fe8118d9f5a9
@@ -0,0 +1,10 @@
1
+ {
2
+ "cliVersion": "4.90.0",
3
+ "generatorName": "fernapi/fern-ruby-sdk",
4
+ "generatorVersion": "1.7.1",
5
+ "originGitCommit": "2d39e7ec223a37ce1257898682838794717da294",
6
+ "originGitCommitIsDirty": true,
7
+ "invokedBy": "manual",
8
+ "requestedVersion": null,
9
+ "ciProvider": null
10
+ }
data/.fernignore ADDED
@@ -0,0 +1,4 @@
1
+ # Files Fern's generator must NOT overwrite on regeneration.
2
+ custom.gemspec.rb
3
+ .fernignore
4
+ README.md
data/.rubocop.yml ADDED
@@ -0,0 +1,70 @@
1
+ plugins:
2
+ - rubocop-minitest
3
+
4
+ AllCops:
5
+ TargetRubyVersion: 3.3
6
+ NewCops: enable
7
+
8
+ Style/StringLiterals:
9
+ EnforcedStyle: double_quotes
10
+
11
+ Style/StringLiteralsInInterpolation:
12
+ EnforcedStyle: double_quotes
13
+
14
+ Style/AccessModifierDeclarations:
15
+ Enabled: false
16
+
17
+ Lint/ConstantDefinitionInBlock:
18
+ Enabled: false
19
+
20
+ Metrics/AbcSize:
21
+ Enabled: false
22
+
23
+ Metrics/BlockLength:
24
+ Enabled: false
25
+
26
+ Metrics/ClassLength:
27
+ Enabled: false
28
+
29
+ Metrics/MethodLength:
30
+ Enabled: false
31
+
32
+ Metrics/ParameterLists:
33
+ Enabled: false
34
+
35
+ Metrics/PerceivedComplexity:
36
+ Enabled: false
37
+
38
+ Metrics/CyclomaticComplexity:
39
+ Enabled: false
40
+
41
+ Metrics/ModuleLength:
42
+ Enabled: false
43
+
44
+ Layout/LineLength:
45
+ Enabled: false
46
+
47
+ Naming/VariableNumber:
48
+ EnforcedStyle: normalcase
49
+ Severity: warning
50
+
51
+ Style/Documentation:
52
+ Enabled: false
53
+
54
+ Style/Lambda:
55
+ EnforcedStyle: literal
56
+
57
+ Minitest/MultipleAssertions:
58
+ Enabled: false
59
+
60
+ Minitest/UselessAssertion:
61
+ Enabled: false
62
+
63
+ # Dynamic snippets are code samples for documentation, not standalone Ruby files.
64
+ Style/FrozenStringLiteralComment:
65
+ Exclude:
66
+ - "dynamic-snippets/**/*"
67
+
68
+ Layout/FirstHashElementIndentation:
69
+ Exclude:
70
+ - "dynamic-snippets/**/*"
data/README.md ADDED
@@ -0,0 +1,165 @@
1
+ # Pinelabs Ruby Library
2
+
3
+
4
+ The Pinelabs Ruby library provides convenient access to the Pinelabs APIs from Ruby.
5
+
6
+ ## Table of Contents
7
+
8
+ - [Reference](#reference)
9
+ - [Usage](#usage)
10
+ - [Environments](#environments)
11
+ - [Errors](#errors)
12
+ - [Advanced](#advanced)
13
+ - [Retries](#retries)
14
+ - [Timeouts](#timeouts)
15
+ - [Additional Headers](#additional-headers)
16
+ - [Additional Query Parameters](#additional-query-parameters)
17
+ - [Contributing](#contributing)
18
+
19
+ ## Reference
20
+
21
+ A full reference for this library is available [here](./reference.md).
22
+
23
+ ## Usage
24
+
25
+ Instantiate and use the client with the following:
26
+
27
+ ```ruby
28
+ require "pinelabs"
29
+
30
+ client = Pinelabs::Client.new(token: "<token>")
31
+
32
+ client.authentication.generate_token(
33
+ client_id: "a17ce30e-f88e-4f81-ada1-c3b4909ed232",
34
+ client_secret: "abcdefgwei7egyhuggwp39w8rh",
35
+ grant_type: "client_credentials"
36
+ )
37
+ ```
38
+
39
+ ## Environments
40
+
41
+ This SDK allows you to configure different environments or custom URLs for API requests. You can either use the predefined environments or specify your own custom URL.
42
+ ### Environments
43
+ ```ruby
44
+ require "pinelabs"
45
+
46
+ pinelabs = Pinelabs::Client.new(
47
+ base_url: Pinelabs::Environment::PRODUCTION
48
+ )
49
+ ```
50
+
51
+ ### Custom URL
52
+ ```ruby
53
+ require "pinelabs"
54
+
55
+ client = Pinelabs::Client.new(
56
+ base_url: "https://example.com"
57
+ )
58
+ ```
59
+
60
+ ## Errors
61
+
62
+ Failed API calls will raise errors that can be rescued from granularly.
63
+
64
+ ```ruby
65
+ require "pinelabs"
66
+
67
+ client = Pinelabs::Client.new(
68
+ base_url: "https://example.com"
69
+ )
70
+
71
+ begin
72
+ result = client.authentication.generate_token
73
+ rescue Pinelabs::Errors::TimeoutError
74
+ puts "API didn't respond before our timeout elapsed"
75
+ rescue Pinelabs::Errors::ServiceUnavailableError
76
+ puts "API returned status 503, is probably overloaded, try again later"
77
+ rescue Pinelabs::Errors::ServerError
78
+ puts "API returned some other 5xx status, this is probably a bug"
79
+ rescue Pinelabs::Errors::ResponseError => e
80
+ puts "API returned an unexpected status other than 5xx: #{e.code} #{e.message}"
81
+ rescue Pinelabs::Errors::ApiError => e
82
+ puts "Some other error occurred when calling the API: #{e.message}"
83
+ end
84
+ ```
85
+
86
+ ## Advanced
87
+
88
+ ### Retries
89
+
90
+ The SDK is instrumented with automatic retries. A request will be retried as long as the request is deemed
91
+ retryable and the number of retry attempts has not grown larger than the configured retry limit (default: 2).
92
+
93
+ A request is deemed retryable when any of the following HTTP status codes is returned:
94
+
95
+ - [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout)
96
+ - [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests)
97
+ - [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) (Internal Server Errors)
98
+
99
+ Use the `max_retries` option to configure this behavior.
100
+
101
+ ```ruby
102
+ require "pinelabs"
103
+
104
+ client = Pinelabs::Client.new(
105
+ base_url: "https://example.com",
106
+ max_retries: 3 # Configure max retries (default is 2)
107
+ )
108
+ ```
109
+
110
+ ### Timeouts
111
+
112
+ The SDK defaults to a 60 second timeout. Use the `timeout` option to configure this behavior.
113
+
114
+ ```ruby
115
+ require "pinelabs"
116
+
117
+ response = client.authentication.generate_token(
118
+ ...,
119
+ timeout: 30 # 30 second timeout
120
+ )
121
+ ```
122
+
123
+ ### Additional Headers
124
+
125
+ If you would like to send additional headers as part of the request, use the `additional_headers` request option.
126
+
127
+ ```ruby
128
+ require "pinelabs"
129
+
130
+ response = client.authentication.generate_token(
131
+ ...,
132
+ request_options: {
133
+ additional_headers: {
134
+ "X-Custom-Header" => "custom-value"
135
+ }
136
+ }
137
+ )
138
+ ```
139
+
140
+ ### Additional Query Parameters
141
+
142
+ If you would like to send additional query parameters as part of the request, use the `additional_query_parameters` request option.
143
+
144
+ ```ruby
145
+ require "pinelabs"
146
+
147
+ response = client.authentication.generate_token(
148
+ ...,
149
+ request_options: {
150
+ additional_query_parameters: {
151
+ "custom_param" => "custom-value"
152
+ }
153
+ }
154
+ )
155
+ ```
156
+
157
+ ## Contributing
158
+
159
+ While we value open-source contributions to this SDK, this library is generated programmatically.
160
+ Additions made directly to this library would have to be moved over to our generation code,
161
+ otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
162
+ a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
163
+ an issue first to discuss with us!
164
+
165
+ On the other hand, contributions to the README are always very welcome!
data/Rakefile ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "minitest/test_task"
5
+
6
+ Minitest::TestTask.create
7
+
8
+ require "rubocop/rake_task"
9
+
10
+ RuboCop::RakeTask.new
11
+
12
+ task default: %i[test]
13
+
14
+ task lint: %i[rubocop]
15
+
16
+ # Run only the custom test file
17
+ Minitest::TestTask.create(:customtest) do |t|
18
+ t.libs << "test"
19
+ t.test_globs = ["test/custom.test.rb"]
20
+ end
data/custom.gemspec.rb ADDED
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Custom gemspec configuration file
4
+ # This file is automatically loaded by the main gemspec file. The 'spec' variable is available
5
+ # in this context from the main gemspec file. You can modify this file to add custom metadata,
6
+ # dependencies, or other gemspec configurations. If you do make changes to this file, you will
7
+ # need to add it to the .fernignore file to prevent your changes from being overwritten.
8
+
9
+ def add_custom_gemspec_data(spec)
10
+ spec.name = "pinelabs"
11
+ spec.authors = ["Pine Labs"]
12
+ spec.email = ["developer-support@pinelabs.com"]
13
+ spec.homepage = "https://github.com/plural-pinelabs/pinelabs-ruby"
14
+ spec.license = "MIT"
15
+ spec.metadata = {
16
+ "homepage_uri" => "https://github.com/plural-pinelabs/pinelabs-ruby",
17
+ "source_code_uri" => "https://github.com/plural-pinelabs/pinelabs-ruby",
18
+ "bug_tracker_uri" => "https://github.com/plural-pinelabs/pinelabs-ruby/issues",
19
+ "documentation_uri" => "https://docs.pluralonline.com",
20
+ "rubygems_mfa_required" => "true",
21
+ }
22
+ end
@@ -0,0 +1,208 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ class Client
6
+ # @param client [Pinelabs::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Use this API to discover offers available on cart amount or product and calculate the EMI.
14
+ #
15
+ # @param request_options [Hash]
16
+ # @param params [Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequest]
17
+ # @option request_options [String] :base_url
18
+ # @option request_options [Hash{String => Object}] :additional_headers
19
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
20
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
21
+ # @option request_options [Integer] :timeout_in_seconds
22
+ # @option params [String, nil] :accept_encoding
23
+ #
24
+ # @return [Pinelabs::Types::OfferDiscoveryResponse]
25
+ def create_offer_discovery(request_options: {}, **params)
26
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
27
+ request_data = Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequest.new(params).to_h
28
+ non_body_param_names = ["Accept-Encoding"]
29
+ body = request_data.except(*non_body_param_names)
30
+
31
+ headers = {}
32
+ headers["Accept-Encoding"] = params[:accept_encoding] if params[:accept_encoding]
33
+
34
+ request = Pinelabs::Internal::JSON::Request.new(
35
+ base_url: request_options[:base_url],
36
+ method: "POST",
37
+ path: "api/affordability/v1/offer/discovery",
38
+ headers: headers,
39
+ body: body,
40
+ request_options: request_options
41
+ )
42
+ begin
43
+ response = @client.send(request)
44
+ rescue Net::HTTPRequestTimeout
45
+ raise Pinelabs::Errors::TimeoutError
46
+ end
47
+ code = response.code.to_i
48
+ if code.between?(200, 299)
49
+ Pinelabs::Types::OfferDiscoveryResponse.load(response.body)
50
+ else
51
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
52
+ raise error_class.new(response.body, code: code)
53
+ end
54
+ end
55
+
56
+ # Discover available cardless EMI offers for a given order amount and product.
57
+ # Used when customer does not use a card for EMI (e.g. BNPL-style cardless EMI).
58
+ #
59
+ # @param request_options [Hash]
60
+ # @param params [Pinelabs::AffordabilitySuite::Types::OfferDiscoveryCardlessRequest]
61
+ # @option request_options [String] :base_url
62
+ # @option request_options [Hash{String => Object}] :additional_headers
63
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
64
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
65
+ # @option request_options [Integer] :timeout_in_seconds
66
+ #
67
+ # @return [Pinelabs::Types::OfferDiscoveryResponse]
68
+ def create_cardless_offer_discovery(request_options: {}, **params)
69
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
70
+ request = Pinelabs::Internal::JSON::Request.new(
71
+ base_url: request_options[:base_url],
72
+ method: "POST",
73
+ path: "api/affordability/v1/offer/discovery/cardless",
74
+ body: Pinelabs::AffordabilitySuite::Types::OfferDiscoveryCardlessRequest.new(params).to_h,
75
+ request_options: request_options
76
+ )
77
+ begin
78
+ response = @client.send(request)
79
+ rescue Net::HTTPRequestTimeout
80
+ raise Pinelabs::Errors::TimeoutError
81
+ end
82
+ code = response.code.to_i
83
+ if code.between?(200, 299)
84
+ Pinelabs::Types::OfferDiscoveryResponse.load(response.body)
85
+ else
86
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
87
+ raise error_class.new(response.body, code: code)
88
+ end
89
+ end
90
+
91
+ # Retrieve applicable down payment range and EMI repayment details
92
+ # based on order amount and issuer BIN.
93
+ #
94
+ # @param request_options [Hash]
95
+ # @param params [Pinelabs::AffordabilitySuite::Types::DownpaymentDetailsRequest]
96
+ # @option request_options [String] :base_url
97
+ # @option request_options [Hash{String => Object}] :additional_headers
98
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
99
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
100
+ # @option request_options [Integer] :timeout_in_seconds
101
+ #
102
+ # @return [Pinelabs::Types::DownpaymentDetailsResponse]
103
+ def create_down_payment_details(request_options: {}, **params)
104
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
105
+ request = Pinelabs::Internal::JSON::Request.new(
106
+ base_url: request_options[:base_url],
107
+ method: "POST",
108
+ path: "api/affordability/v1/offer/downpayment/details",
109
+ body: Pinelabs::AffordabilitySuite::Types::DownpaymentDetailsRequest.new(params).to_h,
110
+ request_options: request_options
111
+ )
112
+ begin
113
+ response = @client.send(request)
114
+ rescue Net::HTTPRequestTimeout
115
+ raise Pinelabs::Errors::TimeoutError
116
+ end
117
+ code = response.code.to_i
118
+ if code.between?(200, 299)
119
+ Pinelabs::Types::DownpaymentDetailsResponse.load(response.body)
120
+ else
121
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
122
+ raise error_class.new(response.body, code: code)
123
+ end
124
+ end
125
+
126
+ # Use this API for validating applied offers.
127
+ #
128
+ # @param request_options [Hash]
129
+ # @param params [Pinelabs::AffordabilitySuite::Types::OfferValidationRequest]
130
+ # @option request_options [String] :base_url
131
+ # @option request_options [Hash{String => Object}] :additional_headers
132
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
133
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
134
+ # @option request_options [Integer] :timeout_in_seconds
135
+ # @option params [String, nil] :accept_encoding
136
+ #
137
+ # @return [Pinelabs::Types::OfferValidationResponse]
138
+ def offer_validation_create(request_options: {}, **params)
139
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
140
+ request_data = Pinelabs::AffordabilitySuite::Types::OfferValidationRequest.new(params).to_h
141
+ non_body_param_names = ["Accept-Encoding"]
142
+ body = request_data.except(*non_body_param_names)
143
+
144
+ headers = {}
145
+ headers["Accept-Encoding"] = params[:accept_encoding] if params[:accept_encoding]
146
+
147
+ request = Pinelabs::Internal::JSON::Request.new(
148
+ base_url: request_options[:base_url],
149
+ method: "POST",
150
+ path: "api/affordability/v1/offer/validate",
151
+ headers: headers,
152
+ body: body,
153
+ request_options: request_options
154
+ )
155
+ begin
156
+ response = @client.send(request)
157
+ rescue Net::HTTPRequestTimeout
158
+ raise Pinelabs::Errors::TimeoutError
159
+ end
160
+ code = response.code.to_i
161
+ if code.between?(200, 299)
162
+ Pinelabs::Types::OfferValidationResponse.load(response.body)
163
+ else
164
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
165
+ raise error_class.new(response.body, code: code)
166
+ end
167
+ end
168
+
169
+ # Validate or block/unblock IMEI numbers for Brand EMI transactions.
170
+ # Used to confirm the device is eligible for the selected EMI program.
171
+ #
172
+ # @param request_options [Hash]
173
+ # @param params [Pinelabs::AffordabilitySuite::Types::ImeiValidationRequest]
174
+ # @option request_options [String] :base_url
175
+ # @option request_options [Hash{String => Object}] :additional_headers
176
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
177
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
178
+ # @option request_options [Integer] :timeout_in_seconds
179
+ # @option params [String] :order_id
180
+ #
181
+ # @return [untyped]
182
+ def create_imei_validation(request_options: {}, **params)
183
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
184
+ request_data = Pinelabs::AffordabilitySuite::Types::ImeiValidationRequest.new(params).to_h
185
+ non_body_param_names = ["order_id"]
186
+ body = request_data.except(*non_body_param_names)
187
+
188
+ request = Pinelabs::Internal::JSON::Request.new(
189
+ base_url: request_options[:base_url],
190
+ method: "POST",
191
+ path: "api/affordability/v1/product/#{URI.encode_uri_component(params[:order_id].to_s)}/imei",
192
+ body: body,
193
+ request_options: request_options
194
+ )
195
+ begin
196
+ response = @client.send(request)
197
+ rescue Net::HTTPRequestTimeout
198
+ raise Pinelabs::Errors::TimeoutError
199
+ end
200
+ code = response.code.to_i
201
+ return if code.between?(200, 299)
202
+
203
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
204
+ raise error_class.new(response.body, code: code)
205
+ end
206
+ end
207
+ end
208
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ class DownpaymentDetailsRequest < Internal::Types::Model
7
+ field :order_amount, -> { Pinelabs::Types::Amount }, optional: false, nullable: false
8
+ field :product_details, -> { Internal::Types::Array[Pinelabs::Types::ProductDetail] }, optional: true, nullable: false
9
+ field :cart_coupon_discount_amount, -> { Pinelabs::Types::Amount }, optional: true, nullable: false
10
+ field :issuer, -> { Pinelabs::AffordabilitySuite::Types::DownpaymentDetailsRequestIssuer }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # Issuer identification details.
7
+ class DownpaymentDetailsRequestIssuer < Internal::Types::Model
8
+ field :bin, -> { String }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ class ImeiValidationRequest < Internal::Types::Model
7
+ field :order_id, -> { String }, optional: false, nullable: false
8
+ field :merchant_product_imei_reference, -> { String }, optional: false, nullable: false
9
+ field :request_type, -> { Pinelabs::AffordabilitySuite::Types::ImeiValidationRequestRequestType }, optional: false, nullable: false
10
+ field :products, -> { Internal::Types::Array[Pinelabs::Types::ImeiProduct] }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ module ImeiValidationRequestRequestType
7
+ extend Pinelabs::Internal::Types::Enum
8
+
9
+ BLOCKING = "BLOCKING"
10
+ UNBLOCKED = "UNBLOCKED"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ class OfferDiscoveryCardlessRequest < Internal::Types::Model
7
+ field :order_amount, -> { Pinelabs::Types::Amount }, optional: false, nullable: false
8
+ field :product_details, -> { Internal::Types::Array[Pinelabs::Types::ProductDetail] }, optional: true, nullable: false
9
+ field :cart_coupon_discount_amount, -> { Pinelabs::Types::Amount }, optional: true, nullable: false
10
+ field :payment_option, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryCardlessRequestPaymentOption }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # An object that contains details related to the payment option.
7
+ class OfferDiscoveryCardlessRequestPaymentOption < Internal::Types::Model
8
+ field :cardless_details, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryCardlessRequestPaymentOptionCardlessDetails }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # An object that contains cardless transaction details.
7
+ class OfferDiscoveryCardlessRequestPaymentOptionCardlessDetails < Internal::Types::Model
8
+ field :pan_number, -> { String }, optional: false, nullable: false
9
+ field :registered_mobile_number, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ class OfferDiscoveryRequest < Internal::Types::Model
7
+ field :accept_encoding, -> { String }, optional: true, nullable: false, api_name: "Accept-Encoding"
8
+ field :order_amount, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestOrderAmount }, optional: false, nullable: false
9
+ field :product_details, -> { Internal::Types::Array[Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestProductDetailsItem] }, optional: true, nullable: false
10
+ field :cart_coupon_discount_amount, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestCartCouponDiscountAmount }, optional: true, nullable: false
11
+ field :issuer, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestIssuer }, optional: true, nullable: false
12
+ field :downpayment_details, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestDownpaymentDetails }, optional: true, nullable: false
13
+ field :payment_options, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestPaymentOptions }, optional: true, nullable: false
14
+ field :customer_details, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestCustomerDetails }, optional: true, nullable: false
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # An object that contains the cart coupon discount amount details.
7
+ class OfferDiscoveryRequestCartCouponDiscountAmount < Internal::Types::Model
8
+ field :value, -> { Integer }, optional: false, nullable: false
9
+ field :currency, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # An object that contains the customer details.
7
+ class OfferDiscoveryRequestCustomerDetails < Internal::Types::Model
8
+ field :customer_id, -> { String }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # Mandatory for EMI with Downpayment. An object that contains the downpayment amount details.
7
+ class OfferDiscoveryRequestDownpaymentDetails < Internal::Types::Model
8
+ field :downpayment_amount, -> { Pinelabs::AffordabilitySuite::Types::OfferDiscoveryRequestDownpaymentDetailsDownpaymentAmount }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end