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 Payments
5
5
  class Client
6
- # @return [Square::Payments::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,34 +17,76 @@ module Square
15
17
  #
16
18
  # The maximum results per page is 100.
17
19
  #
20
+ # @param request_options [Hash]
21
+ # @param params [Hash]
22
+ # @option request_options [String] :base_url
23
+ # @option request_options [Hash{String => Object}] :additional_headers
24
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
25
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
26
+ # @option request_options [Integer] :timeout_in_seconds
27
+ # @option params [String, nil] :begin_time
28
+ # @option params [String, nil] :end_time
29
+ # @option params [String, nil] :sort_order
30
+ # @option params [String, nil] :cursor
31
+ # @option params [String, nil] :location_id
32
+ # @option params [Integer, nil] :total
33
+ # @option params [String, nil] :last_4
34
+ # @option params [String, nil] :card_brand
35
+ # @option params [Integer, nil] :limit
36
+ # @option params [Boolean, nil] :is_offline_payment
37
+ # @option params [String, nil] :offline_begin_time
38
+ # @option params [String, nil] :offline_end_time
39
+ # @option params [String, nil] :updated_at_begin_time
40
+ # @option params [String, nil] :updated_at_end_time
41
+ # @option params [Square::Types::ListPaymentsRequestSortField, nil] :sort_field
42
+ #
18
43
  # @return [Square::Types::ListPaymentsResponse]
19
44
  def list(request_options: {}, **params)
20
- _query_param_names = [
21
- %w[begin_time end_time sort_order cursor location_id total last_4 card_brand limit
22
- is_offline_payment offline_begin_time offline_end_time updated_at_begin_time updated_at_end_time sort_field],
23
- %i[begin_time end_time sort_order cursor location_id total last_4 card_brand limit is_offline_payment
24
- offline_begin_time offline_end_time updated_at_begin_time updated_at_end_time sort_field]
25
- ].flatten
26
- _query = params.slice(*_query_param_names)
27
- params.except(*_query_param_names)
45
+ params = Square::Internal::Types::Utils.normalize_keys(params)
46
+ query_param_names = %i[begin_time end_time sort_order cursor location_id total last_4 card_brand limit is_offline_payment offline_begin_time offline_end_time updated_at_begin_time updated_at_end_time sort_field]
47
+ query_params = {}
48
+ query_params["begin_time"] = params[:begin_time] if params.key?(:begin_time)
49
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
50
+ query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order)
51
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
52
+ query_params["location_id"] = params[:location_id] if params.key?(:location_id)
53
+ query_params["total"] = params[:total] if params.key?(:total)
54
+ query_params["last_4"] = params[:last_4] if params.key?(:last_4)
55
+ query_params["card_brand"] = params[:card_brand] if params.key?(:card_brand)
56
+ query_params["limit"] = params[:limit] if params.key?(:limit)
57
+ query_params["is_offline_payment"] = params[:is_offline_payment] if params.key?(:is_offline_payment)
58
+ query_params["offline_begin_time"] = params[:offline_begin_time] if params.key?(:offline_begin_time)
59
+ query_params["offline_end_time"] = params[:offline_end_time] if params.key?(:offline_end_time)
60
+ query_params["updated_at_begin_time"] = params[:updated_at_begin_time] if params.key?(:updated_at_begin_time)
61
+ query_params["updated_at_end_time"] = params[:updated_at_end_time] if params.key?(:updated_at_end_time)
62
+ query_params["sort_field"] = params[:sort_field] if params.key?(:sort_field)
63
+ params.except(*query_param_names)
28
64
 
