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
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # An object that contains the payment amount details after the offer has been applied.<br><br>**Note**: Ensure you
7
+ # pass the `auth_amount` details. This `auth_amount` detail is returned through our Offer Discovery API response.
8
+ class OfferValidationRequestPaymentAmount < Internal::Types::Model
9
+ field :value, -> { String }, optional: false, nullable: false
10
+ field :currency, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # An object that contains the details of the payment options.<br><br>You can use either `card_details` or
7
+ # `card_token_details` or `cardless_details` as a payment option. One object is mandatory to process the request.
8
+ class OfferValidationRequestPaymentOption < Internal::Types::Model
9
+ field :card_details, -> { Pinelabs::AffordabilitySuite::Types::OfferValidationRequestPaymentOptionCardDetails }, optional: true, nullable: false
10
+ field :cardless_details, -> { Pinelabs::AffordabilitySuite::Types::OfferValidationRequestPaymentOptionCardlessDetails }, optional: true, nullable: false
11
+ field :card_token_details, -> { Pinelabs::AffordabilitySuite::Types::OfferValidationRequestPaymentOptionCardTokenDetails }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # **Mandatory for Plain Card Transactions**<br><br>An object that contains the card details.
7
+ class OfferValidationRequestPaymentOptionCardDetails < Internal::Types::Model
8
+ field :card_number, -> { String }, optional: false, nullable: false
9
+ field :registered_mobile_number, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # **Mandatory for Tokenized Transactions**<br><br>An object that contains the card token details.
7
+ class OfferValidationRequestPaymentOptionCardTokenDetails < Internal::Types::Model
8
+ field :last4digit, -> { String }, optional: true, nullable: false, api_name: "last4_digit"
9
+ field :token, -> { String }, optional: true, nullable: false
10
+ field :token_txn_type, -> { String }, optional: true, nullable: false
11
+ field :token_id, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module AffordabilitySuite
5
+ module Types
6
+ # **Mandatory for Cardless Transactions**<br><br>An object that contains the cardless transaction details.
7
+ class OfferValidationRequestPaymentOptionCardlessDetails < 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,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module ApplePay
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 authorize payments initiated through Apple Pay.
14
+ #
15
+ # **Note:** You can use this API only if you are decrypting the Apple Pay payment token
16
+ # on your end using the Apple Pay JS SDK.
17
+ #
18
+ # @param request_options [Hash]
19
+ # @param params [Pinelabs::ApplePay::Types::AuthorizePaymentRequest]
20
+ # @option request_options [String] :base_url
21
+ # @option request_options [Hash{String => Object}] :additional_headers
22
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
23
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
24
+ # @option request_options [Integer] :timeout_in_seconds
25
+ # @option params [String] :order_id
26
+ # @option params [String] :payments_id
27
+ #
28
+ # @return [Pinelabs::Types::AuthorizePaymentResponse]
29
+ def authorize_apple_pay_payment(request_options: {}, **params)
30
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
31
+ request_data = Pinelabs::ApplePay::Types::AuthorizePaymentRequest.new(params).to_h
32
+ non_body_param_names = %w[order_id payments_id]
33
+ body = request_data.except(*non_body_param_names)
34
+
35
+ request = Pinelabs::Internal::JSON::Request.new(
36
+ base_url: request_options[:base_url],
37
+ method: "POST",
38
+ path: "api/pay/v1/orders/#{URI.encode_uri_component(params[:order_id].to_s)}/payments/#{URI.encode_uri_component(params[:payments_id].to_s)}/authorize",
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::AuthorizePaymentResponse.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
+ end
56
+ end
57
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module ApplePay
5
+ module Types
6
+ class AuthorizePaymentRequest < Internal::Types::Model
7
+ field :order_id, -> { String }, optional: false, nullable: false
8
+ field :payments_id, -> { String }, optional: false, nullable: false
9
+ field :decrypted_card_details, -> { Pinelabs::ApplePay::Types::AuthorizePaymentRequestDecryptedCardDetails }, optional: true, 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 ApplePay
5
+ module Types
6
+ # An object that contains the decrypted card details.
7
+ class AuthorizePaymentRequestDecryptedCardDetails < Internal::Types::Model
8
+ field :token, -> { String }, optional: false, nullable: false
9
+ field :expiration_month, -> { String }, optional: false, nullable: false
10
+ field :expiration_year, -> { String }, optional: false, nullable: false
11
+ field :cryptogram, -> { String }, optional: false, nullable: false
12
+ field :cavv, -> { String }, optional: true, nullable: false
13
+ field :eci, -> { String }, optional: true, nullable: false
14
+ field :card_meta_data, -> { Pinelabs::ApplePay::Types::AuthorizePaymentRequestDecryptedCardDetailsCardMetaData }, 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 ApplePay
5
+ module Types
6
+ # An object that contains additional card meta details.
7
+ class AuthorizePaymentRequestDecryptedCardDetailsCardMetaData < Internal::Types::Model
8
+ field :card_type, -> { Pinelabs::ApplePay::Types::AuthorizePaymentRequestDecryptedCardDetailsCardMetaDataCardType }, optional: false, nullable: false
9
+ field :network_name, -> { Pinelabs::ApplePay::Types::AuthorizePaymentRequestDecryptedCardDetailsCardMetaDataNetworkName }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module ApplePay
5
+ module Types
6
+ module AuthorizePaymentRequestDecryptedCardDetailsCardMetaDataCardType
7
+ extend Pinelabs::Internal::Types::Enum
8
+
9
+ CREDIT = "CREDIT"
10
+ DEBIT = "DEBIT"
11
+ PREPAID = "PREPAID"
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module ApplePay
5
+ module Types
6
+ module AuthorizePaymentRequestDecryptedCardDetailsCardMetaDataNetworkName
7
+ extend Pinelabs::Internal::Types::Enum
8
+
9
+ VISA = "VISA"
10
+ MASTERCARD = "MASTERCARD"
11
+ RUPAY = "RUPAY"
12
+ AMEX = "AMEX"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module Authentication
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
+ # Generate an API access token using client credentials.
14
+ # This token is required in the Authorization header for all other API calls.
15
+ # This API is authenticated using the client secret provided in the request body.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param params [Pinelabs::Authentication::Types::GenerateTokenRequest]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ #
25
+ # @return [Pinelabs::Types::GenerateTokenResponse]
26
+ def generate_token(request_options: {}, **params)
27
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
28
+ request = Pinelabs::Internal::JSON::Request.new(
29
+ base_url: request_options[:base_url],
30
+ method: "POST",
31
+ path: "api/auth/v1/token",
32
+ body: Pinelabs::Authentication::Types::GenerateTokenRequest.new(params).to_h,
33
+ request_options: request_options
34
+ )
35
+ begin
36
+ response = @client.send(request)
37
+ rescue Net::HTTPRequestTimeout
38
+ raise Pinelabs::Errors::TimeoutError
39
+ end
40
+ code = response.code.to_i
41
+ if code.between?(200, 299)
42
+ Pinelabs::Types::GenerateTokenResponse.load(response.body)
43
+ else
44
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
45
+ raise error_class.new(response.body, code: code)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module Authentication
5
+ module Types
6
+ class GenerateTokenRequest < Internal::Types::Model
7
+ field :client_id, -> { String }, optional: false, nullable: false
8
+ field :client_secret, -> { String }, optional: false, nullable: false
9
+ field :grant_type, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module Bnpl
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
+ # Check whether a customer is eligible for Buy Now Pay Later (BNPL) payment
14
+ # based on their mobile number and the selected BNPL provider.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [Pinelabs::Bnpl::Types::BnplCheckEligibilityRequest]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
24
+ # @return [Pinelabs::Types::BnplCheckEligibilityResponse]
25
+ def check_bnpl_eligibility(request_options: {}, **params)
26
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
27
+ request = Pinelabs::Internal::JSON::Request.new(
28
+ base_url: request_options[:base_url],
29
+ method: "POST",
30
+ path: "api/payment-option/eligibility/bnpl",
31
+ body: Pinelabs::Bnpl::Types::BnplCheckEligibilityRequest.new(params).to_h,
32
+ request_options: request_options
33
+ )
34
+ begin
35
+ response = @client.send(request)
36
+ rescue Net::HTTPRequestTimeout
37
+ raise Pinelabs::Errors::TimeoutError
38
+ end
39
+ code = response.code.to_i
40
+ if code.between?(200, 299)
41
+ Pinelabs::Types::BnplCheckEligibilityResponse.load(response.body)
42
+ else
43
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
44
+ raise error_class.new(response.body, code: code)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module Bnpl
5
+ module Types
6
+ class BnplCheckEligibilityRequest < Internal::Types::Model
7
+ field :mobile, -> { String }, optional: false, nullable: false
8
+ field :pay_code, -> { Pinelabs::Bnpl::Types::BnplCheckEligibilityRequestPayCode }, optional: false, nullable: false
9
+ field :amount, -> { Pinelabs::Types::Amount }, optional: false, nullable: false
10
+ field :device_info, -> { Pinelabs::Bnpl::Types::BnplCheckEligibilityRequestDeviceInfo }, optional: true, nullable: false
11
+ field :email, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module Bnpl
5
+ module Types
6
+ # Device information details.
7
+ class BnplCheckEligibilityRequestDeviceInfo < Internal::Types::Model
8
+ field :operating_system, -> { Pinelabs::Bnpl::Types::BnplCheckEligibilityRequestDeviceInfoOperatingSystem }, optional: true, nullable: false
9
+ field :source_ip_address, -> { String }, optional: true, nullable: false
10
+ field :browser_ip_address, -> { String }, optional: true, nullable: false
11
+ field :browser_user_agent, -> { String }, optional: true, nullable: false
12
+ field :device_model, -> { String }, optional: true, nullable: false
13
+ field :device_manufacturer, -> { String }, optional: true, nullable: false
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module Bnpl
5
+ module Types
6
+ module BnplCheckEligibilityRequestDeviceInfoOperatingSystem
7
+ extend Pinelabs::Internal::Types::Enum
8
+
9
+ ANDROID = "ANDROID"
10
+ IOS = "IOS"
11
+ MACOS = "MACOS"
12
+ WINDOWS = "WINDOWS"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module Bnpl
5
+ module Types
6
+ module BnplCheckEligibilityRequestPayCode
7
+ extend Pinelabs::Internal::Types::Enum
8
+
9
+ LAZYPAY = "LAZYPAY"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,207 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module CardPayments
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
+ # Create a payment against an existing order. This unified endpoint supports
14
+ # multiple payment methods differentiated by the `payment_method` field:
15
+ #
16
+ # - **CARD** — Pay with card number or card token (see Card Payments documentation)
17
+ # - **UPI** — Pay via UPI Collect or UPI Intent/QR (see UPI Payments documentation)
18
+ # - **NETBANKING** — Pay via net banking redirect (see Net Banking documentation)
19
+ # - **WALLET** — Pay via digital wallet (see Wallet documentation)
20
+ # - **EMI** — Pay via Credit/Debit EMI or Cardless EMI (see Affordability Suite documentation)
21
+ # - **BNPL** — Pay via Buy Now Pay Later (see BNPL documentation)
22
+ #
23
+ # The response returns the full order object with the payment linked.
24
+ # For redirect-based flows (NetBanking, Wallet, UPI Intent), use the
25
+ # `challenge_url` in the response to redirect the customer.
26
+ #
27
+ # @param request_options [Hash]
28
+ # @param params [Pinelabs::CardPayments::Types::CreatePaymentRequest]
29
+ # @option request_options [String] :base_url
30
+ # @option request_options [Hash{String => Object}] :additional_headers
31
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
32
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
33
+ # @option request_options [Integer] :timeout_in_seconds
34
+ # @option params [String] :order_id
35
+ #
36
+ # @return [Pinelabs::Types::OrderResponse]
37
+ def create_payment(request_options: {}, **params)
38
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
39
+ request_data = Pinelabs::CardPayments::Types::CreatePaymentRequest.new(params).to_h
40
+ non_body_param_names = ["order_id"]
41
+ body = request_data.except(*non_body_param_names)
42
+
43
+ request = Pinelabs::Internal::JSON::Request.new(
44
+ base_url: request_options[:base_url],
45
+ method: "POST",
46
+ path: "api/pay/v1/orders/#{URI.encode_uri_component(params[:order_id].to_s)}/payments",
47
+ body: body,
48
+ request_options: request_options
49
+ )
50
+ begin
51
+ response = @client.send(request)
52
+ rescue Net::HTTPRequestTimeout
53
+ raise Pinelabs::Errors::TimeoutError
54
+ end
55
+ code = response.code.to_i
56
+ if code.between?(200, 299)
57
+ Pinelabs::Types::OrderResponse.load(response.body)
58
+ else
59
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
60
+ raise error_class.new(response.body, code: code)
61
+ end
62
+ end
63
+
64
+ # Generate a One-Time Password (OTP) for card payment authentication.
65
+ # This API is called after a card payment is created and the card requires
66
+ # OTP-based verification (native OTP flow).
67
+ #
68
+ # @param request_options [Hash]
69
+ # @param params [Pinelabs::CardPayments::Types::OtpGenerateRequest]
70
+ # @option request_options [String] :base_url
71
+ # @option request_options [Hash{String => Object}] :additional_headers
72
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
73
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
74
+ # @option request_options [Integer] :timeout_in_seconds
75
+ #
76
+ # @return [Pinelabs::Types::OtpGenerateResponse]
77
+ def generate_otp(request_options: {}, **params)
78
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
79
+ request = Pinelabs::Internal::JSON::Request.new(
80
+ base_url: request_options[:base_url],
81
+ method: "POST",
82
+ path: "api/pay/v1/otp/generate",
83
+ body: Pinelabs::CardPayments::Types::OtpGenerateRequest.new(params).to_h,
84
+ request_options: request_options
85
+ )
86
+ begin
87
+ response = @client.send(request)
88
+ rescue Net::HTTPRequestTimeout
89
+ raise Pinelabs::Errors::TimeoutError
90
+ end
91
+ code = response.code.to_i
92
+ if code.between?(200, 299)
93
+ Pinelabs::Types::OtpGenerateResponse.load(response.body)
94
+ else
95
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
96
+ raise error_class.new(response.body, code: code)
97
+ end
98
+ end
99
+
100
+ # Use this API to get the card details.
101
+ #
102
+ # @param request_options [Hash]
103
+ # @param params [Pinelabs::CardPayments::Types::GetCardDetailsRequest]
104
+ # @option request_options [String] :base_url
105
+ # @option request_options [Hash{String => Object}] :additional_headers
106
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
107
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
108
+ # @option request_options [Integer] :timeout_in_seconds
109
+ #
110
+ # @return [Pinelabs::Types::GetCardDetailsResponse]
111
+ def get_card_details(request_options: {}, **params)
112
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
113
+ request = Pinelabs::Internal::JSON::Request.new(
114
+ base_url: request_options[:base_url],
115
+ method: "POST",
116
+ path: "api/pay/v1/getCardDetails",
117
+ body: Pinelabs::CardPayments::Types::GetCardDetailsRequest.new(params).to_h,
118
+ request_options: request_options
119
+ )
120
+ begin
121
+ response = @client.send(request)
122
+ rescue Net::HTTPRequestTimeout
123
+ raise Pinelabs::Errors::TimeoutError
124
+ end
125
+ code = response.code.to_i
126
+ if code.between?(200, 299)
127
+ Pinelabs::Types::GetCardDetailsResponse.load(response.body)
128
+ else
129
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
130
+ raise error_class.new(response.body, code: code)
131
+ end
132
+ end
133
+
134
+ # Submit the OTP received on the customer's registered mobile number
135
+ # to validate and process the payment. This endpoint is shared between
136
+ # Card Payments (native OTP flow) and BNPL payment verification.
137
+ #
138
+ # @param request_options [Hash]
139
+ # @param params [Pinelabs::CardPayments::Types::BnplSubmitOtpRequest]
140
+ # @option request_options [String] :base_url
141
+ # @option request_options [Hash{String => Object}] :additional_headers
142
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
143
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
144
+ # @option request_options [Integer] :timeout_in_seconds
145
+ #
146
+ # @return [Pinelabs::Types::BnplSubmitOtpResponse]
147
+ def submit_otp(request_options: {}, **params)
148
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
149
+ request = Pinelabs::Internal::JSON::Request.new(
150
+ base_url: request_options[:base_url],
151
+ method: "POST",
152
+ path: "api/pay/v1/otp/submit",
153
+ body: Pinelabs::CardPayments::Types::BnplSubmitOtpRequest.new(params).to_h,
154
+ request_options: request_options
155
+ )
156
+ begin
157
+ response = @client.send(request)
158
+ rescue Net::HTTPRequestTimeout
159
+ raise Pinelabs::Errors::TimeoutError
160
+ end
161
+ code = response.code.to_i
162
+ if code.between?(200, 299)
163
+ Pinelabs::Types::BnplSubmitOtpResponse.load(response.body)
164
+ else
165
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
166
+ raise error_class.new(response.body, code: code)
167
+ end
168
+ end
169
+
170
+ # Resend the OTP to the customer's registered mobile number
171
+ # for payment verification. This endpoint is shared between
172
+ # Card Payments (native OTP flow) and BNPL payment verification.
173
+ #
174
+ # @param request_options [Hash]
175
+ # @param params [Pinelabs::CardPayments::Types::BnplResendOtpRequest]
176
+ # @option request_options [String] :base_url
177
+ # @option request_options [Hash{String => Object}] :additional_headers
178
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
179
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
180
+ # @option request_options [Integer] :timeout_in_seconds
181
+ #
182
+ # @return [Pinelabs::Types::BnplResendOtpResponse]
183
+ def resend_otp(request_options: {}, **params)
184
+ params = Pinelabs::Internal::Types::Utils.normalize_keys(params)
185
+ request = Pinelabs::Internal::JSON::Request.new(
186
+ base_url: request_options[:base_url],
187
+ method: "POST",
188
+ path: "api/pay/v1/otp/resend",
189
+ body: Pinelabs::CardPayments::Types::BnplResendOtpRequest.new(params).to_h,
190
+ request_options: request_options
191
+ )
192
+ begin
193
+ response = @client.send(request)
194
+ rescue Net::HTTPRequestTimeout
195
+ raise Pinelabs::Errors::TimeoutError
196
+ end
197
+ code = response.code.to_i
198
+ if code.between?(200, 299)
199
+ Pinelabs::Types::BnplResendOtpResponse.load(response.body)
200
+ else
201
+ error_class = Pinelabs::Errors::ResponseError.subclass_for_code(code)
202
+ raise error_class.new(response.body, code: code)
203
+ end
204
+ end
205
+ end
206
+ end
207
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module CardPayments
5
+ module Types
6
+ class BnplResendOtpRequest < Internal::Types::Model
7
+ field :payment_id, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinelabs
4
+ module CardPayments
5
+ module Types
6
+ class BnplSubmitOtpRequest < Internal::Types::Model
7
+ field :payment_id, -> { String }, optional: false, nullable: false
8
+ field :otp, -> { String }, optional: false, 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 CardPayments
5
+ module Types
6
+ class CreatePaymentRequest < Internal::Types::Model
7
+ field :order_id, -> { String }, optional: false, nullable: false
8
+ field :payments, -> { Internal::Types::Array[Pinelabs::Types::PaymentRequestItem] }, optional: false, 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 CardPayments
5
+ module Types
6
+ class GetCardDetailsRequest < Internal::Types::Model
7
+ field :amount, -> { String }, optional: true, nullable: false
8
+ field :card_details, -> { Internal::Types::Array[Pinelabs::Types::CardDetailLookupItem] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end