payabli 2.1.5 → 2.2.15

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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +4 -3
  3. data/.fernignore +1 -0
  4. data/LICENSE.md +8 -0
  5. data/README.md +85 -0
  6. data/lib/payabli/bill/client.rb +19 -6
  7. data/lib/payabli/boarding/client.rb +15 -8
  8. data/lib/payabli/charge_backs/client.rb +11 -5
  9. data/lib/payabli/check_capture/client.rb +2 -4
  10. data/lib/payabli/client.rb +2 -2
  11. data/lib/payabli/cloud/client.rb +12 -6
  12. data/lib/payabli/customer/client.rb +10 -1
  13. data/lib/payabli/export/client.rb +29 -29
  14. data/lib/payabli/hosted_payment_pages/client.rb +7 -0
  15. data/lib/payabli/import/client.rb +3 -0
  16. data/lib/payabli/internal/http/base_request.rb +6 -0
  17. data/lib/payabli/internal/http/raw_client.rb +104 -14
  18. data/lib/payabli/internal/types/model.rb +9 -1
  19. data/lib/payabli/internal/types/union.rb +31 -3
  20. data/lib/payabli/internal/types/utils.rb +17 -2
  21. data/lib/payabli/invoice/client.rb +15 -6
  22. data/lib/payabli/invoice/types/get_invoice_record.rb +1 -1
  23. data/lib/payabli/line_item/client.rb +9 -1
  24. data/lib/payabli/money_in/client.rb +336 -24
  25. data/lib/payabli/money_in/types/get_paid_response_data.rb +1 -1
  26. data/lib/payabli/money_in/types/request_payment_authorize_v_2.rb +13 -0
  27. data/lib/payabli/money_in/types/request_payment_v_2.rb +15 -0
  28. data/lib/payabli/money_in/types/transaction_detail_response_data.rb +2 -0
  29. data/lib/payabli/money_out/client.rb +73 -5
  30. data/lib/payabli/money_out_types/types/allowed_check_payment_status.rb +14 -0
  31. data/lib/payabli/notification/client.rb +5 -0
  32. data/lib/payabli/notificationlogs/client.rb +4 -1
  33. data/lib/payabli/ocr/client.rb +2 -0
  34. data/lib/payabli/organization/client.rb +19 -8
  35. data/lib/payabli/payment_link/client.rb +21 -10
  36. data/lib/payabli/payment_method_domain/client.rb +12 -10
  37. data/lib/payabli/paypoint/client.rb +8 -1
  38. data/lib/payabli/query/client.rb +175 -33
  39. data/lib/payabli/query/types/list_transfer_details_out_request.rb +16 -0
  40. data/lib/payabli/query/types/list_transfers_out_org_request.rb +15 -0
  41. data/lib/payabli/query/types/list_transfers_out_paypoint_request.rb +15 -0
  42. data/lib/payabli/query_types/types/transfer_out_bank_account.rb +14 -0
  43. data/lib/payabli/query_types/types/transfer_out_detail_bill.rb +26 -0
  44. data/lib/payabli/query_types/types/transfer_out_detail_bill_attachment.rb +16 -0
  45. data/lib/payabli/query_types/types/transfer_out_detail_check_data.rb +13 -0
  46. data/lib/payabli/query_types/types/transfer_out_detail_event.rb +14 -0
  47. data/lib/payabli/query_types/types/transfer_out_detail_payment_data.rb +29 -0
  48. data/lib/payabli/query_types/types/transfer_out_detail_query_response.rb +13 -0
  49. data/lib/payabli/query_types/types/transfer_out_detail_record.rb +74 -0
  50. data/lib/payabli/query_types/types/transfer_out_detail_vendor.rb +56 -0
  51. data/lib/payabli/query_types/types/transfer_out_detail_vendor_billing_data.rb +26 -0
  52. data/lib/payabli/query_types/types/transfer_out_event_data.rb +16 -0
  53. data/lib/payabli/query_types/types/transfer_out_message.rb +19 -0
  54. data/lib/payabli/query_types/types/transfer_out_message_properties.rb +13 -0
  55. data/lib/payabli/query_types/types/transfer_out_query_response.rb +13 -0
  56. data/lib/payabli/query_types/types/transfer_out_record.rb +45 -0
  57. data/lib/payabli/query_types/types/transfer_out_summary.rb +14 -0
  58. data/lib/payabli/statistic/client.rb +4 -4
  59. data/lib/payabli/subscription/client.rb +12 -6
  60. data/lib/payabli/templates/client.rb +4 -1
  61. data/lib/payabli/token_storage/client.rb +8 -3
  62. data/lib/payabli/token_storage/types/get_method_response_response_data.rb +3 -0
  63. data/lib/payabli/token_storage/types/get_method_response_response_data_vendors_item.rb +55 -0
  64. data/lib/payabli/token_storage/types/request_token_storage.rb +1 -0
  65. data/lib/payabli/token_storage/types/vendor_data_request.rb +14 -0
  66. data/lib/payabli/types/application_data.rb +1 -0
  67. data/lib/payabli/types/application_data_managed.rb +1 -0
  68. data/lib/payabli/types/application_data_odp.rb +1 -0
  69. data/lib/payabli/types/application_data_pay_in.rb +1 -0
  70. data/lib/payabli/types/{avsresponsetext.rb → avs_response.rb} +2 -2
  71. data/lib/payabli/types/{cvvresponsetext.rb → avs_response_text.rb} +2 -2
  72. data/lib/payabli/types/bill_data.rb +1 -1
  73. data/lib/payabli/types/customer_vault_id.rb +23 -0
  74. data/lib/payabli/types/cvv_response.rb +23 -0
  75. data/lib/payabli/types/cvv_response_text.rb +23 -0
  76. data/lib/payabli/types/emv_auth_response_data.rb +23 -0
  77. data/lib/payabli/types/max_ticket.rb +23 -0
  78. data/lib/payabli/types/min_ticket.rb +23 -0
  79. data/lib/payabli/types/on_create.rb +23 -0
  80. data/lib/payabli/types/query_response_data.rb +2 -0
  81. data/lib/payabli/types/query_subscription_response.rb +1 -1
  82. data/lib/payabli/types/query_transaction_payor_data.rb +1 -1
  83. data/lib/payabli/types/result_code_text.rb +23 -0
  84. data/lib/payabli/types/result_codev_2.rb +23 -0
  85. data/lib/payabli/types/transaction_query_records_customer.rb +1 -1
  86. data/lib/payabli/types/transfer_bank_account.rb +1 -0
  87. data/lib/payabli/user/client.rb +21 -20
  88. data/lib/payabli/v_2_money_in_types/types/v_2_bad_request_error.rb +20 -0
  89. data/lib/payabli/v_2_money_in_types/types/v_2_bad_request_error_detail.rb +13 -0
  90. data/lib/payabli/v_2_money_in_types/types/v_2_declined_transaction_response_wrapper.rb +19 -0
  91. data/lib/payabli/v_2_money_in_types/types/v_2_internal_server_error.rb +16 -0
  92. data/lib/payabli/v_2_money_in_types/types/v_2_response_action.rb +25 -0
  93. data/lib/payabli/v_2_money_in_types/types/v_2_response_code.rb +25 -0
  94. data/lib/payabli/v_2_money_in_types/types/v_2_response_explanation.rb +25 -0
  95. data/lib/payabli/v_2_money_in_types/types/v_2_response_reason.rb +25 -0
  96. data/lib/payabli/v_2_money_in_types/types/v_2_transaction_detail_response_data.rb +27 -0
  97. data/lib/payabli/v_2_money_in_types/types/v_2_transaction_details.rb +64 -0
  98. data/lib/payabli/v_2_money_in_types/types/v_2_transaction_response_wrapper.rb +19 -0
  99. data/lib/payabli/vendor/client.rb +4 -0
  100. data/lib/payabli/version.rb +1 -1
  101. data/lib/payabli/wallet/client.rb +8 -16
  102. data/lib/payabli.rb +51 -7
  103. data/reference.md +3313 -2335
  104. data/wiremock/wiremock-mappings.json +1 -1
  105. metadata +49 -4