29
- _request = Square::Internal::JSON::Request.new(
30
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
31
- method: "GET",
32
- path: "v2/payments",
33
- query: _query
34
- )
35
- begin
36
- _response = @client.send(_request)
37
- rescue Net::HTTPRequestTimeout
38
- raise Square::Errors::TimeoutError
39
- end
40
- code = _response.code.to_i
41
- if code.between?(200, 299)
42
- Square::Types::ListPaymentsResponse.load(_response.body)
43
- else
44
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
45
- raise error_class.new(_response.body, code: code)
65
+ Square::Internal::CursorItemIterator.new(
66
+ cursor_field: :cursor,
67
+ item_field: :payments,
68
+ initial_cursor: query_params[:cursor]
69
+ ) do |next_cursor|
70
+ query_params[:cursor] = next_cursor
71
+ request = Square::Internal::JSON::Request.new(
72
+ base_url: request_options[:base_url],
73
+ method: "GET",
74
+ path: "v2/payments",
75
+ query: query_params,
76
+ request_options: request_options
77
+ )
78
+ begin
79
+ response = @client.send(request)
80
+ rescue Net::HTTPRequestTimeout
81
+ raise Square::Errors::TimeoutError
82
+ end
83
+ code = response.code.to_i
84
+ if code.between?(200, 299)
85
+ Square::Types::ListPaymentsResponse.load(response.body)
86
+ else
87
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
88
+ raise error_class.new(response.body, code: code)
89
+ end
46
90
  end
47
91
  end
48
92
 
@@ -55,25 +99,35 @@ module Square
55
99
  # The endpoint creates a
56
100
  # `Payment` object and returns it in the response.
57
101
  #
102
+ # @param request_options [Hash]
103
+ # @param params [Square::Payments::Types::CreatePaymentRequest]
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
+ #
58
110
  # @return [Square::Types::CreatePaymentResponse]
59
111
  def create(request_options: {}, **params)
