square.rb 44.2.0.20251016 → 45.0.1.20260122

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 (499) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +9 -0
  3. data/.fernignore +20 -0
  4. data/.rubocop.yml +60 -0
  5. data/LICENSE +1 -1
  6. data/Rakefile +29 -0
  7. data/custom.gemspec.rb +19 -0
  8. data/lib/square/apple_pay/client.rb +24 -10
  9. data/lib/square/bank_accounts/client.rb +144 -31
  10. data/lib/square/bank_accounts/types/create_bank_account_request.rb +13 -0
  11. data/lib/square/bank_accounts/types/disable_bank_account_request.rb +11 -0
  12. data/lib/square/bank_accounts/types/get_by_v_1_id_bank_accounts_request.rb +1 -1
  13. data/lib/square/bank_accounts/types/list_bank_accounts_request.rb +1 -0
  14. data/lib/square/bookings/client.rb +238 -100
  15. data/lib/square/bookings/custom_attribute_definitions/client.rb +139 -67
  16. data/lib/square/bookings/custom_attribute_definitions/types/create_booking_custom_attribute_definition_request.rb +1 -3
  17. data/lib/square/bookings/custom_attribute_definitions/types/update_booking_custom_attribute_definition_request.rb +1 -3
  18. data/lib/square/bookings/custom_attributes/client.rb +168 -76
  19. data/lib/square/bookings/custom_attributes/types/bulk_delete_booking_custom_attributes_request.rb +1 -3
  20. data/lib/square/bookings/custom_attributes/types/bulk_upsert_booking_custom_attributes_request.rb +1 -3
  21. data/lib/square/bookings/location_profiles/client.rb +44 -24
  22. data/lib/square/bookings/team_member_profiles/client.rb +66 -31
  23. data/lib/square/cards/client.rb +103 -45
  24. data/lib/square/cash_drawers/client.rb +3 -1
  25. data/lib/square/cash_drawers/shifts/client.rb +121 -61
  26. data/lib/square/catalog/client.rb +203 -91
  27. data/lib/square/catalog/images/client.rb +50 -20
  28. data/lib/square/catalog/object/client.rb +66 -29
  29. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  30. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  31. data/lib/square/catalog/types/batch_upsert_catalog_objects_request.rb +1 -3
  32. data/lib/square/catalog/types/search_catalog_items_request.rb +3 -9
  33. data/lib/square/catalog/types/search_catalog_objects_request.rb +1 -3
  34. data/lib/square/channels/client.rb +85 -38
  35. data/lib/square/checkout/client.rb +77 -31
  36. data/lib/square/checkout/payment_links/client.rb +120 -54
  37. data/lib/square/client.rb +8 -10
  38. data/lib/square/customers/cards/client.rb +43 -16
  39. data/lib/square/customers/client.rb +220 -97
  40. data/lib/square/customers/custom_attribute_definitions/client.rb +157 -74
  41. data/lib/square/customers/custom_attribute_definitions/types/batch_upsert_customer_custom_attributes_request.rb +1 -3
  42. data/lib/square/customers/custom_attribute_definitions/types/create_customer_custom_attribute_definition_request.rb +1 -3
  43. data/lib/square/customers/custom_attribute_definitions/types/update_customer_custom_attribute_definition_request.rb +1 -3
  44. data/lib/square/customers/custom_attributes/client.rb +117 -53
  45. data/lib/square/customers/groups/client.rb +156 -67
  46. data/lib/square/customers/segments/client.rb +62 -31
  47. data/lib/square/customers/types/bulk_create_customers_request.rb +1 -3
  48. data/lib/square/customers/types/bulk_update_customers_request.rb +1 -3
  49. data/lib/square/devices/client.rb +66 -31
  50. data/lib/square/devices/codes/client.rb +83 -38
  51. data/lib/square/disputes/client.rb +140 -60
  52. data/lib/square/disputes/evidence/client.rb +83 -39
  53. data/lib/square/employees/client.rb +66 -31
  54. data/lib/square/events/client.rb +80 -38
  55. data/lib/square/file_param.rb +77 -77
  56. data/lib/square/gift_cards/activities/client.rb +73 -31
  57. data/lib/square/gift_cards/client.rb +163 -69
  58. data/lib/square/internal/http/base_request.rb +6 -0
  59. data/lib/square/internal/http/raw_client.rb +111 -20
  60. data/lib/square/internal/iterators/cursor_item_iterator.rb +28 -0
  61. data/lib/square/internal/iterators/cursor_page_iterator.rb +51 -0
  62. data/lib/square/internal/iterators/item_iterator.rb +65 -0
  63. data/lib/square/internal/iterators/offset_item_iterator.rb +30 -0
  64. data/lib/square/internal/iterators/offset_page_iterator.rb +83 -0
  65. data/lib/square/internal/json/request.rb +2 -1
  66. data/lib/square/internal/multipart/multipart_request.rb +2 -1
  67. data/lib/square/internal/types/enum.rb +8 -0
  68. data/lib/square/internal/types/model/field.rb +11 -1
  69. data/lib/square/internal/types/model.rb +14 -4
  70. data/lib/square/internal/types/union.rb +88 -7
  71. data/lib/square/internal/types/utils.rb +20 -4
  72. data/lib/square/inventory/client.rb +100 -76
  73. data/lib/square/invoices/client.rb +228 -99
  74. data/lib/square/labor/break_types/client.rb +120 -53
  75. data/lib/square/labor/client.rb +205 -81
  76. data/lib/square/labor/employee_wages/client.rb +64 -31
  77. data/lib/square/labor/shifts/client.rb +94 -37
  78. data/lib/square/labor/team_member_wages/client.rb +64 -31
  79. data/lib/square/labor/types/bulk_publish_scheduled_shifts_request.rb +2 -6
  80. data/lib/square/labor/types/publish_scheduled_shift_request.rb +1 -3
  81. data/lib/square/labor/workweek_configs/client.rb +65 -32
  82. data/lib/square/locations/client.rb +102 -41
  83. data/lib/square/locations/custom_attribute_definitions/client.rb +135 -64
  84. data/lib/square/locations/custom_attribute_definitions/types/create_location_custom_attribute_definition_request.rb +1 -3
  85. data/lib/square/locations/custom_attribute_definitions/types/update_location_custom_attribute_definition_request.rb +1 -3
  86. data/lib/square/locations/custom_attributes/client.rb +156 -68
  87. data/lib/square/locations/custom_attributes/types/bulk_delete_location_custom_attributes_request.rb +1 -3
  88. data/lib/square/locations/custom_attributes/types/bulk_upsert_location_custom_attributes_request.rb +1 -3
  89. data/lib/square/locations/transactions/client.rb +93 -37
  90. data/lib/square/locations/types/create_checkout_request.rb +1 -3
  91. data/lib/square/loyalty/accounts/client.rb +109 -44
  92. data/lib/square/loyalty/accounts/types/search_loyalty_accounts_request.rb +1 -3
  93. data/lib/square/loyalty/client.rb +20 -8
  94. data/lib/square/loyalty/programs/client.rb +72 -29
  95. data/lib/square/loyalty/programs/promotions/client.rb +106 -46
  96. data/lib/square/loyalty/rewards/client.rb +96 -38
  97. data/lib/square/loyalty/rewards/types/search_loyalty_rewards_request.rb +1 -3
  98. data/lib/square/merchants/client.rb +60 -31
  99. data/lib/square/merchants/custom_attribute_definitions/client.rb +137 -65
  100. data/lib/square/merchants/custom_attribute_definitions/types/create_merchant_custom_attribute_definition_request.rb +1 -3
  101. data/lib/square/merchants/custom_attribute_definitions/types/update_merchant_custom_attribute_definition_request.rb +1 -3
  102. data/lib/square/merchants/custom_attributes/client.rb +156 -68
  103. data/lib/square/merchants/custom_attributes/types/bulk_delete_merchant_custom_attributes_request.rb +1 -3
  104. data/lib/square/merchants/custom_attributes/types/bulk_upsert_merchant_custom_attributes_request.rb +1 -3
  105. data/lib/square/o_auth/client.rb +76 -31
  106. data/lib/square/o_auth/types/obtain_token_request.rb +1 -0
  107. data/lib/square/orders/client.rb +156 -63
  108. data/lib/square/orders/custom_attribute_definitions/client.rb +137 -65
  109. data/lib/square/orders/custom_attribute_definitions/types/create_order_custom_attribute_definition_request.rb +1 -3
  110. data/lib/square/orders/custom_attribute_definitions/types/update_order_custom_attribute_definition_request.rb +1 -3
  111. data/lib/square/orders/custom_attributes/client.rb +159 -69
  112. data/lib/square/orders/custom_attributes/types/bulk_delete_order_custom_attributes_request.rb +1 -3
  113. data/lib/square/orders/custom_attributes/types/bulk_upsert_order_custom_attributes_request.rb +1 -3
  114. data/lib/square/orders/types/calculate_order_request.rb +1 -3
  115. data/lib/square/payments/client.rb +182 -70
  116. data/lib/square/payouts/client.rb +116 -54
  117. data/lib/square/refunds/client.rb +97 -40
  118. data/lib/square/refunds/types/refund_payment_request.rb +1 -3
  119. data/lib/square/sites/client.rb +26 -11
  120. data/lib/square/snippets/client.rb +73 -28
  121. data/lib/square/subscriptions/client.rb +271 -117
  122. data/lib/square/team/client.rb +81 -36
  123. data/lib/square/team_members/client.rb +119 -49
  124. data/lib/square/team_members/types/batch_create_team_members_request.rb +1 -3
  125. data/lib/square/team_members/types/batch_update_team_members_request.rb +1 -3
  126. data/lib/square/team_members/wage_setting/client.rb +48 -19
  127. data/lib/square/terminal/actions/client.rb +75 -30
  128. data/lib/square/terminal/checkouts/client.rb +76 -30
  129. data/lib/square/terminal/client.rb +60 -23
  130. data/lib/square/terminal/refunds/client.rb +78 -31
  131. data/lib/square/transfer_orders/client.rb +26 -21
  132. data/lib/square/types/address.rb +2 -1
  133. data/lib/square/types/application_details.rb +1 -3
  134. data/lib/square/types/application_type.rb +23 -0
  135. data/lib/square/types/availability.rb +3 -4
  136. data/lib/square/types/bank_account.rb +1 -0
  137. data/lib/square/types/batch_create_team_members_response.rb +1 -3
  138. data/lib/square/types/batch_create_vendors_response.rb +1 -3
  139. data/lib/square/types/batch_get_catalog_objects_response.rb +1 -3
  140. data/lib/square/types/batch_get_vendors_response.rb +1 -3
  141. data/lib/square/types/batch_update_team_members_response.rb +1 -3
  142. data/lib/square/types/batch_update_vendors_response.rb +1 -3
  143. data/lib/square/types/batch_upsert_catalog_objects_response.rb +1 -3
  144. data/lib/square/types/batch_upsert_customer_custom_attributes_request_customer_custom_attribute_upsert_request.rb +2 -1
  145. data/lib/square/types/batch_upsert_customer_custom_attributes_response.rb +4 -4
  146. data/lib/square/types/batch_upsert_customer_custom_attributes_response_customer_custom_attribute_upsert_response.rb +3 -1
  147. data/lib/square/types/booking.rb +2 -6
  148. data/lib/square/types/booking_created_event.rb +2 -1
  149. data/lib/square/types/booking_custom_attribute_definition_visible_created_event.rb +2 -1
  150. data/lib/square/types/booking_custom_attribute_definition_visible_deleted_event.rb +2 -1
  151. data/lib/square/types/booking_custom_attribute_definition_visible_updated_event.rb +2 -1
  152. data/lib/square/types/booking_custom_attribute_delete_request.rb +4 -2
  153. data/lib/square/types/booking_custom_attribute_delete_response.rb +3 -1
  154. data/lib/square/types/booking_custom_attribute_upsert_request.rb +2 -1
  155. data/lib/square/types/booking_custom_attribute_upsert_response.rb +3 -1
  156. data/lib/square/types/booking_updated_event.rb +2 -1
  157. data/lib/square/types/bulk_create_customers_response.rb +1 -3
  158. data/lib/square/types/bulk_delete_booking_custom_attributes_response.rb +4 -4
  159. data/lib/square/types/bulk_delete_customers_response.rb +1 -3
  160. data/lib/square/types/bulk_delete_location_custom_attributes_request_location_custom_attribute_delete_request.rb +2 -1
  161. data/lib/square/types/bulk_delete_location_custom_attributes_response.rb +4 -4
  162. data/lib/square/types/bulk_delete_location_custom_attributes_response_location_custom_attribute_delete_response.rb +2 -1
  163. data/lib/square/types/bulk_delete_merchant_custom_attributes_request_merchant_custom_attribute_delete_request.rb +2 -1
  164. data/lib/square/types/bulk_delete_merchant_custom_attributes_response.rb +4 -4
  165. data/lib/square/types/bulk_delete_merchant_custom_attributes_response_merchant_custom_attribute_delete_response.rb +2 -1
  166. data/lib/square/types/bulk_delete_order_custom_attributes_response.rb +1 -3
  167. data/lib/square/types/bulk_publish_scheduled_shifts_response.rb +1 -3
  168. data/lib/square/types/bulk_retrieve_bookings_response.rb +1 -3
  169. data/lib/square/types/bulk_retrieve_channels_request_constants.rb +23 -0
  170. data/lib/square/types/bulk_retrieve_channels_response.rb +1 -3
  171. data/lib/square/types/bulk_retrieve_customers_response.rb +1 -3
  172. data/lib/square/types/bulk_retrieve_team_member_booking_profiles_response.rb +3 -4
  173. data/lib/square/types/bulk_update_customers_response.rb +1 -3
  174. data/lib/square/types/bulk_upsert_booking_custom_attributes_response.rb +4 -4
  175. data/lib/square/types/bulk_upsert_location_custom_attributes_request_location_custom_attribute_upsert_request.rb +2 -1
  176. data/lib/square/types/bulk_upsert_location_custom_attributes_response.rb +4 -4
  177. data/lib/square/types/bulk_upsert_location_custom_attributes_response_location_custom_attribute_upsert_response.rb +3 -1
  178. data/lib/square/types/bulk_upsert_merchant_custom_attributes_request_merchant_custom_attribute_upsert_request.rb +2 -1
  179. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response.rb +4 -4
  180. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response_merchant_custom_attribute_upsert_response.rb +3 -1
  181. data/lib/square/types/bulk_upsert_order_custom_attributes_response.rb +1 -3
  182. data/lib/square/types/business_appointment_settings.rb +4 -12
  183. data/lib/square/types/business_booking_profile.rb +2 -6
  184. data/lib/square/types/buy_now_pay_later_details.rb +1 -0
  185. data/lib/square/types/card.rb +2 -0
  186. data/lib/square/types/card_issuer_alert.rb +23 -0
  187. data/lib/square/types/catalog_category.rb +1 -3
  188. data/lib/square/types/catalog_custom_attribute_definition.rb +6 -18
  189. data/lib/square/types/catalog_custom_attribute_definition_selection_config.rb +1 -3
  190. data/lib/square/types/catalog_id_mapping.rb +1 -1
  191. data/lib/square/types/catalog_info_response.rb +1 -3
  192. data/lib/square/types/catalog_item.rb +6 -12
  193. data/lib/square/types/catalog_item_food_and_beverage_details.rb +2 -6
  194. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference.rb +2 -6
  195. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient.rb +2 -6
  196. data/lib/square/types/catalog_item_modifier_list_info.rb +6 -9
  197. data/lib/square/types/catalog_item_variation.rb +17 -13
  198. data/lib/square/types/catalog_modifier.rb +4 -4
  199. data/lib/square/types/catalog_modifier_list.rb +4 -2
  200. data/lib/square/types/catalog_modifier_override.rb +2 -2
  201. data/lib/square/types/catalog_modifier_toggle_override_type.rb +13 -0
  202. data/lib/square/types/catalog_object.rb +7 -3
  203. data/lib/square/types/catalog_object_base.rb +2 -4
  204. data/lib/square/types/catalog_object_category.rb +3 -4
  205. data/lib/square/types/catalog_object_custom_attribute_definition.rb +1 -3
  206. data/lib/square/types/catalog_object_quick_amounts_settings.rb +1 -3
  207. data/lib/square/types/catalog_object_reference.rb +1 -1
  208. data/lib/square/types/catalog_object_subscription_plan_variation.rb +1 -3
  209. data/lib/square/types/catalog_query.rb +11 -13
  210. data/lib/square/types/catalog_query_prefix.rb +2 -1
  211. data/lib/square/types/catalog_query_text.rb +2 -1
  212. data/lib/square/types/catalog_subscription_plan.rb +5 -5
  213. data/lib/square/types/catalog_subscription_plan_variation.rb +4 -2
  214. data/lib/square/types/catalog_v_1_id.rb +1 -1
  215. data/lib/square/types/catalog_version_updated_event_object.rb +1 -3
  216. data/lib/square/types/checkout.rb +1 -3
  217. data/lib/square/types/checkout_location_settings.rb +1 -3
  218. data/lib/square/types/checkout_location_settings_branding.rb +2 -6
  219. data/lib/square/types/checkout_merchant_settings.rb +1 -3
  220. data/lib/square/types/checkout_merchant_settings_payment_methods.rb +4 -12
  221. data/lib/square/types/checkout_merchant_settings_payment_methods_afterpay_clearpay.rb +2 -6
  222. data/lib/square/types/component.rb +4 -12
  223. data/lib/square/types/create_bank_account_response.rb +11 -0
  224. data/lib/square/types/create_booking_custom_attribute_definition_response.rb +4 -4
  225. data/lib/square/types/create_catalog_image_request.rb +1 -1
  226. data/lib/square/types/create_customer_custom_attribute_definition_response.rb +4 -4
  227. data/lib/square/types/create_location_custom_attribute_definition_response.rb +4 -4
  228. data/lib/square/types/create_merchant_custom_attribute_definition_response.rb +4 -4
  229. data/lib/square/types/create_order_custom_attribute_definition_response.rb +1 -3
  230. data/lib/square/types/create_transfer_order_data.rb +3 -4
  231. data/lib/square/types/create_webhook_subscription_response.rb +2 -1
  232. data/lib/square/types/custom_attribute.rb +1 -1
  233. data/lib/square/types/custom_attribute_definition.rb +1 -3
  234. data/lib/square/types/custom_attribute_definition_event_data_object.rb +1 -3
  235. data/lib/square/types/custom_field.rb +2 -1
  236. data/lib/square/types/customer_address_filter.rb +2 -1
  237. data/lib/square/types/customer_created_event.rb +4 -2
  238. data/lib/square/types/customer_created_event_event_context_merge.rb +2 -1
  239. data/lib/square/types/customer_creation_source_filter.rb +1 -3
  240. data/lib/square/types/customer_custom_attribute_filter.rb +2 -1
  241. data/lib/square/types/customer_custom_attribute_filter_value.rb +2 -1
  242. data/lib/square/types/customer_custom_attribute_filters.rb +7 -6
  243. data/lib/square/types/customer_custom_attribute_visible_updated_event.rb +6 -3
  244. data/lib/square/types/customer_deleted_event.rb +4 -2
  245. data/lib/square/types/customer_deleted_event_event_context_merge.rb +2 -1
  246. data/lib/square/types/customer_tax_ids.rb +4 -2
  247. data/lib/square/types/customer_updated_event.rb +4 -2
  248. data/lib/square/types/delete_booking_custom_attribute_definition_response.rb +5 -2
  249. data/lib/square/types/delete_booking_custom_attribute_response.rb +2 -1
  250. data/lib/square/types/delete_customer_custom_attribute_response.rb +2 -1
  251. data/lib/square/types/delete_location_custom_attribute_response.rb +2 -1
  252. data/lib/square/types/delete_merchant_custom_attribute_response.rb +2 -1
  253. data/lib/square/types/delete_subscription_action_response.rb +2 -1
  254. data/lib/square/types/delete_webhook_subscription_response.rb +2 -1
  255. data/lib/square/types/destination_details.rb +1 -3
  256. data/lib/square/types/device_checkout_options.rb +1 -0
  257. data/lib/square/types/device_component_details_ethernet_details.rb +1 -1
  258. data/lib/square/types/device_component_details_wi_fi_details.rb +1 -1
  259. data/lib/square/types/digital_wallet_details.rb +1 -0
  260. data/lib/square/types/disable_bank_account_response.rb +11 -0
  261. data/lib/square/types/dispute.rb +2 -1
  262. data/lib/square/types/dispute_evidence_added_event.rb +2 -1
  263. data/lib/square/types/dispute_evidence_created_event.rb +2 -1
  264. data/lib/square/types/employee_wage.rb +2 -1
  265. data/lib/square/types/error_code.rb +2 -0
  266. data/lib/square/types/event_data.rb +1 -3
  267. data/lib/square/types/fulfillment.rb +4 -7
  268. data/lib/square/types/fulfillment_delivery_details.rb +1 -3
  269. data/lib/square/types/fulfillment_pickup_details.rb +1 -3
  270. data/lib/square/types/get_bank_account_response.rb +1 -1
  271. data/lib/square/types/get_booking_request.rb +23 -0
  272. data/lib/square/types/get_business_booking_profile_request.rb +23 -0
  273. data/lib/square/types/get_card_request.rb +23 -0
  274. data/lib/square/types/get_catalog_object_response.rb +1 -3
  275. data/lib/square/types/get_customer_custom_attribute_definition_response.rb +4 -4
  276. data/lib/square/types/get_customer_custom_attribute_response.rb +2 -1
  277. data/lib/square/types/get_customer_group_request.rb +23 -0
  278. data/lib/square/types/get_customer_request.rb +23 -0
  279. data/lib/square/types/get_customer_segment_request.rb +23 -0
  280. data/lib/square/types/get_dispute_evidence_request.rb +23 -0
  281. data/lib/square/types/get_dispute_request.rb +23 -0
  282. data/lib/square/types/get_employee_request.rb +23 -0
  283. data/lib/square/types/get_gift_card_request.rb +23 -0
  284. data/lib/square/types/get_inventory_adjustment_request.rb +23 -0
  285. data/lib/square/types/get_inventory_physical_count_request.rb +23 -0
  286. data/lib/square/types/get_inventory_transfer_request.rb +23 -0
  287. data/lib/square/types/get_location_request.rb +23 -0
  288. data/lib/square/types/get_loyalty_account_request.rb +23 -0
  289. data/lib/square/types/get_loyalty_program_request.rb +23 -0
  290. data/lib/square/types/get_loyalty_promotion_request.rb +23 -0
  291. data/lib/square/types/get_loyalty_reward_request.rb +23 -0
  292. data/lib/square/types/get_merchant_request.rb +23 -0
  293. data/lib/square/types/get_order_request.rb +23 -0
  294. data/lib/square/types/get_payment_link_request.rb +23 -0
  295. data/lib/square/types/get_snippet_request.rb +23 -0
  296. data/lib/square/types/get_team_member_booking_profile_request.rb +23 -0
  297. data/lib/square/types/get_team_member_booking_profile_response.rb +1 -3
  298. data/lib/square/types/get_team_member_request.rb +23 -0
  299. data/lib/square/types/get_transaction_request.rb +23 -0
  300. data/lib/square/types/get_vendor_request.rb +23 -0
  301. data/lib/square/types/get_wage_setting_request.rb +23 -0
  302. data/lib/square/types/get_webhook_subscription_request.rb +23 -0
  303. data/lib/square/types/get_webhook_subscription_response.rb +2 -1
  304. data/lib/square/types/gift_card_activity.rb +8 -24
  305. data/lib/square/types/gift_card_activity_block_reason.rb +23 -0
  306. data/lib/square/types/gift_card_activity_unblock_reason.rb +23 -0
  307. data/lib/square/types/gift_card_activity_updated_event.rb +2 -1
  308. data/lib/square/types/inventory_count_updated_event_object.rb +1 -3
  309. data/lib/square/types/invoice.rb +6 -13
  310. data/lib/square/types/invoice_accepted_payment_methods.rb +2 -1
  311. data/lib/square/types/invoice_attachment.rb +1 -1
  312. data/lib/square/types/invoice_custom_field.rb +2 -1
  313. data/lib/square/types/invoice_payment_made_event.rb +2 -1
  314. data/lib/square/types/invoice_payment_request.rb +6 -8
  315. data/lib/square/types/invoice_refunded_event.rb +2 -1
  316. data/lib/square/types/invoice_sort_field.rb +23 -0
  317. data/lib/square/types/labor_scheduled_shift_created_event_object.rb +1 -1
  318. data/lib/square/types/labor_scheduled_shift_published_event_object.rb +1 -1
  319. data/lib/square/types/labor_scheduled_shift_updated_event_object.rb +1 -1
  320. data/lib/square/types/list_bank_accounts_response.rb +1 -1
  321. data/lib/square/types/list_booking_custom_attribute_definitions_response.rb +4 -4
  322. data/lib/square/types/list_booking_custom_attributes_response.rb +3 -4
  323. data/lib/square/types/list_cash_drawer_shift_events_response.rb +1 -3
  324. data/lib/square/types/list_cash_drawer_shifts_response.rb +1 -3
  325. data/lib/square/types/list_channels_request_constants.rb +23 -0
  326. data/lib/square/types/list_customer_custom_attribute_definitions_response.rb +4 -4
  327. data/lib/square/types/list_customer_custom_attributes_response.rb +3 -4
  328. data/lib/square/types/list_gift_card_activities_response.rb +1 -3
  329. data/lib/square/types/list_location_booking_profiles_response.rb +1 -3
  330. data/lib/square/types/list_location_custom_attribute_definitions_response.rb +4 -4
  331. data/lib/square/types/list_location_custom_attributes_response.rb +3 -4
  332. data/lib/square/types/list_loyalty_promotions_response.rb +1 -3
  333. data/lib/square/types/list_merchant_custom_attribute_definitions_response.rb +4 -4
  334. data/lib/square/types/list_merchant_custom_attributes_response.rb +3 -4
  335. data/lib/square/types/list_order_custom_attribute_definitions_response.rb +1 -3
  336. data/lib/square/types/list_order_custom_attributes_response.rb +1 -3
  337. data/lib/square/types/list_subscription_events_response.rb +1 -3
  338. data/lib/square/types/list_team_member_booking_profiles_response.rb +1 -3
  339. data/lib/square/types/list_team_member_wages_response.rb +1 -3
  340. data/lib/square/types/list_webhook_subscriptions_response.rb +1 -3
  341. data/lib/square/types/list_workweek_configs_response.rb +1 -3
  342. data/lib/square/types/location.rb +1 -3
  343. data/lib/square/types/location_booking_profile.rb +2 -1
  344. data/lib/square/types/location_custom_attribute_visible_updated_event.rb +6 -3
  345. data/lib/square/types/loyalty_account.rb +1 -3
  346. data/lib/square/types/loyalty_account_mapping_type.rb +23 -0
  347. data/lib/square/types/loyalty_event.rb +3 -4
  348. data/lib/square/types/loyalty_event_filter.rb +1 -3
  349. data/lib/square/types/loyalty_program.rb +4 -7
  350. data/lib/square/types/loyalty_program_accrual_rule.rb +3 -4
  351. data/lib/square/types/loyalty_program_reward_tier.rb +3 -1
  352. data/lib/square/types/loyalty_promotion_incentive.rb +2 -6
  353. data/lib/square/types/loyalty_promotion_incentive_points_addition_data.rb +2 -1
  354. data/lib/square/types/loyalty_promotion_incentive_points_multiplier_data.rb +2 -1
  355. data/lib/square/types/loyalty_promotion_trigger_limit.rb +2 -1
  356. data/lib/square/types/loyalty_reward.rb +4 -2
  357. data/lib/square/types/measurement_unit_generic.rb +23 -0
  358. data/lib/square/types/oauth_authorization_revoked_event_object.rb +1 -3
  359. data/lib/square/types/oauth_authorization_revoked_event_revocation_object.rb +1 -3
  360. data/lib/square/types/order.rb +2 -6
  361. data/lib/square/types/order_card_surcharge_treatment_type.rb +12 -0
  362. data/lib/square/types/order_custom_attribute_definition_owned_created_event.rb +2 -1
  363. data/lib/square/types/order_custom_attribute_definition_owned_deleted_event.rb +2 -1
  364. data/lib/square/types/order_custom_attribute_definition_owned_updated_event.rb +2 -1
  365. data/lib/square/types/order_custom_attribute_definition_visible_created_event.rb +2 -1
  366. data/lib/square/types/order_custom_attribute_definition_visible_deleted_event.rb +2 -1
  367. data/lib/square/types/order_custom_attribute_definition_visible_updated_event.rb +2 -1
  368. data/lib/square/types/order_custom_attribute_owned_deleted_event.rb +2 -1
  369. data/lib/square/types/order_custom_attribute_owned_updated_event.rb +2 -1
  370. data/lib/square/types/order_custom_attribute_visible_deleted_event.rb +2 -1
  371. data/lib/square/types/order_custom_attribute_visible_updated_event.rb +2 -1
  372. data/lib/square/types/order_fulfillment_updated.rb +1 -3
  373. data/lib/square/types/order_line_item.rb +4 -12
  374. data/lib/square/types/order_line_item_applied_tax.rb +1 -0
  375. data/lib/square/types/order_line_item_pricing_blocklists.rb +3 -6
  376. data/lib/square/types/order_line_item_pricing_blocklists_blocked_service_charge.rb +14 -0
  377. data/lib/square/types/order_return.rb +3 -9
  378. data/lib/square/types/order_return_line_item.rb +4 -12
  379. data/lib/square/types/order_return_service_charge.rb +3 -6
  380. data/lib/square/types/order_service_charge.rb +2 -6
  381. data/lib/square/types/payment.rb +1 -3
  382. data/lib/square/types/payment_link_related_resources.rb +1 -3
  383. data/lib/square/types/payment_refund.rb +1 -3
  384. data/lib/square/types/payout_entry.rb +24 -72
  385. data/lib/square/types/pre_populated_data.rb +2 -1
  386. data/lib/square/types/product_type.rb +23 -0
  387. data/lib/square/types/refund.rb +1 -3
  388. data/lib/square/types/retrieve_booking_custom_attribute_definition_response.rb +4 -4
  389. data/lib/square/types/retrieve_booking_custom_attribute_response.rb +2 -1
  390. data/lib/square/types/retrieve_location_custom_attribute_definition_response.rb +4 -4
  391. data/lib/square/types/retrieve_location_custom_attribute_response.rb +2 -1
  392. data/lib/square/types/retrieve_merchant_custom_attribute_definition_response.rb +4 -4
  393. data/lib/square/types/retrieve_merchant_custom_attribute_response.rb +2 -1
  394. data/lib/square/types/retrieve_order_custom_attribute_definition_response.rb +1 -3
  395. data/lib/square/types/scheduled_shift_filter.rb +3 -7
  396. data/lib/square/types/scheduled_shift_workday.rb +1 -3
  397. data/lib/square/types/search_availability_filter.rb +1 -3
  398. data/lib/square/types/search_catalog_items_response.rb +2 -1
  399. data/lib/square/types/search_catalog_objects_response.rb +1 -3
  400. data/lib/square/types/search_events_sort_field.rb +23 -0
  401. data/lib/square/types/search_loyalty_accounts_request_loyalty_account_query.rb +1 -3
  402. data/lib/square/types/search_loyalty_accounts_response.rb +1 -3
  403. data/lib/square/types/search_orders_date_time_filter.rb +2 -1
  404. data/lib/square/types/search_orders_fulfillment_filter.rb +2 -6
  405. data/lib/square/types/search_orders_source_filter.rb +2 -0
  406. data/lib/square/types/search_scheduled_shifts_response.rb +1 -3
  407. data/lib/square/types/search_transfer_orders_response.rb +1 -3
  408. data/lib/square/types/shift_filter.rb +3 -2
  409. data/lib/square/types/shift_query.rb +2 -1
  410. data/lib/square/types/shift_sort.rb +2 -1
  411. data/lib/square/types/shift_wage.rb +2 -1
  412. data/lib/square/types/shift_workday.rb +2 -1
  413. data/lib/square/types/snippet.rb +2 -1
  414. data/lib/square/types/standard_unit_description_group.rb +1 -3
  415. data/lib/square/types/subscription_event.rb +1 -3
  416. data/lib/square/types/subscription_phase.rb +2 -1
  417. data/lib/square/types/subscription_test_result.rb +5 -3
  418. data/lib/square/types/team_member_assigned_locations.rb +1 -3
  419. data/lib/square/types/team_member_booking_profile.rb +2 -1
  420. data/lib/square/types/tender.rb +2 -6
  421. data/lib/square/types/tender_buy_now_pay_later_details.rb +1 -3
  422. data/lib/square/types/terminal_refund.rb +2 -1
  423. data/lib/square/types/test_webhook_subscription_response.rb +5 -5
  424. data/lib/square/types/timecard_filter.rb +1 -1
  425. data/lib/square/types/transfer_order.rb +1 -3
  426. data/lib/square/types/transfer_order_filter.rb +1 -3
  427. data/lib/square/types/transfer_order_goods_receipt.rb +1 -3
  428. data/lib/square/types/update_booking_custom_attribute_definition_response.rb +4 -4
  429. data/lib/square/types/update_customer_custom_attribute_definition_response.rb +4 -4
  430. data/lib/square/types/update_location_custom_attribute_definition_response.rb +4 -4
  431. data/lib/square/types/update_merchant_custom_attribute_definition_response.rb +4 -4
  432. data/lib/square/types/update_order_custom_attribute_definition_response.rb +1 -3
  433. data/lib/square/types/update_transfer_order_data.rb +1 -3
  434. data/lib/square/types/update_webhook_subscription_response.rb +2 -1
  435. data/lib/square/types/update_webhook_subscription_signature_key_response.rb +3 -1
  436. data/lib/square/types/upsert_booking_custom_attribute_response.rb +2 -1
  437. data/lib/square/types/upsert_catalog_object_response.rb +1 -3
  438. data/lib/square/types/upsert_customer_custom_attribute_response.rb +2 -1
  439. data/lib/square/types/upsert_location_custom_attribute_response.rb +2 -1
  440. data/lib/square/types/upsert_merchant_custom_attribute_response.rb +2 -1
  441. data/lib/square/types/v_1_get_payment_request.rb +23 -0
  442. data/lib/square/types/v_1_get_settlement_request.rb +23 -0
  443. data/lib/square/types/v_1_order.rb +1 -3
  444. data/lib/square/types/vendor_created_event_object_operation.rb +23 -0
  445. data/lib/square/types/vendor_updated_event_object_operation.rb +23 -0
  446. data/lib/square/types/wage_setting.rb +1 -3
  447. data/lib/square/v_1_transactions/client.rb +72 -29
  448. data/lib/square/vendors/client.rb +126 -51
  449. data/lib/square/vendors/types/batch_update_vendors_request.rb +1 -3
  450. data/lib/square/version.rb +1 -1
  451. data/lib/square/webhooks/client.rb +3 -1
  452. data/lib/square/webhooks/event_types/client.rb +25 -14
  453. data/lib/square/webhooks/subscriptions/client.rb +164 -69
  454. data/lib/square.rb +57 -5
  455. data/lib/square_legacy/utilities/webhooks_helper.rb +1 -1
  456. data/reference.md +29588 -0
  457. data/wiremock/docker-compose.test.yml +14 -0
  458. data/wiremock/wiremock-mappings.json +1 -0
  459. metadata +69 -45
  460. data/lib/square/mobile/client.rb +0 -50
  461. data/lib/square/mobile/types/create_mobile_authorization_code_request.rb +0 -11
  462. data/lib/square/types/create_mobile_authorization_code_response.rb +0 -13
  463. data/test/square/integration/client_tests/test_cash_drawers.rb +0 -27
  464. data/test/square/integration/client_tests/test_catalog.rb +0 -704
  465. data/test/square/integration/client_tests/test_customers.rb +0 -65
  466. data/test/square/integration/client_tests/test_customers_groups.rb +0 -144
  467. data/test/square/integration/client_tests/test_customers_segments.rb +0 -36
  468. data/test/square/integration/client_tests/test_devices.rb +0 -67
  469. data/test/square/integration/client_tests/test_inventory.rb +0 -28
  470. data/test/square/integration/client_tests/test_locations.rb +0 -18
  471. data/test/square/integration/client_tests/test_merchants.rb +0 -40
  472. data/test/square/integration/client_tests/test_mobile.rb +0 -21
  473. data/test/square/integration/client_tests/test_orders.rb +0 -177
  474. data/test/square/integration/client_tests/test_payments.rb +0 -167
  475. data/test/square/integration/client_tests/test_refunds.rb +0 -133
  476. data/test/square/integration/client_tests/test_team_members.rb +0 -97
  477. data/test/square/integration/client_tests/test_terminal.rb +0 -107
  478. data/test/square/integration/integration_test_base.rb +0 -16
  479. data/test/square/integration/testdata/image.jpeg +0 -0
  480. data/test/square/internal/multipart/test_form_data.rb +0 -311
  481. data/test/square/internal/types/test_array.rb +0 -37
  482. data/test/square/internal/types/test_boolean.rb +0 -35
  483. data/test/square/internal/types/test_enum.rb +0 -42
  484. data/test/square/internal/types/test_hash.rb +0 -50
  485. data/test/square/internal/types/test_model.rb +0 -105
  486. data/test/square/internal/types/test_union.rb +0 -52
  487. data/test/square/internal/types/test_utils.rb +0 -216
  488. data/test/square_legacy/api/api_test_base.rb +0 -27
  489. data/test/square_legacy/api/test_catalog_api.rb +0 -57
  490. data/test/square_legacy/api/test_customers_api.rb +0 -43
  491. data/test/square_legacy/api/test_employees_api.rb +0 -34
  492. data/test/square_legacy/api/test_labor_api.rb +0 -82
  493. data/test/square_legacy/api/test_locations_api.rb +0 -22
  494. data/test/square_legacy/api/test_merchants_api.rb +0 -38
  495. data/test/square_legacy/api/test_payments_api.rb +0 -40
  496. data/test/square_legacy/api/test_refunds_api.rb +0 -42
  497. data/test/square_legacy/http_response_catcher.rb +0 -14
  498. data/test/square_legacy/webhooks/test_webhooks_helper.rb +0 -153
  499. data/test/test_helper.rb +0 -123
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module Subscriptions
5
5
  class Client
