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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c63cd87b466b55d3321c6fcec2e99d2ccd64246958664133b47d868fec929b96
4
- data.tar.gz: 0734a054554e6eb7befe3b2d47d47c94c86ed692c2817718ac6c6447cb846aad
3
+ metadata.gz: 4e5570a4534220a2d2377264e01967db162cf12480b0bc7c1c3dc66d43291808
4
+ data.tar.gz: 14d647dfa19da2a6f973bf98416544c60016a1ab3e593ae0135a80ab1a2ed768
5
5
  SHA512:
6
- metadata.gz: 27185c0e06c9d73f14a4f346dd38e4ab4f24e0171ba4c6adc875d14f9d779758527f46a27dd01cedea7f355e595bee2569a689ddbb3d389b73e460665965757b
7
- data.tar.gz: b4576a283d9f9c3c1d475613f04fecc504119a0c2cbe6f89752ce49a1c5984b1621a97f0144dfee09769d2b1f90511c2669d1f8882a0041b4a588d6547b6a2a8
6
+ metadata.gz: 14ecdae519c81169a049294d59bcd4f2c86255e6f32b3122517b86b2b16693b0905332a8f62eabc0d8558bc5c84006655fca2314c5eeb59fb4651e64a6525e3b
7
+ data.tar.gz: b3bb126add655d34888c4ee569d528d1e29e36ccd85dd010f5b994581a2a3e39b7284d4edfc17253a26aa8d802d8287058bcd8c5fe037e94b7c5a9433ba67150
data/.fern/metadata.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
- "cliVersion": "3.22.1",
2
+ "cliVersion": "3.68.1",
3
3
  "generatorName": "fernapi/fern-ruby-sdk",
4
- "generatorVersion": "1.0.0-rc66",
4
+ "generatorVersion": "1.0.0-rc83",
5
5
  "generatorConfig": {
6
6
  "enableWireTests": true
7
- }
7
+ },
8
+ "sdkVersion": "2.2.15"
8
9
  }
data/.fernignore CHANGED
@@ -1,3 +1,4 @@
1
1
  # Specify files that shouldn't be modified by Fern
2
2
  test/unit/custom_test.rb
3
3
  .github/workflows/ci.yml
4
+ LICENSE.md
data/LICENSE.md ADDED
@@ -0,0 +1,8 @@
1
+ Copyright (c) 2025 Payabli, Inc.
2
+
3
+ All Rights Reserved.
4
+
5
+ This source code is the proprietary property of Payabli, Inc.
6
+ The source code contained herein is made available for inspection
7
+ and reference purposes only. No license is granted to use, modify,
8
+ distribute, or create derivative works from this source code.
data/README.md CHANGED
@@ -8,11 +8,15 @@ The Payabli Ruby library provides convenient access to the Payabli APIs from Rub
8
8
 