60
- _request = Square::Internal::JSON::Request.new(
61
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
112
+ params = Square::Internal::Types::Utils.normalize_keys(params)
113
+ request = Square::Internal::JSON::Request.new(
114
+ base_url: request_options[:base_url],
62
115
  method: "POST",
63
116
  path: "v2/payments",
64
- body: params
117
+ body: Square::Payments::Types::CreatePaymentRequest.new(params).to_h,
118
+ request_options: request_options
65
119
  )
66
120
  begin
67
- _response = @client.send(_request)
121
+ response = @client.send(request)
68
122
  rescue Net::HTTPRequestTimeout
69
123
  raise Square::Errors::TimeoutError
70
124
  end
71
- code = _response.code.to_i
125
+ code = response.code.to_i
72
126
  if code.between?(200, 299)
73
- Square::Types::CreatePaymentResponse.load(_response.body)
127
+ Square::Types::CreatePaymentResponse.load(response.body)
74
128
  else
75
129
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
76
- raise error_class.new(_response.body, code: code)
130
+ raise error_class.new(response.body, code: code)
77
131
  end
78
132
  end
79
133
 
@@ -89,99 +143,144 @@ module Square
89
143
  # Note that if no payment with the specified idempotency key is found, no action is taken and the endpoint
90
144
  # returns successfully.
91
145
  #
146
+ # @param request_options [Hash]
147
+ # @param params [Square::Payments::Types::CancelPaymentByIdempotencyKeyRequest]
148
+ # @option request_options [String] :base_url
149
+ # @option request_options [Hash{String => Object}] :additional_headers
150
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
151
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
152
+ # @option request_options [Integer] :timeout_in_seconds
153
+ #
92
154
  # @return [Square::Types::CancelPaymentByIdempotencyKeyResponse]
93
155
  def cancel_by_idempotency_key(request_options: {}, **params)
94
- _request = Square::Internal::JSON::Request.new(
95
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
156
+ params = Square::Internal::Types::Utils.normalize_keys(params)
157
+ request = Square::Internal::JSON::Request.new(
158
+ base_url: request_options[:base_url],
96
159
  method: "POST",
97
160
  path: "v2/payments/cancel",
98
- body: params
161
+ body: Square::Payments::Types::CancelPaymentByIdempotencyKeyRequest.new(params).to_h,
162
+ request_options: request_options
99
163
  )
100
164
  begin
101
- _response = @client.send(_request)
165
+ response = @client.send(request)
102
166
  rescue Net::HTTPRequestTimeout
103
167
  raise Square::Errors::TimeoutError
104
168
  end
105
- code = _response.code.to_i
169
+ code = response.code.to_i
106
170
  if code.between?(200, 299)
107
- Square::Types::CancelPaymentByIdempotencyKeyResponse.load(_response.body)
171
+ Square::Types::CancelPaymentByIdempotencyKeyResponse.load(response.body)
108
172
  else
109
173
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
110
- raise error_class.new(_response.body, code: code)
174
+ raise error_class.new(response.body, code: code)
111
175
  end
112
176
  end
113
177
 
114
178
  # Retrieves details for a specific payment.
115
179
  #
180
+ # @param request_options [Hash]
181
+ # @param params [Hash]
182
+ # @option request_options [String] :base_url
183
+ # @option request_options [Hash{String => Object}] :additional_headers
184
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
185
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
186
+ # @option request_options [Integer] :timeout_in_seconds
187
+ # @option params [String] :payment_id
188
+ #
116
189
  # @return [Square::Types::GetPaymentResponse]
117
190
  def get(request_options: {}, **params)
118
- _request = Square::Internal::JSON::Request.new(
119
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
191
+ params = Square::Internal::Types::Utils.normalize_keys(params)
192
+ request = Square::Internal::JSON::Request.new(
193
+ base_url: request_options[:base_url],
120
194
  method: "GET",
121
- path: "v2/payments/#{params[:payment_id]}"
195
+ path: "v2/payments/#{params[:payment_id]}",
196
+ request_options: request_options
122
197
  )
123
198
  begin
124
- _response = @client.send(_request)
199
+ response = @client.send(request)
125
200
  rescue Net::HTTPRequestTimeout
126
201
  raise Square::Errors::TimeoutError
127
202
  end
128
- code = _response.code.to_i
203
+ code = response.code.to_i
129
204
  if code.between?(200, 299)
130
- Square::Types::GetPaymentResponse.load(_response.body)
205
+ Square::Types::GetPaymentResponse.load(response.body)
131
206
  else
132
207
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
133
- raise error_class.new(_response.body, code: code)
208
+ raise error_class.new(response.body, code: code)
134
209
  end
135
210
  end
136
211
 
137
212
  # Updates a payment with the APPROVED status.
138
213
  # You can update the `amount_money` and `tip_money` using this endpoint.
139
214
  #
215
+ # @param request_options [Hash]
216
+ # @param params [Square::Payments::Types::UpdatePaymentRequest]
217
+ # @option request_options [String] :base_url
218
+ # @option request_options [Hash{String => Object}] :additional_headers
219
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
220
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
221
+ # @option request_options [Integer] :timeout_in_seconds
222
+ # @option params [String] :payment_id
223
+ #
140
224
  # @return [Square::Types::UpdatePaymentResponse]
141
225
  def update(request_options: {}, **params)
142
- _path_param_names = ["payment_id"]
226
+ params = Square::Internal::Types::Utils.normalize_keys(params)
227
+ request_data = Square::Payments::Types::UpdatePaymentRequest.new(params).to_h
228
+ non_body_param_names = ["payment_id"]
229
+ body = request_data.except(*non_body_param_names)
143
230
 
144
- _request = Square::Internal::JSON::Request.new(
145
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
231
+ request = Square::Internal::JSON::Request.new(
232
+ base_url: request_options[:base_url],
146
233
  method: "PUT",
147
234
  path: "v2/payments/#{params[:payment_id]}",
148
- body: params.except(*_path_param_names)
235
+ body: body,
236
+ request_options: request_options
149
237
  )
150
238
  begin
151
- _response = @client.send(_request)
239
+ response = @client.send(request)
152
240
  rescue Net::HTTPRequestTimeout
153
241
  raise Square::Errors::TimeoutError
154
242
  end
155
- code = _response.code.to_i
243
+ code = response.code.to_i
156
244
  if code.between?(200, 299)
157
- Square::Types::UpdatePaymentResponse.load(_response.body)
245
+ Square::Types::UpdatePaymentResponse.load(response.body)
158
246
  else
159
247
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
160
- raise error_class.new(_response.body, code: code)
248
+ raise error_class.new(response.body, code: code)
161
249
  end
162
250
  end
163
251
 
164
252
  # Cancels (voids) a payment. You can use this endpoint to cancel a payment with
165
253
  # the APPROVED `status`.
166
254
  #
255
+ # @param request_options [Hash]
256
+ # @param params [Hash]
257
+ # @option request_options [String] :base_url
258
+ # @option request_options [Hash{String => Object}] :additional_headers
259
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
260
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
261
+ # @option request_options [Integer] :timeout_in_seconds
262
+ # @option params [String] :payment_id
263
+ #
167
264
  # @return [Square::Types::CancelPaymentResponse]
168
265
  def cancel(request_options: {}, **params)
169
- _request = Square::Internal::JSON::Request.new(
170
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
266
+ params = Square::Internal::Types::Utils.normalize_keys(params)
267
+ request = Square::Internal::JSON::Request.new(
268
+ base_url: request_options[:base_url],
171
269
  method: "POST",
172
- path: "v2/payments/#{params[:payment_id]}/cancel"
270
+ path: "v2/payments/#{params[:payment_id]}/cancel",
271
+ request_options: request_options
173
272
  )
174
273
  begin
175
- _response = @client.send(_request)
274
+ response = @client.send(request)
176
275
  rescue Net::HTTPRequestTimeout
177
276
  raise Square::Errors::TimeoutError
178
277
  end
179
- code = _response.code.to_i
278
+ code = response.code.to_i
180
279
  if code.between?(200, 299)
181
- Square::Types::CancelPaymentResponse.load(_response.body)
280
+ Square::Types::CancelPaymentResponse.load(response.body)
182
281
  else
183
282
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
184
- raise error_class.new(_response.body, code: code)
283
+ raise error_class.new(response.body, code: code)
185
284
  end
186
285
  end
187
286
 
@@ -190,27 +289,40 @@ module Square
190
289
  #
191
290
  # You can use this endpoint to complete a payment with the APPROVED `status`.
192
291
  #
292
+ # @param request_options [Hash]
293
+ # @param params [Square::Payments::Types::CompletePaymentRequest]
294
+ # @option request_options [String] :base_url
295
+ # @option request_options [Hash{String => Object}] :additional_headers
296
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
297
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
298
+ # @option request_options [Integer] :timeout_in_seconds
299
+ # @option params [String] :payment_id
300
+ #
193
301
  # @return [Square::Types::CompletePaymentResponse]
194
302
  def complete(request_options: {}, **params)
195
- _path_param_names = ["payment_id"]
303
+ params = Square::Internal::Types::Utils.normalize_keys(params)
304
+ request_data = Square::Payments::Types::CompletePaymentRequest.new(params).to_h
305
+ non_body_param_names = ["payment_id"]
306
+ body = request_data.except(*non_body_param_names)
196
307
 
197
- _request = Square::Internal::JSON::Request.new(
198
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
308
+ request = Square::Internal::JSON::Request.new(
309
+ base_url: request_options[:base_url],
199
310
  method: "POST",
200
311
  path: "v2/payments/#{params[:payment_id]}/complete",
201
- body: params.except(*_path_param_names)
312
+ body: body,
313
+ request_options: request_options
202
314
  )
203
315
  begin
204
- _response = @client.send(_request)
316
+ response = @client.send(request)
205
317
  rescue Net::HTTPRequestTimeout
206
318
  raise Square::Errors::TimeoutError
207
319
  end
208
- code = _response.code.to_i
320
+ code = response.code.to_i
209
321
  if code.between?(200, 299)
210
- Square::Types::CompletePaymentResponse.load(_response.body)
322
+ Square::Types::CompletePaymentResponse.load(response.body)
211
323
  else
212
324
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
213
- raise error_class.new(_response.body, code: code)
325
+ raise error_class.new(response.body, code: code)
214
326
  end
215
327
  end
216
328
  end
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module Payouts
5
5
  class Client
6
- # @return [Square::Payouts::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -12,88 +14,148 @@ module Square
12
14
  # You can filter payouts by location ID, status, time range, and order them in ascending or descending order.
13
15
  # To call this endpoint, set `PAYOUTS_READ` for the OAuth scope.
14
16
  #
17
+ # @param request_options [Hash]
18
+ # @param params [Hash]
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
+ # @option params [String, nil] :location_id
25
+ # @option params [Square::Types::PayoutStatus, nil] :status
26
+ # @option params [String, nil] :begin_time
27
+ # @option params [String, nil] :end_time
28
+ # @option params [Square::Types::SortOrder, nil] :sort_order
29
+ # @option params [String, nil] :cursor
30
+ # @option params [Integer, nil] :limit
31
+ #
15
32
  # @return [Square::Types::ListPayoutsResponse]
16
33
  def list(request_options: {}, **params)
17
- _query_param_names = [
18
- %w[location_id status begin_time end_time sort_order cursor limit],
19
- %i[location_id status begin_time end_time sort_order cursor limit]
20
- ].flatten
21
- _query = params.slice(*_query_param_names)
22
- params.except(*_query_param_names)
34
+ params = Square::Internal::Types::Utils.normalize_keys(params)
35
+ query_param_names = %i[location_id status begin_time end_time sort_order cursor limit]
36
+ query_params = {}
37
+ query_params["location_id"] = params[:location_id] if params.key?(:location_id)
38
+ query_params["status"] = params[:status] if params.key?(:status)
39
+ query_params["begin_time"] = params[:begin_time] if params.key?(:begin_time)
40
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
41
+ query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order)
42
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
43
+ query_params["limit"] = params[:limit] if params.key?(:limit)
44
+ params.except(*query_param_names)
23
45
 
24
- _request = Square::Internal::JSON::Request.new(
25
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
26
- method: "GET",
27
- path: "v2/payouts",
28
- query: _query
29
- )
30
- begin
31
- _response = @client.send(_request)
32
- rescue Net::HTTPRequestTimeout
33
- raise Square::Errors::TimeoutError
34
- end
35
- code = _response.code.to_i
36
- if code.between?(200, 299)
37
- Square::Types::ListPayoutsResponse.load(_response.body)
38
- else
39
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
40
- raise error_class.new(_response.body, code: code)
46
+ Square::Internal::CursorItemIterator.new(
47
+ cursor_field: :cursor,
48
+ item_field: :payouts,
49
+ initial_cursor: query_params[:cursor]
50
+ ) do |next_cursor|
51
+ query_params[:cursor] = next_cursor
52
+ request = Square::Internal::JSON::Request.new(
53
+ base_url: request_options[:base_url],
54
+ method: "GET",
55
+ path: "v2/payouts",
56
+ query: query_params,
57
+ request_options: request_options
58
+ )
59
+ begin
60
+ response = @client.send(request)
61
+ rescue Net::HTTPRequestTimeout
62
+ raise Square::Errors::TimeoutError
63
+ end
64
+ code = response.code.to_i
65
+ if code.between?(200, 299)
66
+ Square::Types::ListPayoutsResponse.load(response.body)
67
+ else
68
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
69
+ raise error_class.new(response.body, code: code)
70
+ end
41
71
  end
42
72
  end
43
73
 
44
74
  # Retrieves details of a specific payout identified by a payout ID.
45
75
  # To call this endpoint, set `PAYOUTS_READ` for the OAuth scope.
46
76
  #
77
+ # @param request_options [Hash]
78
+ # @param params [Hash]
79
+ # @option request_options [String] :base_url
80
+ # @option request_options [Hash{String => Object}] :additional_headers
81
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
82
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
83
+ # @option request_options [Integer] :timeout_in_seconds
84
+ # @option params [String] :payout_id
85
+ #
47
86
  # @return [Square::Types::GetPayoutResponse]
48
87
  def get(request_options: {}, **params)
49
- _request = Square::Internal::JSON::Request.new(
50
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
88
+ params = Square::Internal::Types::Utils.normalize_keys(params)
89
+ request = Square::Internal::JSON::Request.new(
90
+ base_url: request_options[:base_url],
51
91
  method: "GET",
52
- path: "v2/payouts/#{params[:payout_id]}"
92
+ path: "v2/payouts/#{params[:payout_id]}",
93
+ request_options: request_options
53
94
  )
54
95
  begin
55
- _response = @client.send(_request)
96
+ response = @client.send(request)
56
97
  rescue Net::HTTPRequestTimeout
57
98
  raise Square::Errors::TimeoutError
58
99
  end
59
- code = _response.code.to_i
100
+ code = response.code.to_i
60
101
  if code.between?(200, 299)
61
- Square::Types::GetPayoutResponse.load(_response.body)
102
+ Square::Types::GetPayoutResponse.load(response.body)
62
103
  else
63
104
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
64
- raise error_class.new(_response.body, code: code)
105
+ raise error_class.new(response.body, code: code)
65
106
  end
66
107
  end
67
108
 
68
109
  # Retrieves a list of all payout entries for a specific payout.
69
110
  # To call this endpoint, set `PAYOUTS_READ` for the OAuth scope.
70
111
  #
112
+ # @param request_options [Hash]
113
+ # @param params [Hash]
114
+ # @option request_options [String] :base_url
115
+ # @option request_options [Hash{String => Object}] :additional_headers
116
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
117
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
118
+ # @option request_options [Integer] :timeout_in_seconds
119
+ # @option params [String] :payout_id
120
+ # @option params [Square::Types::SortOrder, nil] :sort_order
121
+ # @option params [String, nil] :cursor
122
+ # @option params [Integer, nil] :limit
123
+ #
71
124
  # @return [Square::Types::ListPayoutEntriesResponse]
72
125
  def list_entries(request_options: {}, **params)
73
- _query_param_names = [
74
- %w[sort_order cursor limit],
75
- %i[sort_order cursor limit]
76
- ].flatten
77
- _query = params.slice(*_query_param_names)
78
- params = params.except(*_query_param_names)
126
+ params = Square::Internal::Types::Utils.normalize_keys(params)
127
+ query_param_names = %i[sort_order cursor limit]
128
+ query_params = {}
129
+ query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order)
130
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
131
+ query_params["limit"] = params[:limit] if params.key?(:limit)
132
+ params = params.except(*query_param_names)
79
133
 
80
- _request = Square::Internal::JSON::Request.new(
81
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
82
- method: "GET",
83
- path: "v2/payouts/#{params[:payout_id]}/payout-entries",
84
- query: _query
85
- )
86
- begin
87
- _response = @client.send(_request)
88
- rescue Net::HTTPRequestTimeout
89
- raise Square::Errors::TimeoutError
90
- end
91
- code = _response.code.to_i
92
- if code.between?(200, 299)
93
- Square::Types::ListPayoutEntriesResponse.load(_response.body)
94
- else
95
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
96
- raise error_class.new(_response.body, code: code)
134
+ Square::Internal::CursorItemIterator.new(
135
+ cursor_field: :cursor,
136
+ item_field: :payout_entries,
137
+ initial_cursor: query_params[:cursor]
138
+ ) do |next_cursor|
139
+ query_params[:cursor] = next_cursor
140
+ request = Square::Internal::JSON::Request.new(
141
+ base_url: request_options[:base_url],
142
+ method: "GET",
143
+ path: "v2/payouts/#{params[:payout_id]}/payout-entries",
144
+ query: query_params,
145
+ request_options: request_options
146
+ )
147
+ begin
148
+ response = @client.send(request)
149
+ rescue Net::HTTPRequestTimeout
150
+ raise Square::Errors::TimeoutError
151
+ end
152
+ code = response.code.to_i
153
+ if code.between?(200, 299)
154
+ Square::Types::ListPayoutEntriesResponse.load(response.body)
155
+ else
156
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
157
+ raise error_class.new(response.body, code: code)
158
+ end
97
159
  end
98
160
  end
99
161
  end