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
@@ -25,19 +25,23 @@ module Payabli
25
25
  #
26
26
  # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
27
27
  def add_invoice(request_options: {}, **params)
28
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
28
29
  path_param_names = %i[entry]
29
30
  body_params = params.except(*path_param_names)
30
31
 
31
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
32
32
  query_param_names = %i[force_customer_creation]
33
33
  query_params = {}
34
34
  query_params["forceCustomerCreation"] = params[:force_customer_creation] if params.key?(:force_customer_creation)
35
35
  params = params.except(*query_param_names)
36
36
 
37
+ headers = {}
38
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
39
+
37
40
  request = Payabli::Internal::JSON::Request.new(
38
41
  base_url: request_options[:base_url],
39
42
  method: "POST",
40
43
  path: "Invoice/#{params[:entry]}",
44
+ headers: headers,
41
45
  query: query_params,
42
46
  body: Payabli::Invoice::Types::InvoiceDataRequest.new(body_params).to_h,
43
47
  request_options: request_options
@@ -70,6 +74,7 @@ module Payabli
70
74
  #
71
75
  # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
72
76
  def delete_attached_from_invoice(request_options: {}, **params)
77
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
73
78
  request = Payabli::Internal::JSON::Request.new(
74
79
  base_url: request_options[:base_url],
75
80
  method: "DELETE",
@@ -103,6 +108,7 @@ module Payabli
103
108
  #
104
109
  # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
105
110
  def delete_invoice(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",
@@ -137,10 +143,10 @@ module Payabli
137
143
  #
138
144
  # @return [Payabli::Invoice::Types::InvoiceResponseWithoutData]
139
145
  def edit_invoice(request_options: {}, **params)
146
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
140
147
  path_param_names = %i[id_invoice]
141
148
  body_params = params.except(*path_param_names)
142
149
 
143
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
144
150
  query_param_names = %i[force_customer_creation]
145
151
  query_params = {}
146
152
  query_params["forceCustomerCreation"] = params[:force_customer_creation] if params.key?(:force_customer_creation)
@@ -183,7 +189,7 @@ module Payabli
183
189
  #
184
190
  # @return [Payabli::Types::FileContent]
185
191
  def get_attached_file_from_invoice(request_options: {}, **params)
186
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
192
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
187
193
  query_param_names = %i[return_object]
188
194
  query_params = {}
189
195
  query_params["returnObject"] = params[:return_object] if params.key?(:return_object)
@@ -223,6 +229,7 @@ module Payabli
223
229
  #
224
230
  # @return [Payabli::Invoice::Types::GetInvoiceRecord]
225
231
  def get_invoice(request_options: {}, **params)
232
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
226
233
  request = Payabli::Internal::JSON::Request.new(
227
234
  base_url: request_options[:base_url],
228
235
  method: "GET",
@@ -256,6 +263,7 @@ module Payabli
256
263
  #
257
264
  # @return [Payabli::Invoice::Types::InvoiceNumberResponse]
258
265
  def get_invoice_number(request_options: {}, **params)
266
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
259
267
  request = Payabli::Internal::JSON::Request.new(
260
268
  base_url: request_options[:base_url],
261
269
  method: "GET",
@@ -295,7 +303,7 @@ module Payabli
295
303
  #
296
304
  # @return [Payabli::Invoice::Types::QueryInvoiceResponse]
297
305
  def list_invoices(request_options: {}, **params)
298
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
306
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
299
307
  query_param_names = %i[export_format from_record limit_record parameters sort_by]
300
308
  query_params = {}
301
309
  query_params["exportFormat"] = params[:export_format] if params.key?(:export_format)
@@ -345,7 +353,7 @@ module Payabli
345
353
  #
346
354
  # @return [Payabli::Invoice::Types::QueryInvoiceResponse]
347
355
  def list_invoices_org(request_options: {}, **params)
348
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
356
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
349
357
  query_param_names = %i[export_format from_record limit_record parameters sort_by]
350
358
  query_params = {}
351
359
  query_params["exportFormat"] = params[:export_format] if params.key?(:export_format)
@@ -391,7 +399,7 @@ module Payabli
391
399
  #
392
400
  # @return [Payabli::Invoice::Types::SendInvoiceResponse]
393
401
  def send_invoice(request_options: {}, **params)
394
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
402
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
395
403
  query_param_names = %i[attachfile mail_2]
396
404
  query_params = {}
397
405
  query_params["attachfile"] = params[:attachfile] if params.key?(:attachfile)
@@ -432,6 +440,7 @@ module Payabli
432
440
  #
433
441
  # @return [Hash[String, Object]]
434
442
  def get_invoice_pdf(request_options: {}, **params)
443
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
435
444
  request = Payabli::Internal::JSON::Request.new(
436
445
  base_url: request_options[:base_url],
437
446
  method: "GET",
@@ -49,7 +49,7 @@ module Payabli
49
49
  field :paypoint_dbaname, -> { String }, optional: false, nullable: false, api_name: "PaypointDbaname"
50
50
  field :paypoint_entryname, -> { String }, optional: false, nullable: false, api_name: "PaypointEntryname"
51
51
  field :parent_org_name, -> { String }, optional: false, nullable: false, api_name: "ParentOrgName"
52
- field :additional_data, -> { String }, optional: true, nullable: false, api_name: "AdditionalData"
52
+ field :additional_data, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "AdditionalData"
53
53
  field :documents_ref, -> { Payabli::Types::DocumentsRef }, optional: false, nullable: false, api_name: "DocumentsRef"
54
54
  field :external_paypoint_id, -> { String }, optional: true, nullable: false, api_name: "externalPaypointID"
55
55
  end
@@ -25,13 +25,18 @@ module Payabli
25
25
  #
26
26
  # @return [Payabli::Types::PayabliApiResponse6]
27
27
  def add_item(request_options: {}, **params)
28
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
28
29
  path_param_names = %i[entry]
29
30
  body_params = params.except(*path_param_names)
30
31
 
32
+ headers = {}
33
+ headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
34
+
31
35
  request = Payabli::Internal::JSON::Request.new(
32
36
  base_url: request_options[:base_url],
33
37
  method: "POST",
34
38
  path: "LineItem/#{params[:entry]}",
39
+ headers: headers,
35
40
  body: Payabli::Types::LineItem.new(body_params).to_h,
36
41
  request_options: request_options
37
42
  )
@@ -62,6 +67,7 @@ module Payabli
62
67
  #
63
68
  # @return [Payabli::LineItem::Types::DeleteItemResponse]
64
69
  def delete_item(request_options: {}, **params)
70
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
65
71
  request = Payabli::Internal::JSON::Request.new(
66
72
  base_url: request_options[:base_url],
67
73
  method: "DELETE",
@@ -95,6 +101,7 @@ module Payabli
95
101
  #
96
102
  # @return [Payabli::Types::LineItemQueryRecord]
97
103
  def get_item(request_options: {}, **params)
104
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
98
105
  request = Payabli::Internal::JSON::Request.new(
99
106
  base_url: request_options[:base_url],
100
107
  method: "GET",
@@ -133,7 +140,7 @@ module Payabli
133
140
  #
134
141
  # @return [Payabli::Types::QueryResponseItems]
135
142
  def list_line_items(request_options: {}, **params)
136
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
143
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
137
144
  query_param_names = %i[from_record limit_record parameters sort_by]
138
145
  query_params = {}
139
146
  query_params["fromRecord"] = params[:from_record] if params.key?(:from_record)
@@ -176,6 +183,7 @@ module Payabli
176
183
  #
177
184
  # @return [Payabli::Types::PayabliApiResponse6]
178
185
  def update_item(request_options: {}, **params)
186
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
179
187
  request = Payabli::Internal::JSON::Request.new(
180
188
  base_url: request_options[:base_url],
181
189
  method: "PUT",