9
9
  - [Documentation](#documentation)
10
10
  - [Reference](#reference)
11
+ - [Passing Query Parameters](#passing-query-parameters)
11
12
  - [Usage](#usage)
12
13
  - [Environments](#environments)
13
14
  - [Errors](#errors)
14
15
  - [Advanced](#advanced)
16
+ - [Retries](#retries)
15
17
  - [Timeouts](#timeouts)
18
+ - [Additional Headers](#additional-headers)
19
+ - [Additional Query Parameters](#additional-query-parameters)
16
20
  - [Contributing](#contributing)
17
21
 
18
22
  ## Documentation
@@ -23,6 +27,31 @@ API reference documentation is available [here](https://docs.payabli.com).
23
27
 
24
28
  A full reference for this library is available [here](https://github.com/payabli/sdk-ruby/blob/HEAD/./reference.md).
25
29
 
30
+ ## Passing Query Parameters
31
+
32
+ ```ruby
33
+ client = Payabli::Client.new(
34
+ api_key: "API_KEY",
35
+ base_url: Payabli::Environment::SANDBOX
36
+ )
37
+
38
+ entry_point = "ENTRYPOINT"
39
+
40
+ result = client.query.list_customers(
41
+ request_options: {
42
+ additional_query_parameters: {
43
+ "email(ct)": "test@example.com",
44
+ }
45
+ },
46
+ **{
47
+ entry: entry_point,
48
+ }
49
+ )
50
+
51
+ puts result.to_h
52
+ ```
53
+
54
+
26
55
  ## Usage
27
56
 
28
57
  Instantiate and use the client with the following:
@@ -103,6 +132,28 @@ end
103
132
 
104
133
  ## Advanced
105
134
 
135
+ ### Retries
136
+
137
+ The SDK is instrumented with automatic retries. A request will be retried as long as the request is deemed
138
+ retryable and the number of retry attempts has not grown larger than the configured retry limit (default: 2).
139
+
140
+ A request is deemed retryable when any of the following HTTP status codes is returned:
141
+
142
+ - [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout)
143
+ - [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests)
144
+ - [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) (Internal Server Errors)
145
+
146
+ Use the `max_retries` option to configure this behavior.
147
+
148
+ ```ruby
149
+ require "payabli"
150
+
151
+ client = Payabli::Client.new(
152
+ base_url: "https://example.com",
153
+ max_retries: 3 # Configure max retries (default is 2)
154
+ )
155
+ ```
156
+
106
157
  ### Timeouts
107
158
 
108
159
  The SDK defaults to a 60 second timeout. Use the `timeout` option to configure this behavior.
@@ -116,6 +167,40 @@ response = client.money_in.getpaid(
116
167
  )
117
168
  ```
118
169
 
170
+ ### Additional Headers
171
+
172
+ If you would like to send additional headers as part of the request, use the `additional_headers` request option.
173
+
174
+ ```ruby
175
+ require "payabli"
176
+
177
+ response = client.money_in.getpaid(
178
+ ...,
179
+ request_options: {
180
+ additional_headers: {
181
+ "X-Custom-Header" => "custom-value"
182
+ }
183
+ }
184
+ )
185
+ ```
186
+
187
+ ### Additional Query Parameters
188
+
189
+ If you would like to send additional query parameters as part of the request, use the `additional_query_parameters` request option.
190
+
191
+ ```ruby
192
+ require "payabli"
193
+
194
+ response = client.money_in.getpaid(
195
+ ...,
196
+ request_options: {
197
+ additional_query_parameters: {
198
+ "custom_param" => "custom-value"
199
+ }
200
+ }
201
+ )
202
+ ```
203
+
119
204
  ## Contributing
120
205
 
121
206
  While we value open-source contributions to this SDK, this library is generated programmatically.
@@ -24,13 +24,18 @@ module Payabli
24
24
  #
25
25
  # @return [Payabli::Bill::Types::BillResponse]
26
26
  def add_bill(request_options: {}, **params)
27
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
27
28
  path_param_names = %i[entry]
28
29
  body_params = params.except(*path_param_names)
29
30
 
31
+ headers = {}
32
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
33
+
30
34
  request = Payabli::Internal::JSON::Request.new(
31
35
  base_url: request_options[:base_url],
32
36
  method: "POST",
33
37
  path: "Bill/single/#{params[:entry]}",
38
+ headers: headers,
34
39
  body: Payabli::Bill::Types::BillOutData.new(body_params).to_h,
35
40
  request_options: request_options
36
41
  )
@@ -63,7 +68,7 @@ module Payabli
63
68
  #
64
69
  # @return [Payabli::Bill::Types::BillResponse]
65
70
  def delete_attached_from_bill(request_options: {}, **params)
66
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
71
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
67
72
  query_param_names = %i[return_object]
68
73
  query_params = {}
69
74
  query_params["returnObject"] = params[:return_object] if params.key?(:return_object)
@@ -103,6 +108,7 @@ module Payabli
103
108
  #
104
109
  # @return [Payabli::Bill::Types::BillResponse]
105
110
  def delete_bill(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: "DELETE",
@@ -136,6 +142,7 @@ module Payabli
136
142
  #
137
143
  # @return [Payabli::Bill::Types::EditBillResponse]
138
144
  def edit_bill(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: "PUT",
@@ -172,7 +179,7 @@ module Payabli
172
179
  #
173
180
  # @return [Payabli::Types::FileContent]
174
181
  def get_attached_from_bill(request_options: {}, **params)
175
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
182
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
176
183
  query_param_names = %i[return_object]
177
184
  query_params = {}
178
185
  query_params["returnObject"] = params[:return_object] if params.key?(:return_object)
@@ -212,6 +219,7 @@ module Payabli
212
219
  #
213
220
  # @return [Payabli::Bill::Types::GetBillResponse]
214
221
  def get_bill(request_options: {}, **params)
222
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
215
223
  request = Payabli::Internal::JSON::Request.new(
216
224
  base_url: request_options[:base_url],
217
225
  method: "GET",
@@ -251,7 +259,7 @@ module Payabli
251
259
  #
252
260
  # @return [Payabli::Types::BillQueryResponse]
253
261
  def list_bills(request_options: {}, **params)
254
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
262
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
255
263
  query_param_names = %i[export_format from_record limit_record parameters sort_by]
256
264
  query_params = {}
257
265
  query_params["exportFormat"] = params[:export_format] if params.key?(:export_format)
@@ -301,7 +309,7 @@ module Payabli
301
309
  #
302
310
  # @return [Payabli::Types::BillQueryResponse]
303
311
  def list_bills_org(request_options: {}, **params)
304
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
312
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
305
313
  query_param_names = %i[export_format from_record limit_record parameters sort_by]
306
314
  query_params = {}
307
315
  query_params["exportFormat"] = params[:export_format] if params.key?(:export_format)
@@ -345,6 +353,7 @@ module Payabli
345
353
  #
346
354
  # @return [Payabli::Bill::Types::ModifyApprovalBillResponse]
347
355
  def modify_approval_bill(request_options: {}, **params)
356
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
348
357
  request = Payabli::Internal::JSON::Request.new(
349
358
  base_url: request_options[:base_url],
350
359
  method: "PUT",
@@ -381,19 +390,23 @@ module Payabli
381
390
  #
382
391
  # @return [Payabli::Bill::Types::BillResponse]
383
392
  def send_to_approval_bill(request_options: {}, **params)
393
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
384
394
  path_param_names = %i[id_bill]
385
395
  body_params = params.except(*path_param_names)
386
396
 
387
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
388
397
  query_param_names = %i[autocreate_user]
389
398
  query_params = {}
390
399
  query_params["autocreateUser"] = params[:autocreate_user] if params.key?(:autocreate_user)
391
400
  params = params.except(*query_param_names)
392
401
 
402
+ headers = {}
403
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
404
+
393
405
  request = Payabli::Internal::JSON::Request.new(
394
406
  base_url: request_options[:base_url],
395
407
  method: "POST",
396
408
  path: "Bill/approval/#{params[:id_bill]}",
409
+ headers: headers,
397
410
  query: query_params,
398
411
  body: body_params,
399
412
  request_options: request_options
@@ -427,7 +440,7 @@ module Payabli
427
440
  #
428
441
  # @return [Payabli::Bill::Types::SetApprovedBillResponse]
429
442
  def set_approved_bill(request_options: {}, **params)
430
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
443
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
431
444
  query_param_names = %i[email]
432
445
  query_params = {}
433
446
  query_params["email"] = params[:email] if params.key?(:email)
@@ -22,6 +22,7 @@ module Payabli
22
22
  #
23
23
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
24
24
  def add_application(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::PayabliApiResponse00Responsedatanonobject]
58
59
  def delete_application(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::ApplicationDetailsRecord]
91
93
  def get_application(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,16 +125,16 @@ module Payabli
122
125
  #
123
126
  # @return [Payabli::Types::ApplicationQueryRecord]
124
127
  def get_application_by_auth(request_options: {}, **params)
125
- path_param_names = %i[x_id]
126
- body_params = params.except(*path_param_names)
127
- body_prop_names = %i[email reference_id]
128
- body_bag = body_params.slice(*body_prop_names)
128
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
129
+ request_data = Payabli::Boarding::Types::RequestAppByAuth.new(params).to_h
130
+ non_body_param_names = ["xId"]
131
+ body = request_data.except(*non_body_param_names)
129
132
 
130
133
  request = Payabli::Internal::JSON::Request.new(
131
134
  base_url: request_options[:base_url],
132
135
  method: "POST",
133
136
  path: "Boarding/read/#{params[:x_id]}",
134
- body: Payabli::Boarding::Types::RequestAppByAuth.new(body_bag).to_h,
137
+ body: body,
135
138
  request_options: request_options
136
139
  )
137
140
  begin
@@ -161,6 +164,7 @@ module Payabli
161
164
  #
162
165
  # @return [Payabli::Types::BoardingLinkQueryRecord]
163
166
  def get_by_id_link_application(request_options: {}, **params)
167
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
164
168
  request = Payabli::Internal::JSON::Request.new(
165
169
  base_url: request_options[:base_url],
166
170
  method: "GET",
@@ -194,6 +198,7 @@ module Payabli
194
198
  #
195
199
  # @return [Payabli::Types::BoardingLinkQueryRecord]
196
200
  def get_by_template_id_link_application(request_options: {}, **params)
201
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
197
202
  request = Payabli::Internal::JSON::Request.new(
198
203
  base_url: request_options[:base_url],
199
204
  method: "GET",
@@ -231,7 +236,7 @@ module Payabli
231
236
  #
232
237
  # @return [Payabli::Types::PayabliApiResponse00]
233
238
  def get_external_application(request_options: {}, **params)
234
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
239
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
235
240
  query_param_names = %i[send_email]
236
241
  query_params = {}
237
242
  query_params["sendEmail"] = params[:send_email] if params.key?(:send_email)
@@ -271,6 +276,7 @@ module Payabli
271
276
  #
272
277
  # @return [Payabli::Types::BoardingLinkQueryRecord]
273
278
  def get_link_application(request_options: {}, **params)
279
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
274
280
  request = Payabli::Internal::JSON::Request.new(
275
281
  base_url: request_options[:base_url],
276
282
  method: "GET",
@@ -310,7 +316,7 @@ module Payabli
310
316
  #
311
317
  # @return [Payabli::Types::QueryBoardingAppsListResponse]
312
318
  def list_applications(request_options: {}, **params)
313
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
319
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
314
320
  query_param_names = %i[export_format from_record limit_record parameters sort_by]
315
321
  query_params = {}
316
322
  query_params["exportFormat"] = params[:export_format] if params.key?(:export_format)
@@ -358,7 +364,7 @@ module Payabli
358
364
  #
359
365
  # @return [Payabli::Types::QueryBoardingLinksResponse]
360
366
  def list_boarding_links(request_options: {}, **params)
361
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
367
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
362
368
  query_param_names = %i[from_record limit_record parameters sort_by]
363
369
  query_params = {}
364
370
  query_params["fromRecord"] = params[:from_record] if params.key?(:from_record)
@@ -401,6 +407,7 @@ module Payabli
401
407
  #
402
408
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
403
409
  def update_application(request_options: {}, **params)
410
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
404
411
  request = Payabli::Internal::JSON::Request.new(
405
412
  base_url: request_options[:base_url],
406
413
  method: "PUT",
@@ -24,16 +24,20 @@ module Payabli
24
24
  #
25
25
  # @return [Payabli::ChargeBacks::Types::AddResponseResponse]
26
26
  def add_response(request_options: {}, **params)
27
- path_param_names = %i[id]
28
- body_params = params.except(*path_param_names)
29
- body_prop_names = %i[attachments contact_email contact_name notes]
30
- body_bag = body_params.slice(*body_prop_names)
27
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
28
+ request_data = Payabli::ChargeBacks::Types::ResponseChargeBack.new(params).to_h
29
+ non_body_param_names = %w[Id idempotencyKey]
30
+ body = request_data.except(*non_body_param_names)
31
+
32
+ headers = {}
33
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
31
34
 
32
35
  request = Payabli::Internal::JSON::Request.new(
33
36
  base_url: request_options[:base_url],
34
37
  method: "POST",
35
38
  path: "ChargeBacks/response/#{params[:id]}",
36
- body: Payabli::ChargeBacks::Types::ResponseChargeBack.new(body_bag).to_h,
39
+ headers: headers,
40
+ body: body,
37
41
  request_options: request_options
38
42
  )
39
43
  begin
@@ -63,6 +67,7 @@ module Payabli
63
67
  #
64
68
  # @return [Payabli::ChargeBacks::Types::ChargebackQueryRecords]
65
69
  def get_chargeback(request_options: {}, **params)
70
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
66
71
  request = Payabli::Internal::JSON::Request.new(
67
72
  base_url: request_options[:base_url],
68
73
  method: "GET",
@@ -97,6 +102,7 @@ module Payabli
97
102
  #
98
103
  # @return [String]
99
104
  def get_chargeback_attachment(request_options: {}, **params)
105
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
100
106
  request = Payabli::Internal::JSON::Request.new(
101
107
  base_url: request_options[:base_url],
102
108
  method: "GET",
@@ -24,14 +24,12 @@ module Payabli
24
24
  #
25
25
  # @return [Payabli::CheckCapture::Types::CheckCaptureResponse]
26
26
  def check_processing(request_options: {}, **params)
27
- body_prop_names = %i[entry_point front_image rear_image check_amount]
28
- body_bag = params.slice(*body_prop_names)
29
-
27
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
30
28
  request = Payabli::Internal::JSON::Request.new(
31
29
  base_url: request_options[:base_url],
32
30
  method: "POST",
33
31
  path: "CheckCapture/CheckProcessing",
34
- body: Payabli::CheckCapture::Types::CheckCaptureRequestBody.new(body_bag).to_h,
32
+ body: Payabli::CheckCapture::Types::CheckCaptureRequestBody.new(params).to_h,
35
33
  request_options: request_options
36
34
  )
37
35
  begin
@@ -6,11 +6,11 @@ module Payabli
6
6
  # @param api_key [String]
7
7
  #
8
8
  # @return [void]
9
- def initialize(base_url:, api_key:)
9
+ def initialize(api_key:, base_url: nil)
10
10
  @raw_client = Payabli::Internal::Http::RawClient.new(
11
11
  base_url: base_url || Payabli::Environment::SANDBOX,
12
12
  headers: {
13
- "User-Agent" => "payabli-sdk/2.1.5",
13
+ "User-Agent" => "payabli/2.2.15",
14
14
  "X-Fern-Language" => "Ruby",
15
15
  requestToken: api_key.to_s
16
16
  }
@@ -25,16 +25,20 @@ module Payabli
25
25
  #
26
26
  # @return [Payabli::Cloud::Types::AddDeviceResponse]
27
27
  def add_device(request_options: {}, **params)
28
- path_param_names = %i[entry]
29
- body_params = params.except(*path_param_names)
30
- body_prop_names = %i[description registration_code]
31
- body_bag = body_params.slice(*body_prop_names)
28
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
29
+ request_data = Payabli::Cloud::Types::DeviceEntry.new(params).to_h
30
+ non_body_param_names = %w[entry idempotencyKey]
31
+ body = request_data.except(*non_body_param_names)
32
+
33
+ headers = {}
34
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
32
35
 
33
36
  request = Payabli::Internal::JSON::Request.new(
34
37
  base_url: request_options[:base_url],
35
38
  method: "POST",
36
39
  path: "Cloud/register/#{params[:entry]}",
37
- body: Payabli::Cloud::Types::DeviceEntry.new(body_bag).to_h,
40
+ headers: headers,
41
+ body: body,
38
42
  request_options: request_options
39
43
  )
40
44
  begin
@@ -65,6 +69,7 @@ module Payabli
65
69
  #
66
70
  # @return [Payabli::Types::CloudQueryApiResponse]
67
71
  def history_device(request_options: {}, **params)
72
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
68
73
  request = Payabli::Internal::JSON::Request.new(
69
74
  base_url: request_options[:base_url],
70
75
  method: "GET",
@@ -99,7 +104,7 @@ module Payabli
99
104
  #
100
105
  # @return [Payabli::Types::CloudQueryApiResponse]
101
106
  def list_device(request_options: {}, **params)
102
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
107
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
103
108
  query_param_names = %i[force_refresh]
104
109
  query_params = {}
105
110
  query_params["forceRefresh"] = params[:force_refresh] if params.key?(:force_refresh)
@@ -140,6 +145,7 @@ module Payabli
140
145
  #
141
146
  # @return [Payabli::Cloud::Types::RemoveDeviceResponse]
142
147
  def remove_device(request_options: {}, **params)
148
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
143
149
  request = Payabli::Internal::JSON::Request.new(
144
150
  base_url: request_options[:base_url],
145
151
  method: "DELETE",
@@ -28,20 +28,24 @@ module Payabli
28
28
  #
29
29
  # @return [Payabli::Types::PayabliApiResponseCustomerQuery]
30
30
  def add_customer(request_options: {}, **params)
31
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
31
32
  path_param_names = %i[entry]
32
33
  body_params = params.except(*path_param_names)
33
34
 
34
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
35
35
  query_param_names = %i[force_customer_creation replace_existing]
36
36
  query_params = {}
37
37
  query_params["forceCustomerCreation"] = params[:force_customer_creation] if params.key?(:force_customer_creation)
38
38
  query_params["replaceExisting"] = params[:replace_existing] if params.key?(:replace_existing)
39
39
  params = params.except(*query_param_names)
40
40
 
41
+ headers = {}
42
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
43
+
41
44
  request = Payabli::Internal::JSON::Request.new(
42
45
  base_url: request_options[:base_url],
43
46
  method: "POST",
44
47
  path: "Customer/single/#{params[:entry]}",
48
+ headers: headers,
45
49
  query: query_params,
46
50
  body: Payabli::Types::CustomerData.new(body_params).to_h,
47
51
  request_options: request_options
@@ -73,6 +77,7 @@ module Payabli
73
77
  #
74
78
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
75
79
  def delete_customer(request_options: {}, **params)
80
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
76
81
  request = Payabli::Internal::JSON::Request.new(
77
82
  base_url: request_options[:base_url],
78
83
  method: "DELETE",
@@ -106,6 +111,7 @@ module Payabli
106
111
  #
107
112
  # @return [Payabli::Types::CustomerQueryRecords]
108
113
  def get_customer(request_options: {}, **params)
114
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
109
115
  request = Payabli::Internal::JSON::Request.new(
110
116
  base_url: request_options[:base_url],
111
117
  method: "GET",
@@ -140,6 +146,7 @@ module Payabli
140
146
  #
141
147
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
142
148
  def link_customer_transaction(request_options: {}, **params)
149
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
143
150
  request = Payabli::Internal::JSON::Request.new(
144
151
  base_url: request_options[:base_url],
145
152
  method: "GET",
@@ -173,6 +180,7 @@ module Payabli
173
180
  #
174
181
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
175
182
  def request_consent(request_options: {}, **params)
183
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
176
184
  request = Payabli::Internal::JSON::Request.new(
177
185
  base_url: request_options[:base_url],
178
186
  method: "POST",
@@ -206,6 +214,7 @@ module Payabli
206
214
  #
207
215
  # @return [Payabli::Types::PayabliApiResponse00Responsedatanonobject]
208
216
  def update_customer(request_options: {}, **params)
217
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
209
218
  request = Payabli::Internal::JSON::Request.new(
210
219
  base_url: request_options[:base_url],
211
220
  method: "PUT",