6
- # @return [Square::Subscriptions::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -15,52 +17,74 @@ module Square
15
17
  # address. The subscription starts immediately, unless the request includes
16
18
  # the optional `start_date`. Each individual subscription is associated with a particular location.
17
19
  #
18
- # For more information, see [Create a subscription](https://developer.squareup.com/docs/subscriptions-api/manage-subscriptions#create-a-subscription).
20
+ # For more information, see [Create a
21
+ # subscription](https://developer.squareup.com/docs/subscriptions-api/manage-subscriptions#create-a-subscription).
22
+ #
23
+ # @param request_options [Hash]
24
+ # @param params [Square::Subscriptions::Types::CreateSubscriptionRequest]
25
+ # @option request_options [String] :base_url
26
+ # @option request_options [Hash{String => Object}] :additional_headers
27
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
28
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
29
+ # @option request_options [Integer] :timeout_in_seconds
19
30
  #
20
31
  # @return [Square::Types::CreateSubscriptionResponse]
21
32
  def create(request_options: {}, **params)
22
- _request = Square::Internal::JSON::Request.new(
23
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
33
+ params = Square::Internal::Types::Utils.normalize_keys(params)
34
+ request = Square::Internal::JSON::Request.new(
35
+ base_url: request_options[:base_url],
24
36
  method: "POST",
25
37
  path: "v2/subscriptions",
26
- body: params
38
+ body: Square::Subscriptions::Types::CreateSubscriptionRequest.new(params).to_h,
39
+ request_options: request_options
27
40
  )
28
41
  begin
29
- _response = @client.send(_request)
42
+ response = @client.send(request)
30
43
  rescue Net::HTTPRequestTimeout
31
44
  raise Square::Errors::TimeoutError
32
45
  end
33
- code = _response.code.to_i
46
+ code = response.code.to_i
34
47
  if code.between?(200, 299)
35
- Square::Types::CreateSubscriptionResponse.load(_response.body)
48
+ Square::Types::CreateSubscriptionResponse.load(response.body)
36
49
  else
37
50
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
38
- raise error_class.new(_response.body, code: code)
51
+ raise error_class.new(response.body, code: code)
39
52
  end
40
53
  end
41
54
 
42
55
  # Schedules a plan variation change for all active subscriptions under a given plan
43
- # variation. For more information, see [Swap Subscription Plan Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations).
56
+ # variation. For more information, see [Swap Subscription Plan
57
+ # Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations).
58
+ #
59
+ # @param request_options [Hash]
60
+ # @param params [Square::Subscriptions::Types::BulkSwapPlanRequest]
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
44
66
  #
45
67
  # @return [Square::Types::BulkSwapPlanResponse]
46
68
  def bulk_swap_plan(request_options: {}, **params)
47
- _request = Square::Internal::JSON::Request.new(
48
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
69
+ params = Square::Internal::Types::Utils.normalize_keys(params)
70
+ request = Square::Internal::JSON::Request.new(
71
+ base_url: request_options[:base_url],
49
72
  method: "POST",
50
73
  path: "v2/subscriptions/bulk-swap-plan",
51
- body: params
74
+ body: Square::Subscriptions::Types::BulkSwapPlanRequest.new(params).to_h,
75
+ request_options: request_options
52
76
  )
53
77
  begin
54
- _response = @client.send(_request)
78
+ response = @client.send(request)
55
79
  rescue Net::HTTPRequestTimeout
56
80
  raise Square::Errors::TimeoutError
57
81
  end
58
- code = _response.code.to_i
82
+ code = response.code.to_i
59
83
  if code.between?(200, 299)
60
- Square::Types::BulkSwapPlanResponse.load(_response.body)
84
+ Square::Types::BulkSwapPlanResponse.load(response.body)
61
85
  else
62
86
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
63
- raise error_class.new(_response.body, code: code)
87
+ raise error_class.new(response.body, code: code)
64
88
  end
65
89
  end
66
90
 
@@ -79,133 +103,192 @@ module Square
79
103
  # first by location, within location by customer ID, and within
80
104
  # customer by subscription creation date.
81
105
  #
106
+ # @param request_options [Hash]
107
+ # @param params [Square::Subscriptions::Types::SearchSubscriptionsRequest]
108
+ # @option request_options [String] :base_url
109
+ # @option request_options [Hash{String => Object}] :additional_headers
110
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
111
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
112
+ # @option request_options [Integer] :timeout_in_seconds
113
+ #
82
114
  # @return [Square::Types::SearchSubscriptionsResponse]
83
115
  def search(request_options: {}, **params)
84
- _request = Square::Internal::JSON::Request.new(
85
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
116
+ params = Square::Internal::Types::Utils.normalize_keys(params)
117
+ request = Square::Internal::JSON::Request.new(
118
+ base_url: request_options[:base_url],
86
119
  method: "POST",
87
120
  path: "v2/subscriptions/search",
88
- body: params
121
+ body: Square::Subscriptions::Types::SearchSubscriptionsRequest.new(params).to_h,
122
+ request_options: request_options
89
123
  )
90
124
  begin
91
- _response = @client.send(_request)
125
+ response = @client.send(request)
92
126
  rescue Net::HTTPRequestTimeout
93
127
  raise Square::Errors::TimeoutError
94
128
  end
95
- code = _response.code.to_i
129
+ code = response.code.to_i
96
130
  if code.between?(200, 299)
97
- Square::Types::SearchSubscriptionsResponse.load(_response.body)
131
+ Square::Types::SearchSubscriptionsResponse.load(response.body)
98
132
  else
99
133
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
100
- raise error_class.new(_response.body, code: code)
134
+ raise error_class.new(response.body, code: code)
101
135
  end
102
136
  end
103
137
 
104
138
  # Retrieves a specific subscription.
105
139
  #
140
+ # @param request_options [Hash]
141
+ # @param params [Hash]
142
+ # @option request_options [String] :base_url
143
+ # @option request_options [Hash{String => Object}] :additional_headers
144
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
145
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
146
+ # @option request_options [Integer] :timeout_in_seconds
147
+ # @option params [String] :subscription_id
148
+ # @option params [String, nil] :include
149
+ #
106
150
  # @return [Square::Types::GetSubscriptionResponse]
107
151
  def get(request_options: {}, **params)
108
- _query_param_names = [
109
- ["include"],
110
- %i[include]
111
- ].flatten
112
- _query = params.slice(*_query_param_names)
113
- params = params.except(*_query_param_names)
152
+ params = Square::Internal::Types::Utils.normalize_keys(params)
153
+ query_param_names = %i[include]
154
+ query_params = {}
155
+ query_params["include"] = params[:include] if params.key?(:include)
156
+ params = params.except(*query_param_names)
114
157
 
115
- _request = Square::Internal::JSON::Request.new(
116
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
158
+ request = Square::Internal::JSON::Request.new(
159
+ base_url: request_options[:base_url],
117
160
  method: "GET",
118
161
  path: "v2/subscriptions/#{params[:subscription_id]}",
119
- query: _query
162
+ query: query_params,
163
+ request_options: request_options
120
164
  )
121
165
  begin
122
- _response = @client.send(_request)
166
+ response = @client.send(request)
123
167
  rescue Net::HTTPRequestTimeout
124
168
  raise Square::Errors::TimeoutError
125
169
  end
126
- code = _response.code.to_i
170
+ code = response.code.to_i
127
171
  if code.between?(200, 299)
128
- Square::Types::GetSubscriptionResponse.load(_response.body)
172
+ Square::Types::GetSubscriptionResponse.load(response.body)
129
173
  else
130
174
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
131
- raise error_class.new(_response.body, code: code)
175
+ raise error_class.new(response.body, code: code)
132
176
  end
133
177
  end
134
178
 
135
179
  # Updates a subscription by modifying or clearing `subscription` field values.
136
180
  # To clear a field, set its value to `null`.
137
181
  #
182
+ # @param request_options [Hash]
183
+ # @param params [Square::Subscriptions::Types::UpdateSubscriptionRequest]
184
+ # @option request_options [String] :base_url
185
+ # @option request_options [Hash{String => Object}] :additional_headers
186
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
187
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
188
+ # @option request_options [Integer] :timeout_in_seconds
189
+ # @option params [String] :subscription_id
190
+ #
138
191
  # @return [Square::Types::UpdateSubscriptionResponse]
139
192
  def update(request_options: {}, **params)
140
- _path_param_names = ["subscription_id"]
193
+ params = Square::Internal::Types::Utils.normalize_keys(params)
194
+ request_data = Square::Subscriptions::Types::UpdateSubscriptionRequest.new(params).to_h
195
+ non_body_param_names = ["subscription_id"]
196
+ body = request_data.except(*non_body_param_names)
141
197
 
142
- _request = Square::Internal::JSON::Request.new(
143
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
198
+ request = Square::Internal::JSON::Request.new(
199
+ base_url: request_options[:base_url],
144
200
  method: "PUT",
145
201
  path: "v2/subscriptions/#{params[:subscription_id]}",
146
- body: params.except(*_path_param_names)
202
+ body: body,
203
+ request_options: request_options
147
204
  )
148
205
  begin
149
- _response = @client.send(_request)
206
+ response = @client.send(request)
150
207
  rescue Net::HTTPRequestTimeout
151
208
  raise Square::Errors::TimeoutError
152
209
  end
153
- code = _response.code.to_i
210
+ code = response.code.to_i
154
211
  if code.between?(200, 299)
155
- Square::Types::UpdateSubscriptionResponse.load(_response.body)
212
+ Square::Types::UpdateSubscriptionResponse.load(response.body)
156
213
  else
157
214
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
158
- raise error_class.new(_response.body, code: code)
215
+ raise error_class.new(response.body, code: code)
159
216
  end
160
217
  end
161
218
 
162
219
  # Deletes a scheduled action for a subscription.
163
220
  #
221
+ # @param request_options [Hash]
222
+ # @param params [Hash]
223
+ # @option request_options [String] :base_url
224
+ # @option request_options [Hash{String => Object}] :additional_headers
225
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
226
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
227
+ # @option request_options [Integer] :timeout_in_seconds
228
+ # @option params [String] :subscription_id
229
+ # @option params [String] :action_id
230
+ #
164
231
  # @return [Square::Types::DeleteSubscriptionActionResponse]
165
232
  def delete_action(request_options: {}, **params)
166
- _request = Square::Internal::JSON::Request.new(
167
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
233
+ params = Square::Internal::Types::Utils.normalize_keys(params)
234
+ request = Square::Internal::JSON::Request.new(
235
+ base_url: request_options[:base_url],
168
236
  method: "DELETE",
169
- path: "v2/subscriptions/#{params[:subscription_id]}/actions/#{params[:action_id]}"
237
+ path: "v2/subscriptions/#{params[:subscription_id]}/actions/#{params[:action_id]}",
238
+ request_options: request_options
170
239
  )
171
240
  begin
172
- _response = @client.send(_request)
241
+ response = @client.send(request)
173
242
  rescue Net::HTTPRequestTimeout
174
243
  raise Square::Errors::TimeoutError
175
244
  end
176
- code = _response.code.to_i
245
+ code = response.code.to_i
177
246
  if code.between?(200, 299)
178
- Square::Types::DeleteSubscriptionActionResponse.load(_response.body)
247
+ Square::Types::DeleteSubscriptionActionResponse.load(response.body)
179
248
  else
180
249
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
181
- raise error_class.new(_response.body, code: code)
250
+ raise error_class.new(response.body, code: code)
182
251
  end
183
252
  end
184
253
 
185
- # Changes the [billing anchor date](https://developer.squareup.com/docs/subscriptions-api/subscription-billing#billing-dates)
254
+ # Changes the [billing anchor
255
+ # date](https://developer.squareup.com/docs/subscriptions-api/subscription-billing#billing-dates)
186
256
  # for a subscription.
187
257
  #
258
+ # @param request_options [Hash]
259
+ # @param params [Square::Subscriptions::Types::ChangeBillingAnchorDateRequest]
260
+ # @option request_options [String] :base_url
261
+ # @option request_options [Hash{String => Object}] :additional_headers
262
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
263
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
264
+ # @option request_options [Integer] :timeout_in_seconds
265
+ # @option params [String] :subscription_id
266
+ #
188
267
  # @return [Square::Types::ChangeBillingAnchorDateResponse]
189
268
  def change_billing_anchor_date(request_options: {}, **params)
190
- _path_param_names = ["subscription_id"]
269
+ params = Square::Internal::Types::Utils.normalize_keys(params)
270
+ request_data = Square::Subscriptions::Types::ChangeBillingAnchorDateRequest.new(params).to_h
271
+ non_body_param_names = ["subscription_id"]
272
+ body = request_data.except(*non_body_param_names)
191
273
 
192
- _request = Square::Internal::JSON::Request.new(
193
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
274
+ request = Square::Internal::JSON::Request.new(
275
+ base_url: request_options[:base_url],
194
276
  method: "POST",
195
277
  path: "v2/subscriptions/#{params[:subscription_id]}/billing-anchor",
196
- body: params.except(*_path_param_names)
278
+ body: body,
279
+ request_options: request_options
197
280
  )
198
281
  begin
199
- _response = @client.send(_request)
282
+ response = @client.send(request)
200
283
  rescue Net::HTTPRequestTimeout
201
284
  raise Square::Errors::TimeoutError
202
285
  end
203
- code = _response.code.to_i
286
+ code = response.code.to_i
204
287
  if code.between?(200, 299)
205
- Square::Types::ChangeBillingAnchorDateResponse.load(_response.body)
288
+ Square::Types::ChangeBillingAnchorDateResponse.load(response.body)
206
289
  else
207
290
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
208
- raise error_class.new(_response.body, code: code)
291
+ raise error_class.new(response.body, code: code)
209
292
  end
210
293
  end
211
294
 
@@ -213,134 +296,205 @@ module Square
213
296
  # sets the `canceled_date` field to the end of the active billing period. After this date,
214
297
  # the subscription status changes from ACTIVE to CANCELED.
215
298
  #
299
+ # @param request_options [Hash]
300
+ # @param params [Hash]
301
+ # @option request_options [String] :base_url
302
+ # @option request_options [Hash{String => Object}] :additional_headers
303
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
304
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
305
+ # @option request_options [Integer] :timeout_in_seconds
306
+ # @option params [String] :subscription_id
307
+ #
216
308
  # @return [Square::Types::CancelSubscriptionResponse]
217
309
  def cancel(request_options: {}, **params)
218
- _request = Square::Internal::JSON::Request.new(
219
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
310
+ params = Square::Internal::Types::Utils.normalize_keys(params)
311
+ request = Square::Internal::JSON::Request.new(
312
+ base_url: request_options[:base_url],
220
313
  method: "POST",
221
- path: "v2/subscriptions/#{params[:subscription_id]}/cancel"
314
+ path: "v2/subscriptions/#{params[:subscription_id]}/cancel",
315
+ request_options: request_options
222
316
  )
223
317
  begin
224
- _response = @client.send(_request)
318
+ response = @client.send(request)
225
319
  rescue Net::HTTPRequestTimeout
226
320
  raise Square::Errors::TimeoutError
227
321
  end
228
- code = _response.code.to_i
322
+ code = response.code.to_i
229
323
  if code.between?(200, 299)
230
- Square::Types::CancelSubscriptionResponse.load(_response.body)
324
+ Square::Types::CancelSubscriptionResponse.load(response.body)
231
325
  else
232
326
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
233
- raise error_class.new(_response.body, code: code)
327
+ raise error_class.new(response.body, code: code)
234
328
  end
235
329
  end
236
330
 
237
- # Lists all [events](https://developer.squareup.com/docs/subscriptions-api/actions-events) for a specific subscription.
331
+ # Lists all [events](https://developer.squareup.com/docs/subscriptions-api/actions-events) for a specific
332
+ # subscription.
333
+ #
334
+ # @param request_options [Hash]
335
+ # @param params [Hash]
336
+ # @option request_options [String] :base_url
337
+ # @option request_options [Hash{String => Object}] :additional_headers
338
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
339
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
340
+ # @option request_options [Integer] :timeout_in_seconds
341
+ # @option params [String] :subscription_id
342
+ # @option params [String, nil] :cursor
343
+ # @option params [Integer, nil] :limit
238
344
  #
239
345
  # @return [Square::Types::ListSubscriptionEventsResponse]
240
346
  def list_events(request_options: {}, **params)
241
- _query_param_names = [
242
- %w[cursor limit],
243
- %i[cursor limit]
244
- ].flatten
245
- _query = params.slice(*_query_param_names)
246
- params = params.except(*_query_param_names)
347
+ params = Square::Internal::Types::Utils.normalize_keys(params)
348
+ query_param_names = %i[cursor limit]
349
+ query_params = {}
350
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
351
+ query_params["limit"] = params[:limit] if params.key?(:limit)
352
+ params = params.except(*query_param_names)
247
353
 
248
- _request = Square::Internal::JSON::Request.new(
249
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
250
- method: "GET",
251
- path: "v2/subscriptions/#{params[:subscription_id]}/events",
252
- query: _query
253
- )
254
- begin
255
- _response = @client.send(_request)
256
- rescue Net::HTTPRequestTimeout
257
- raise Square::Errors::TimeoutError
258
- end
259
- code = _response.code.to_i
260
- if code.between?(200, 299)
261
- Square::Types::ListSubscriptionEventsResponse.load(_response.body)
262
- else
263
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
264
- raise error_class.new(_response.body, code: code)
354
+ Square::Internal::CursorItemIterator.new(
355
+ cursor_field: :cursor,
356
+ item_field: :subscription_events,
357
+ initial_cursor: query_params[:cursor]
358
+ ) do |next_cursor|
359
+ query_params[:cursor] = next_cursor
360
+ request = Square::Internal::JSON::Request.new(
361
+ base_url: request_options[:base_url],
362
+ method: "GET",
363
+ path: "v2/subscriptions/#{params[:subscription_id]}/events",
364
+ query: query_params,
365
+ request_options: request_options
366
+ )
367
+ begin
368
+ response = @client.send(request)
369
+ rescue Net::HTTPRequestTimeout
370
+ raise Square::Errors::TimeoutError
371
+ end
372
+ code = response.code.to_i
373
+ if code.between?(200, 299)
374
+ Square::Types::ListSubscriptionEventsResponse.load(response.body)
375
+ else
376
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
377
+ raise error_class.new(response.body, code: code)
378
+ end
265
379
  end
266
380
  end
267
381
 
268
382
  # Schedules a `PAUSE` action to pause an active subscription.
269
383
  #
384
+ # @param request_options [Hash]
385
+ # @param params [Square::Subscriptions::Types::PauseSubscriptionRequest]
386
+ # @option request_options [String] :base_url
387
+ # @option request_options [Hash{String => Object}] :additional_headers
388
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
389
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
390
+ # @option request_options [Integer] :timeout_in_seconds
391
+ # @option params [String] :subscription_id
392
+ #
270
393
  # @return [Square::Types::PauseSubscriptionResponse]
271
394
  def pause(request_options: {}, **params)
272
- _path_param_names = ["subscription_id"]
395
+ params = Square::Internal::Types::Utils.normalize_keys(params)
396
+ request_data = Square::Subscriptions::Types::PauseSubscriptionRequest.new(params).to_h
397
+ non_body_param_names = ["subscription_id"]
398
+ body = request_data.except(*non_body_param_names)
273
399
 
274
- _request = Square::Internal::JSON::Request.new(
275
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
400
+ request = Square::Internal::JSON::Request.new(
401
+ base_url: request_options[:base_url],
276
402
  method: "POST",
277
403
  path: "v2/subscriptions/#{params[:subscription_id]}/pause",
278
- body: params.except(*_path_param_names)
404
+ body: body,
405
+ request_options: request_options
279
406
  )
280
407
  begin
281
- _response = @client.send(_request)
408
+ response = @client.send(request)
282
409
  rescue Net::HTTPRequestTimeout
283
410
  raise Square::Errors::TimeoutError
284
411
  end
285
- code = _response.code.to_i
412
+ code = response.code.to_i
286
413
  if code.between?(200, 299)
287
- Square::Types::PauseSubscriptionResponse.load(_response.body)
414
+ Square::Types::PauseSubscriptionResponse.load(response.body)
288
415
  else
289
416
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
290
- raise error_class.new(_response.body, code: code)
417
+ raise error_class.new(response.body, code: code)
291
418
  end
292
419
  end
293
420
 
294
421
  # Schedules a `RESUME` action to resume a paused or a deactivated subscription.
295
422
  #
423
+ # @param request_options [Hash]
424
+ # @param params [Square::Subscriptions::Types::ResumeSubscriptionRequest]
425
+ # @option request_options [String] :base_url
426
+ # @option request_options [Hash{String => Object}] :additional_headers
427
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
428
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
429
+ # @option request_options [Integer] :timeout_in_seconds
430
+ # @option params [String] :subscription_id
431
+ #
296
432
  # @return [Square::Types::ResumeSubscriptionResponse]
297
433
  def resume(request_options: {}, **params)
298
- _path_param_names = ["subscription_id"]
434
+ params = Square::Internal::Types::Utils.normalize_keys(params)
435
+ request_data = Square::Subscriptions::Types::ResumeSubscriptionRequest.new(params).to_h
436
+ non_body_param_names = ["subscription_id"]
437
+ body = request_data.except(*non_body_param_names)
299
438
 
300
- _request = Square::Internal::JSON::Request.new(
301
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
439
+ request = Square::Internal::JSON::Request.new(
440
+ base_url: request_options[:base_url],
302
441
  method: "POST",
303
442
  path: "v2/subscriptions/#{params[:subscription_id]}/resume",
304
- body: params.except(*_path_param_names)
443
+ body: body,
444
+ request_options: request_options
305
445
  )
306
446
  begin
307
- _response = @client.send(_request)
447
+ response = @client.send(request)
308
448
  rescue Net::HTTPRequestTimeout
309
449
  raise Square::Errors::TimeoutError
310
450
  end
311
- code = _response.code.to_i
451
+ code = response.code.to_i
312
452
  if code.between?(200, 299)
313
- Square::Types::ResumeSubscriptionResponse.load(_response.body)
453
+ Square::Types::ResumeSubscriptionResponse.load(response.body)
314
454
  else
315
455
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
316
- raise error_class.new(_response.body, code: code)
456
+ raise error_class.new(response.body, code: code)
317
457
  end
318
458
  end
319
459
 
320
460
  # Schedules a `SWAP_PLAN` action to swap a subscription plan variation in an existing subscription.
321
- # For more information, see [Swap Subscription Plan Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations).
461
+ # For more information, see [Swap Subscription Plan
462
+ # Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations).
463
+ #
464
+ # @param request_options [Hash]
465
+ # @param params [Square::Subscriptions::Types::SwapPlanRequest]
466
+ # @option request_options [String] :base_url
467
+ # @option request_options [Hash{String => Object}] :additional_headers
468
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
469
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
470
+ # @option request_options [Integer] :timeout_in_seconds
471
+ # @option params [String] :subscription_id
322
472
  #
323
473
  # @return [Square::Types::SwapPlanResponse]
324
474
  def swap_plan(request_options: {}, **params)
325
- _path_param_names = ["subscription_id"]
475
+ params = Square::Internal::Types::Utils.normalize_keys(params)
476
+ request_data = Square::Subscriptions::Types::SwapPlanRequest.new(params).to_h
477
+ non_body_param_names = ["subscription_id"]
478
+ body = request_data.except(*non_body_param_names)
326
479
 
327
- _request = Square::Internal::JSON::Request.new(
328
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
480
+ request = Square::Internal::JSON::Request.new(
481
+ base_url: request_options[:base_url],
329
482
  method: "POST",
330
483
  path: "v2/subscriptions/#{params[:subscription_id]}/swap-plan",
331
- body: params.except(*_path_param_names)
484
+ body: body,
485
+ request_options: request_options
332
486
  )
333
487
  begin
334
- _response = @client.send(_request)
488
+ response = @client.send(request)
335
489
  rescue Net::HTTPRequestTimeout
336
490
  raise Square::Errors::TimeoutError
337
491
  end
338
- code = _response.code.to_i
492
+ code = response.code.to_i
339
493
  if code.between?(200, 299)
340
- Square::Types::SwapPlanResponse.load(_response.body)
494
+ Square::Types::SwapPlanResponse.load(response.body)
341
495
  else
342
496
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
343
- raise error_class.new(_response.body, code: code)
497
+ raise error_class.new(response.body, code: code)
344
498
  end
345
499
  end
346
500
  end