@@ -27,7 +27,7 @@ module Payabli
27
27
  #
28
28
  # @return [Payabli::MoneyOutTypes::Types::AuthCapturePayoutResponse]
29
29
  def authorize_out(request_options: {}, **params)
30
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
30
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
31
31
  query_param_names = %i[allow_duplicated_bills do_not_create_bills force_vendor_creation]
32
32
  query_params = {}
33
33
  query_params["allowDuplicatedBills"] = params[:allow_duplicated_bills] if params.key?(:allow_duplicated_bills)
@@ -35,10 +35,14 @@ module Payabli
35
35
  query_params["forceVendorCreation"] = params[:force_vendor_creation] if params.key?(:force_vendor_creation)
36
36
  params = params.except(*query_param_names)
37
37
 
38
+ headers = {}
39
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
40
+
38
41
  request = Payabli::Internal::JSON::Request.new(
39
42
  base_url: request_options[:base_url],
40
43
  method: "POST",
41
44
  path: "MoneyOut/authorize",
45
+ headers: headers,
42
46
  query: query_params,
43
47
  body: Payabli::MoneyOutTypes::Types::AuthorizePayoutBody.new(params).to_h,
44
48
  request_options: request_options
@@ -69,6 +73,7 @@ module Payabli
69
73
  #
70
74
  # @return [Payabli::MoneyOutTypes::Types::CaptureAllOutResponse]
71
75
  def cancel_all_out(request_options: {}, **params)
76
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
72
77
  request = Payabli::Internal::JSON::Request.new(
73
78
  base_url: request_options[:base_url],
74
79
  method: "POST",
@@ -103,6 +108,7 @@ module Payabli
103
108
  #
104
109
  # @return [Payabli::Types::PayabliApiResponse0000]
105
110
  def cancel_out_get(request_options: {}, **params)
111
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
106
112
  request = Payabli::Internal::JSON::Request.new(
107
113
  base_url: request_options[:base_url],
108
114
  method: "GET",
@@ -136,6 +142,7 @@ module Payabli
136
142
  #
137
143
  # @return [Payabli::Types::PayabliApiResponse0000]
138
144
  def cancel_out_delete(request_options: {}, **params)
145
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
139
146
  request = Payabli::Internal::JSON::Request.new(
140
147
  base_url: request_options[:base_url],
141
148
  method: "DELETE",
@@ -170,10 +177,15 @@ module Payabli
170
177
  #
171
178
  # @return [Payabli::MoneyOutTypes::Types::CaptureAllOutResponse]
172
179
  def capture_all_out(request_options: {}, **params)
180
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
181
+ headers = {}
182
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
183
+
173
184
  request = Payabli::Internal::JSON::Request.new(
174
185
  base_url: request_options[:base_url],
175
186
  method: "POST",
176
187
  path: "MoneyOut/captureAll",
188
+ headers: headers,
177
189
  body: params,
178
190
  request_options: request_options
179
191
  )
@@ -205,10 +217,15 @@ module Payabli
205
217
  #
206
218
  # @return [Payabli::MoneyOutTypes::Types::AuthCapturePayoutResponse]
207
219
  def capture_out(request_options: {}, **params)
220
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
221
+ headers = {}
222
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
223
+
208
224
  request = Payabli::Internal::JSON::Request.new(
209
225
  base_url: request_options[:base_url],
210
226
  method: "GET",
211
227
  path: "MoneyOut/capture/#{params[:reference_id]}",
228
+ headers: headers,
212
229
  request_options: request_options
213
230
  )
214
231
  begin
@@ -238,6 +255,7 @@ module Payabli
238
255
  #
239
256
  # @return [Payabli::Types::BillDetailResponse]
240
257
  def payout_details(request_options: {}, **params)
258
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
241
259
  request = Payabli::Internal::JSON::Request.new(
242
260
  base_url: request_options[:base_url],
243
261
  method: "GET",
@@ -271,6 +289,7 @@ module Payabli
271
289
  #
272
290
  # @return [Payabli::MoneyOutTypes::Types::VCardGetResponse]
273
291
  def v_card_get(request_options: {}, **params)
292
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
274
293
  request = Payabli::Internal::JSON::Request.new(
275
294
  base_url: request_options[:base_url],
276
295
  method: "GET",
@@ -303,14 +322,12 @@ module Payabli
303
322
  #
304
323
  # @return [Payabli::MoneyOutTypes::Types::OperationResult]
305
324
  def send_v_card_link(request_options: {}, **params)
306
- body_prop_names = %i[trans_id]
307
- body_bag = params.slice(*body_prop_names)
308
-
325
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
309
326
  request = Payabli::Internal::JSON::Request.new(
310
327
  base_url: request_options[:base_url],
311
328
  method: "POST",
312
329
  path: "vcard/send-card-link",
313
- body: Payabli::MoneyOut::Types::SendVCardLinkRequest.new(body_bag).to_h,
330
+ body: Payabli::MoneyOut::Types::SendVCardLinkRequest.new(params).to_h,
314
331
  request_options: request_options
315
332
  )
316
333
  begin
@@ -342,6 +359,7 @@ module Payabli
342
359
  #
343
360
  # @return [String]
344
361
  def get_check_image(request_options: {}, **params)
362
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
345
363
  request = Payabli::Internal::JSON::Request.new(
346
364
  base_url: request_options[:base_url],
347
365
  method: "GET",
@@ -359,6 +377,56 @@ module Payabli
359
377
  error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
360
378
  raise error_class.new(response.body, code: code)
361
379
  end
380
+
381
+ # Updates the status of a processed check payment transaction. This endpoint handles the status transition,
382
+ # updates related bills, creates audit events, and triggers notifications.
383
+ #
384
+ # The transaction must meet all of the following criteria:
385
+ # - **Status**: Must be in Processing or Processed status.
386
+ # - **Payment method**: Must be a check payment method.
387
+ #
388
+ # ### Allowed status values
389
+ #
390
+ # | Value | Status | Description |
391
+ # |-------|--------|-------------|
392
+ # | `0` | Cancelled/Voided | Cancels the check transaction. Reverts associated bills to their previous state
393
+ # (Approved or Active), creates "Cancelled" events, and sends a `payout_transaction_voidedcancelled` notification
394
+ # if the notification is enabled. |
395
+ # | `5` | Paid | Marks the check transaction as paid. Updates associated bills to "Paid" status, creates "Paid"
396
+ # events, and sends a `payout_transaction_paid` notification if the notification is enabled. |
397
+ #
398
+ # @param request_options [Hash]
399
+ # @param params [Hash]
400
+ # @option request_options [String] :base_url
401
+ # @option request_options [Hash{String => Object}] :additional_headers
402
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
403
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
404
+ # @option request_options [Integer] :timeout_in_seconds
405
+ # @option params [String] :trans_id
406
+ # @option params [Payabli::MoneyOutTypes::Types::AllowedCheckPaymentStatus] :check_payment_status
407
+ #
408
+ # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
409
+ def update_check_payment_status(request_options: {}, **params)
410
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
411
+ request = Payabli::Internal::JSON::Request.new(
412
+ base_url: request_options[:base_url],
413
+ method: "PATCH",
414
+ path: "MoneyOut/status/#{params[:trans_id]}/#{params[:check_payment_status]}",
415
+ request_options: request_options
416
+ )
417
+ begin
418
+ response = @client.send(request)
419
+ rescue Net::HTTPRequestTimeout
420
+ raise Payabli::Errors::TimeoutError
421
+ end
422
+ code = response.code.to_i
423
+ if code.between?(200, 299)
424
+ Payabli::Types::PayabliApiResponse00Responsedatanonobject.load(response.body)
425
+ else
426
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
427
+ raise error_class.new(response.body, code: code)
428
+ end
429
+ end
362
430
  end
363
431
  end
364
432
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module MoneyOutTypes
5
+ module Types
6
+ module AllowedCheckPaymentStatus
7
+ extend Payabli::Internal::Types::Enum
8
+
9
+ CANCELLED = "0"
10
+ PAID = "5"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -22,6 +22,7 @@ module Payabli
22
22
  #
23
23
  # @return [Payabli::Types::PayabliApiResponseNotifications]
24
24
  def add_notification(request_options: {}, **params)
25
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
25
26
  request = Payabli::Internal::JSON::Request.new(
26
27
  base_url: request_options[:base_url],
27
28
  method: "POST",
@@ -56,6 +57,7 @@ module Payabli
56
57
  #
57
58
  # @return [Payabli::Types::PayabliApiResponseNotifications]
58
59
  def delete_notification(request_options: {}, **params)
60
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
59
61
  request = Payabli::Internal::JSON::Request.new(
60
62
  base_url: request_options[:base_url],
61
63
  method: "DELETE",
@@ -89,6 +91,7 @@ module Payabli
89
91
  #
90
92
  # @return [Payabli::Types::NotificationQueryRecord]
91
93
  def get_notification(request_options: {}, **params)
94
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
92
95
  request = Payabli::Internal::JSON::Request.new(
93
96
  base_url: request_options[:base_url],
94
97
  method: "GET",
@@ -122,6 +125,7 @@ module Payabli
122
125
  #
123
126
  # @return [Payabli::Types::PayabliApiResponseNotifications]
124
127
  def update_notification(request_options: {}, **params)
128
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
125
129
  request = Payabli::Internal::JSON::Request.new(
126
130
  base_url: request_options[:base_url],
127
131
  method: "PUT",
@@ -156,6 +160,7 @@ module Payabli
156
160
  #
157
161
  # @return [Hash[String, Object]]
158
162
  def get_report_file(request_options: {}, **params)
163
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
159
164
  request = Payabli::Internal::JSON::Request.new(
160
165
  base_url: request_options[:base_url],
161
166
  method: "GET",
@@ -28,7 +28,7 @@ module Payabli
28
28
  #
29
29
  # @return [Array[Payabli::Notificationlogs::Types::NotificationLog]]
30
30
  def search_notification_logs(request_options: {}, **params)
31
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
31
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
32
32
  query_param_names = %i[page_size page]
33
33
  query_params = {}
34
34
  query_params["PageSize"] = params[:page_size] if params.key?(:page_size)
@@ -69,6 +69,7 @@ module Payabli
69
69
  #
70
70
  # @return [Payabli::Notificationlogs::Types::NotificationLogDetail]
71
71
  def get_notification_log(request_options: {}, **params)
72
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
72
73
  request = Payabli::Internal::JSON::Request.new(
73
74
  base_url: request_options[:base_url],
74
75
  method: "GET",
@@ -104,6 +105,7 @@ module Payabli
104
105
  #
105
106
  # @return [Payabli::Notificationlogs::Types::NotificationLogDetail]
106
107
  def retry_notification_log(request_options: {}, **params)
108
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
107
109
  request = Payabli::Internal::JSON::Request.new(
108
110
  base_url: request_options[:base_url],
109
111
  method: "GET",
@@ -139,6 +141,7 @@ module Payabli
139
141
  #
140
142
  # @return [untyped]
141
143
  def bulk_retry_notification_logs(request_options: {}, **params)
144
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
142
145
  request = Payabli::Internal::JSON::Request.new(
143
146
  base_url: request_options[:base_url],
144
147
  method: "POST",
@@ -26,6 +26,7 @@ module Payabli
26
26
  #
27
27
  # @return [Payabli::Ocr::Types::PayabliApiResponseOcr]
28
28
  def ocr_document_form(request_options: {}, **params)
29
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
29
30
  request = Payabli::Internal::JSON::Request.new(
30
31
  base_url: request_options[:base_url],
31
32
  method: "POST",
@@ -63,6 +64,7 @@ module Payabli
63
64
  #
64
65
  # @return [Payabli::Ocr::Types::PayabliApiResponseOcr]
65
66
  def ocr_document_json(request_options: {}, **params)
67
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
66
68
  request = Payabli::Internal::JSON::Request.new(
67
69
  base_url: request_options[:base_url],
68
70
  method: "POST",
@@ -23,14 +23,20 @@ module Payabli
23
23
  #
24
24
  # @return [Payabli::Organization::Types::AddOrganizationResponse]
25
25
  def add_organization(request_options: {}, **params)
26
- body_prop_names = %i[services billing_info contacts has_billing has_residual org_address org_city org_country org_entry_name org_id org_logo org_name org_parent_id org_state org_timezone org_type org_website org_zip reply_to_email]
27
- body_bag = params.slice(*body_prop_names)
26
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
27
+ request_data = Payabli::Organization::Types::AddOrganizationRequest.new(params).to_h
28
+ non_body_param_names = ["idempotencyKey"]
29
+ body = request_data.except(*non_body_param_names)
30
+
31
+ headers = {}
32
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
28
33
 
29
34
  request = Payabli::Internal::JSON::Request.new(
30
35
  base_url: request_options[:base_url],
31
36
  method: "POST",
32
37
  path: "Organization",
33
- body: Payabli::Organization::Types::AddOrganizationRequest.new(body_bag).to_h,
38
+ headers: headers,
39
+ body: body,
34
40
  request_options: request_options
35
41
  )
36
42
  begin
@@ -60,6 +66,7 @@ module Payabli
60
66
  #
61
67
  # @return [Payabli::Organization::Types::DeleteOrganizationResponse]
62
68
  def delete_organization(request_options: {}, **params)
69
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
63
70
  request = Payabli::Internal::JSON::Request.new(
64
71
  base_url: request_options[:base_url],
65
72
  method: "DELETE",
@@ -93,16 +100,16 @@ module Payabli
93
100
  #
94
101
  # @return [Payabli::Organization::Types::EditOrganizationResponse]
95
102
  def edit_organization(request_options: {}, **params)
96
- path_param_names = %i[org_id]
97
- body_params = params.except(*path_param_names)
98
- body_prop_names = %i[services billing_info contacts has_billing has_residual org_address org_city org_country org_entry_name organization_data_org_id org_logo org_name org_parent_id org_state org_timezone org_type org_website org_zip reply_to_email]
99
- body_bag = body_params.slice(*body_prop_names)
103
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
104
+ request_data = Payabli::Organization::Types::OrganizationData.new(params).to_h
105
+ non_body_param_names = ["orgId"]
106
+ body = request_data.except(*non_body_param_names)
100
107
 
101
108
  request = Payabli::Internal::JSON::Request.new(
102
109
  base_url: request_options[:base_url],
103
110
  method: "PUT",
104
111
  path: "Organization/#{params[:org_id]}",
105
- body: Payabli::Organization::Types::OrganizationData.new(body_bag).to_h,
112
+ body: body,
106
113
  request_options: request_options
107
114
  )
108
115
  begin
@@ -132,6 +139,7 @@ module Payabli
132
139
  #
133
140
  # @return [Payabli::Types::OrganizationQueryRecord]
134
141
  def get_basic_organization(request_options: {}, **params)
142
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
135
143
  request = Payabli::Internal::JSON::Request.new(
136
144
  base_url: request_options[:base_url],
137
145
  method: "GET",
@@ -165,6 +173,7 @@ module Payabli
165
173
  #
166
174
  # @return [Payabli::Types::OrganizationQueryRecord]
167
175
  def get_basic_organization_by_id(request_options: {}, **params)
176
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
168
177
  request = Payabli::Internal::JSON::Request.new(
169
178
  base_url: request_options[:base_url],
170
179
  method: "GET",
@@ -198,6 +207,7 @@ module Payabli
198
207
  #
199
208
  # @return [Payabli::Types::OrganizationQueryRecord]
200
209
  def get_organization(request_options: {}, **params)
210
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
201
211
  request = Payabli::Internal::JSON::Request.new(
202
212
  base_url: request_options[:base_url],
203
213
  method: "GET",
@@ -231,6 +241,7 @@ module Payabli
231
241
  #
232
242
  # @return [Payabli::Types::SettingsQueryRecord]
233
243
  def get_settings_organization(request_options: {}, **params)
244
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
234
245
  request = Payabli::Internal::JSON::Request.new(
235
246
  base_url: request_options[:base_url],
236
247
  method: "GET",
@@ -26,20 +26,24 @@ module Payabli
26
26
  #
27
27
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
28
28
  def add_pay_link_from_invoice(request_options: {}, **params)
29
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
29
30
  path_param_names = %i[id_invoice]
30
31
  body_params = params.except(*path_param_names)
31
32
 
32
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
33
33
  query_param_names = %i[amount_fixed mail_2]
34
34
  query_params = {}
35
35
  query_params["amountFixed"] = params[:amount_fixed] if params.key?(:amount_fixed)
36
36
  query_params["mail2"] = params[:mail_2] if params.key?(:mail_2)
37
37
  params = params.except(*query_param_names)
38
38
 
39
+ headers = {}
40
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
41
+
39
42
  request = Payabli::Internal::JSON::Request.new(
40
43
  base_url: request_options[:base_url],
41
44
  method: "POST",
42
45
  path: "PaymentLink/#{params[:id_invoice]}",
46
+ headers: headers,
43
47
  query: query_params,
44
48
  body: Payabli::PaymentLink::Types::PaymentPageRequestBody.new(body_params).to_h,
45
49
  request_options: request_options
@@ -74,20 +78,24 @@ module Payabli
74
78
  #
75
79
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
76
80
  def add_pay_link_from_bill(request_options: {}, **params)
81
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
77
82
  path_param_names = %i[bill_id]
78
83
  body_params = params.except(*path_param_names)
79
84
 
80
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
81
85
  query_param_names = %i[amount_fixed mail_2]
82
86
  query_params = {}
83
87
  query_params["amountFixed"] = params[:amount_fixed] if params.key?(:amount_fixed)
84
88
  query_params["mail2"] = params[:mail_2] if params.key?(:mail_2)
85
89
  params = params.except(*query_param_names)
86
90
 
91
+ headers = {}
92
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
93
+
87
94
  request = Payabli::Internal::JSON::Request.new(
88
95
  base_url: request_options[:base_url],
89
96
  method: "POST",
90
97
  path: "PaymentLink/bill/#{params[:bill_id]}",
98
+ headers: headers,
91
99
  query: query_params,
92
100
  body: Payabli::PaymentLink::Types::PaymentPageRequestBody.new(body_params).to_h,
93
101
  request_options: request_options
@@ -119,6 +127,7 @@ module Payabli
119
127
  #
120
128
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
121
129
  def delete_pay_link_from_id(request_options: {}, **params)
130
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
122
131
  request = Payabli::Internal::JSON::Request.new(
123
132
  base_url: request_options[:base_url],
124
133
  method: "DELETE",
@@ -152,6 +161,7 @@ module Payabli
152
161
  #
153
162
  # @return [Payabli::PaymentLink::Types::GetPayLinkFromIdResponse]
154
163
  def get_pay_link_from_id(request_options: {}, **params)
164
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
155
165
  request = Payabli::Internal::JSON::Request.new(
156
166
  base_url: request_options[:base_url],
157
167
  method: "GET",
@@ -185,6 +195,7 @@ module Payabli
185
195
  #
186
196
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
187
197
  def push_pay_link_from_id(request_options: {}, **params)
198
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
188
199
  request = Payabli::Internal::JSON::Request.new(
189
200
  base_url: request_options[:base_url],
190
201
  method: "POST",
@@ -220,7 +231,7 @@ module Payabli
220
231
  #
221
232
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
222
233
  def refresh_pay_link_from_id(request_options: {}, **params)
223
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
234
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
224
235
  query_param_names = %i[amount_fixed]
225
236
  query_params = {}
226
237
  query_params["amountFixed"] = params[:amount_fixed] if params.key?(:amount_fixed)
@@ -262,7 +273,7 @@ module Payabli
262
273
  #
263
274
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
264
275
  def send_pay_link_from_id(request_options: {}, **params)
265
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
276
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
266
277
  query_param_names = %i[attachfile mail_2]
267
278
  query_params = {}
268
279
  query_params["attachfile"] = params[:attachfile] if params.key?(:attachfile)
@@ -303,16 +314,16 @@ module Payabli
303
314
  #
304
315
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
305
316
  def update_pay_link_from_id(request_options: {}, **params)
306
- path_param_names = %i[pay_link_id]
307
- body_params = params.except(*path_param_names)
308
- body_prop_names = %i[contact_us logo message_before_paying notes page payment_button payment_methods review settings]
309
- body_bag = body_params.slice(*body_prop_names)
317
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
318
+ request_data = Payabli::PaymentLink::Types::PayLinkUpdateData.new(params).to_h
319
+ non_body_param_names = ["payLinkId"]
320
+ body = request_data.except(*non_body_param_names)
310
321
 
311
322
  request = Payabli::Internal::JSON::Request.new(
312
323
  base_url: request_options[:base_url],
313
324
  method: "PUT",
314
325
  path: "PaymentLink/update/#{params[:pay_link_id]}",
315
- body: Payabli::PaymentLink::Types::PayLinkUpdateData.new(body_bag).to_h,
326
+ body: body,
316
327
  request_options: request_options
317
328
  )
318
329
  begin
@@ -347,10 +358,10 @@ module Payabli
347
358
  #
348
359
  # @return [Payabli::PaymentLink::Types::PayabliApiResponsePaymentLinks]
349
360
  def add_pay_link_from_bill_lot_number(request_options: {}, **params)
361
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
350
362
  path_param_names = %i[lot_number]
351
363
  body_params = params.except(*path_param_names)
352
364
 
353
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
354
365
  query_param_names = %i[entry_point vendor_number mail_2 amount_fixed]
355
366
  query_params = {}
356
367
  query_params["entryPoint"] = params[:entry_point] if params.key?(:entry_point)
@@ -22,14 +22,12 @@ module Payabli
22
22
  #
23
23
  # @return [Payabli::Types::AddPaymentMethodDomainApiResponse]
24
24
  def add_payment_method_domain(request_options: {}, **params)
25
- body_prop_names = %i[apple_pay google_pay domain_name entity_id entity_type]
26
- body_bag = params.slice(*body_prop_names)
27
-
25
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
28
26
  request = Payabli::Internal::JSON::Request.new(
29
27
  base_url: request_options[:base_url],
30
28
  method: "POST",
31
29
  path: "PaymentMethodDomain",
32
- body: Payabli::PaymentMethodDomain::Types::AddPaymentMethodDomainRequest.new(body_bag).to_h,
30
+ body: Payabli::PaymentMethodDomain::Types::AddPaymentMethodDomainRequest.new(params).to_h,
33
31
  request_options: request_options
34
32
  )
35
33
  begin
@@ -60,6 +58,7 @@ module Payabli
60
58
  #
61
59
  # @return [Payabli::Types::PaymentMethodDomainGeneralResponse]
62
60
  def cascade_payment_method_domain(request_options: {}, **params)
61
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
63
62
  request = Payabli::Internal::JSON::Request.new(
64
63
  base_url: request_options[:base_url],
65
64
  method: "POST",
@@ -94,6 +93,7 @@ module Payabli
94
93
  #
95
94
  # @return [Payabli::PaymentMethodDomain::Types::DeletePaymentMethodDomainResponse]
96
95
  def delete_payment_method_domain(request_options: {}, **params)
96
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
97
97
  request = Payabli::Internal::JSON::Request.new(
98
98
  base_url: request_options[:base_url],
99
99
  method: "DELETE",
@@ -127,6 +127,7 @@ module Payabli
127
127
  #
128
128
  # @return [Payabli::Types::PaymentMethodDomainApiResponse]
129
129
  def get_payment_method_domain(request_options: {}, **params)
130
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
130
131
  request = Payabli::Internal::JSON::Request.new(
131
132
  base_url: request_options[:base_url],
132
133
  method: "GET",
@@ -163,7 +164,7 @@ module Payabli
163
164
  #
164
165
  # @return [Payabli::PaymentMethodDomain::Types::ListPaymentMethodDomainsResponse]
165
166
  def list_payment_method_domains(request_options: {}, **params)
166
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
167
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
167
168
  query_param_names = %i[entity_id entity_type from_record limit_record]
168
169
  query_params = {}
169
170
  query_params["entityId"] = params[:entity_id] if params.key?(:entity_id)
@@ -206,16 +207,16 @@ module Payabli
206
207
  #
207
208
  # @return [Payabli::Types::PaymentMethodDomainGeneralResponse]
208
209
  def update_payment_method_domain(request_options: {}, **params)
209
- path_param_names = %i[domain_id]
210
- body_params = params.except(*path_param_names)
211
- body_prop_names = %i[apple_pay google_pay]
212
- body_bag = body_params.slice(*body_prop_names)
210
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
211
+ request_data = Payabli::PaymentMethodDomain::Types::UpdatePaymentMethodDomainRequest.new(params).to_h
212
+ non_body_param_names = ["domainId"]
213
+ body = request_data.except(*non_body_param_names)
213
214
 
214
215
  request = Payabli::Internal::JSON::Request.new(
215
216
  base_url: request_options[:base_url],
216
217
  method: "PATCH",
217
218
  path: "PaymentMethodDomain/#{params[:domain_id]}",
218
- body: Payabli::PaymentMethodDomain::Types::UpdatePaymentMethodDomainRequest.new(body_bag).to_h,
219
+ body: body,
219
220
  request_options: request_options
220
221
  )
221
222
  begin
@@ -246,6 +247,7 @@ module Payabli
246
247
  #
247
248
  # @return [Payabli::Types::PaymentMethodDomainGeneralResponse]
248
249
  def verify_payment_method_domain(request_options: {}, **params)
250
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
249
251
  request = Payabli::Internal::JSON::Request.new(
250
252
  base_url: request_options[:base_url],
251
253
  method: "POST",
@@ -23,6 +23,7 @@ module Payabli
23
23
  #
24
24
  # @return [Payabli::Paypoint::Types::GetBasicEntryResponse]
25
25
  def get_basic_entry(request_options: {}, **params)
26
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
26
27
  request = Payabli::Internal::JSON::Request.new(
27
28
  base_url: request_options[:base_url],
28
29
  method: "GET",
@@ -56,6 +57,7 @@ module Payabli
56
57
  #
57
58
  # @return [Payabli::Paypoint::Types::GetBasicEntryByIdResponse]
58
59
  def get_basic_entry_by_id(request_options: {}, **params)
60
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
59
61
  request = Payabli::Internal::JSON::Request.new(
60
62
  base_url: request_options[:base_url],
61
63
  method: "GET",
@@ -90,7 +92,7 @@ module Payabli
90
92
  #
91
93
  # @return [Payabli::Paypoint::Types::GetEntryConfigResponse]
92
94
  def get_entry_config(request_options: {}, **params)
93
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
95
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
94
96
  query_param_names = %i[entrypages]
95
97
  query_params = {}
96
98
  query_params["entrypages"] = params[:entrypages] if params.key?(:entrypages)
@@ -131,6 +133,7 @@ module Payabli
131
133
  #
132
134
  # @return [Payabli::Types::PayabliPages]
133
135
  def get_page(request_options: {}, **params)
136
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
134
137
  request = Payabli::Internal::JSON::Request.new(
135
138
  base_url: request_options[:base_url],
136
139
  method: "GET",
@@ -165,6 +168,7 @@ module Payabli
165
168
  #
166
169
  # @return [Payabli::Types::PayabliApiResponseGeneric2Part]
167
170
  def remove_page(request_options: {}, **params)
171
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
168
172
  request = Payabli::Internal::JSON::Request.new(
169
173
  base_url: request_options[:base_url],
170
174
  method: "DELETE",
@@ -198,6 +202,7 @@ module Payabli
198
202
  #
199
203
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
200
204
  def save_logo(request_options: {}, **params)
205
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
201
206
  request = Payabli::Internal::JSON::Request.new(
202
207
  base_url: request_options[:base_url],
203
208
  method: "PUT",
@@ -232,6 +237,7 @@ module Payabli
232
237
  #
233
238
  # @return [Payabli::Types::SettingsQueryRecord]
234
239
  def settings_page(request_options: {}, **params)
240
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
235
241
  request = Payabli::Internal::JSON::Request.new(
236
242
  base_url: request_options[:base_url],
237
243
  method: "GET",
@@ -264,6 +270,7 @@ module Payabli
264
270
  #
265
271
  # @return [Payabli::Paypoint::Types::MigratePaypointResponse]
266
272
  def migrate(request_options: {}, **params)
273
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
267
274
  request = Payabli::Internal::JSON::Request.new(
268
275
  base_url: request_options[:base_url],
269
276
  method: "POST",