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
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Payabli
4
4
  module Types
5
- module Cvvresponsetext
6
- # Cvvresponsetext is an alias for String
5
+ module AvsResponseText
6
+ # AvsResponseText is an alias for String
7
7
 
8
8
  # @option str [String]
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module Payabli
4
4
  module Types
5
5
  class BillData < Internal::Types::Model
6
- field :additional_data, -> { String }, optional: true, nullable: false, api_name: "AdditionalData"
6
+ field :additional_data, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "AdditionalData"
7
7
  field :attachments, -> { Internal::Types::Array[Payabli::Types::FileContent] }, optional: true, nullable: false
8
8
  field :company, -> { String }, optional: true, nullable: false
9
9
  field :discount, -> { Integer }, optional: true, nullable: false
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CustomerVaultId
6
+ # CustomerVaultId is an alias for String
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CvvResponse
6
+ # CvvResponse is an alias for String
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CvvResponseText
6
+ # CvvResponseText is an alias for String
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module EmvAuthResponseData
6
+ # EmvAuthResponseData is an alias for String
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module MaxTicket
6
+ # MaxTicket is an alias for Float
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module MinTicket
6
+ # MinTicket is an alias for Float
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module OnCreate
6
+ # OnCreate is an alias for String
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -15,6 +15,8 @@ module Payabli
15
15
  field :response_code, -> { String }, optional: true, nullable: false
16
16
  field :response_code_text, -> { String }, optional: true, nullable: false
17
17
  field :responsetext, -> { String }, optional: true, nullable: false
18
+ field :result_code, -> { String }, optional: true, nullable: false, api_name: "resultCode"
19
+ field :result_code_text, -> { String }, optional: true, nullable: false, api_name: "resultCodeText"
18
20
  field :transactionid, -> { String }, optional: true, nullable: false
19
21
  field :type, -> { String }, optional: true, nullable: false
20
22
  end
@@ -4,7 +4,7 @@ module Payabli
4
4
  module Types
5
5
  # Subscription query response body.
6
6
  class QuerySubscriptionResponse < Internal::Types::Model
7
- field :records, -> { Payabli::Types::SubscriptionQueryRecords }, optional: true, nullable: false, api_name: "Records"
7
+ field :records, -> { Internal::Types::Array[Payabli::Types::SubscriptionQueryRecords] }, optional: true, nullable: false, api_name: "Records"
8
8
  field :summary, -> { Payabli::Types::QuerySummary }, optional: true, nullable: false, api_name: "Summary"
9
9
  end
10
10
  end
@@ -24,7 +24,7 @@ module Payabli
24
24
  field :shipping_country, -> { String }, optional: true, nullable: false, api_name: "ShippingCountry"
25
25
  field :customer_id, -> { Integer }, optional: true, nullable: false, api_name: "customerId"
26
26
  field :customer_status, -> { Integer }, optional: true, nullable: false, api_name: "customerStatus"
27
- field :additional_data, -> { String }, optional: true, nullable: false, api_name: "AdditionalData"
27
+ field :additional_data, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "AdditionalData"
28
28
  end
29
29
  end
30
30
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module ResultCodeText
6
+ # ResultCodeText is an alias for String
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module ResultCodev2
6
+ # ResultCodev2 is an alias for String
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -15,7 +15,7 @@ module Payabli
15
15
  field :external_processor_information, -> { String }, optional: true, nullable: false, api_name: "ExternalProcessorInformation"
16
16
  field :fee_amount, -> { Integer }, optional: true, nullable: false, api_name: "FeeAmount"
17
17
  field :gateway_trans_id, -> { String }, optional: true, nullable: false, api_name: "GatewayTransId"
18
- field :invoice_data, -> { Payabli::Types::BillData }, optional: true, nullable: false, api_name: "InvoiceData"
18
+ field :invoice_data, -> { Payabli::Types::BillData }, optional: true, nullable: false, api_name: "invoiceData"
19
19
  field :method_, -> { String }, optional: true, nullable: false, api_name: "Method"
20
20
  field :net_amount, -> { Integer }, optional: true, nullable: false, api_name: "NetAmount"
21
21
  field :operation, -> { String }, optional: true, nullable: false, api_name: "Operation"
@@ -5,6 +5,7 @@ module Payabli
5
5
  class TransferBankAccount < Internal::Types::Model
6
6
  field :account_number, -> { String }, optional: false, nullable: false, api_name: "accountNumber"
7
7
  field :routing_number, -> { String }, optional: false, nullable: false, api_name: "routingNumber"
8
+ field :bank_name, -> { String }, optional: false, nullable: false, api_name: "bankName"
8
9
  end
9
10
  end
10
11
  end
@@ -22,6 +22,7 @@ module Payabli
22
22
  #
23
23
  # @return [Payabli::User::Types::AddUserResponse]
24
24
  def add_user(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",
@@ -54,7 +55,8 @@ module Payabli
54
55
  # @option request_options [Integer] :timeout_in_seconds
55
56
  #
56
57
  # @return [Payabli::Types::PayabliApiResponseUserMfa]
57
- def auth_refresh_user(request_options: {}, **_params)
58
+ def auth_refresh_user(request_options: {}, **params)
59
+ Payabli::Internal::Types::Utils.normalize_keys(params)
58
60
  request = Payabli::Internal::JSON::Request.new(
59
61
  base_url: request_options[:base_url],
60
62
  method: "POST",
@@ -87,14 +89,12 @@ module Payabli
87
89
  #
88
90
  # @return [Payabli::User::Types::AuthResetUserResponse]
89
91
  def auth_reset_user(request_options: {}, **params)
90
- body_prop_names = %i[email entry entry_type]
91
- body_bag = params.slice(*body_prop_names)
92
-
92
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
93
93
  request = Payabli::Internal::JSON::Request.new(
94
94
  base_url: request_options[:base_url],
95
95
  method: "POST",
96
96
  path: "User/authreset",
97
- body: Payabli::User::Types::UserAuthResetRequest.new(body_bag).to_h,
97
+ body: Payabli::User::Types::UserAuthResetRequest.new(params).to_h,
98
98
  request_options: request_options
99
99
  )
100
100
  begin
@@ -124,16 +124,16 @@ module Payabli
124
124
  #
125
125
  # @return [Payabli::Types::PayabliApiResponseMfaBasic]
126
126
  def auth_user(request_options: {}, **params)
127
- path_param_names = %i[provider]
128
- body_params = params.except(*path_param_names)
129
- body_prop_names = %i[email entry entry_type psw user_id user_token_id]
130
- body_bag = body_params.slice(*body_prop_names)
127
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
128
+ request_data = Payabli::User::Types::UserAuthRequest.new(params).to_h
129
+ non_body_param_names = ["provider"]
130
+ body = request_data.except(*non_body_param_names)
131
131
 
132
132
  request = Payabli::Internal::JSON::Request.new(
133
133
  base_url: request_options[:base_url],
134
134
  method: "POST",
135
135
  path: "User/auth/#{params[:provider]}",
136
- body: Payabli::User::Types::UserAuthRequest.new(body_bag).to_h,
136
+ body: body,
137
137
  request_options: request_options
138
138
  )
139
139
  begin
@@ -162,14 +162,12 @@ module Payabli
162
162
  #
163
163
  # @return [Payabli::User::Types::ChangePswUserResponse]
164
164
  def change_psw_user(request_options: {}, **params)
165
- body_prop_names = %i[psw]
166
- body_bag = params.slice(*body_prop_names)
167
-
165
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
168
166
  request = Payabli::Internal::JSON::Request.new(
169
167
  base_url: request_options[:base_url],
170
168
  method: "PUT",
171
169
  path: "User/authpsw",
172
- body: Payabli::User::Types::UserAuthPswResetRequest.new(body_bag).to_h,
170
+ body: Payabli::User::Types::UserAuthPswResetRequest.new(params).to_h,
173
171
  request_options: request_options
174
172
  )
175
173
  begin
@@ -199,6 +197,7 @@ module Payabli
199
197
  #
200
198
  # @return [Payabli::User::Types::DeleteUserResponse]
201
199
  def delete_user(request_options: {}, **params)
200
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
202
201
  request = Payabli::Internal::JSON::Request.new(
203
202
  base_url: request_options[:base_url],
204
203
  method: "DELETE",
@@ -232,6 +231,7 @@ module Payabli
232
231
  #
233
232
  # @return [Payabli::User::Types::EditMfaUserResponse]
234
233
  def edit_mfa_user(request_options: {}, **params)
234
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
235
235
  request = Payabli::Internal::JSON::Request.new(
236
236
  base_url: request_options[:base_url],
237
237
  method: "PUT",
@@ -266,6 +266,7 @@ module Payabli
266
266
  #
267
267
  # @return [Payabli::Types::PayabliApiResponse]
268
268
  def edit_user(request_options: {}, **params)
269
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
269
270
  request = Payabli::Internal::JSON::Request.new(
270
271
  base_url: request_options[:base_url],
271
272
  method: "PUT",
@@ -302,7 +303,7 @@ module Payabli
302
303
  #
303
304
  # @return [Payabli::Types::UserQueryRecord]
304
305
  def get_user(request_options: {}, **params)
305
- params = Payabli::Internal::Types::Utils.symbolize_keys(params)
306
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
306
307
  query_param_names = %i[entry level]
307
308
  query_params = {}
308
309
  query_params["entry"] = params[:entry] if params.key?(:entry)
@@ -341,7 +342,8 @@ module Payabli
341
342
  # @option request_options [Integer] :timeout_in_seconds
342
343
  #
343
344
  # @return [Payabli::User::Types::LogoutUserResponse]
344
- def logout_user(request_options: {}, **_params)
345
+ def logout_user(request_options: {}, **params)
346
+ Payabli::Internal::Types::Utils.normalize_keys(params)
345
347
  request = Payabli::Internal::JSON::Request.new(
346
348
  base_url: request_options[:base_url],
347
349
  method: "GET",
@@ -377,6 +379,7 @@ module Payabli
377
379
  #
378
380
  # @return [Payabli::Types::PayabliApiResponseMfaBasic]
379
381
  def resend_mfa_code(request_options: {}, **params)
382
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
380
383
  request = Payabli::Internal::JSON::Request.new(
381
384
  base_url: request_options[:base_url],
382
385
  method: "POST",
@@ -409,14 +412,12 @@ module Payabli
409
412
  #
410
413
  # @return [Payabli::Types::PayabliApiResponseUserMfa]
411
414
  def validate_mfa_user(request_options: {}, **params)
412
- body_prop_names = %i[mfa_code mfa_validation_code]
413
- body_bag = params.slice(*body_prop_names)
414
-
415
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
415
416
  request = Payabli::Internal::JSON::Request.new(
416
417
  base_url: request_options[:base_url],
417
418
  method: "POST",
418
419
  path: "User/mfa",
419
- body: Payabli::User::Types::MfaValidationData.new(body_bag).to_h,
420
+ body: Payabli::User::Types::MfaValidationData.new(params).to_h,
420
421
  request_options: request_options
421
422
  )
422
423
  begin
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ # Bad request error response (HTTP 400) returned when request validation fails. Follows RFC 7807 Problem Details
7
+ # format with additional Payabli-specific fields.
8
+ class V2BadRequestError < Internal::Types::Model
9
+ field :type, -> { String }, optional: false, nullable: false
10
+ field :title, -> { String }, optional: false, nullable: false
11
+ field :status, -> { Integer }, optional: false, nullable: false
12
+ field :detail, -> { String }, optional: false, nullable: false
13
+ field :instance, -> { String }, optional: false, nullable: false
14
+ field :code, -> { String }, optional: false, nullable: false
15
+ field :errors, -> { Internal::Types::Hash[String, Internal::Types::Array[Payabli::V2MoneyInTypes::Types::V2BadRequestErrorDetail]] }, optional: false, nullable: false
16
+ field :token, -> { String }, optional: false, nullable: true
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ # Individual field error detail for bad request responses.
7
+ class V2BadRequestErrorDetail < Internal::Types::Model
8
+ field :message, -> { String }, optional: false, nullable: false
9
+ field :suggestion, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ # Response wrapper for declined v2 Money In transaction endpoints (HTTP 402). Returned when a transaction is
7
+ # declined by the card network or issuer. All decline responses use this format with unified response codes
8
+ # starting with 'D'. The `data` field contains transaction details.
9
+ class V2DeclinedTransactionResponseWrapper < Internal::Types::Model
10
+ field :code, -> { String }, optional: false, nullable: false
11
+ field :reason, -> { String }, optional: false, nullable: false
12
+ field :explanation, -> { String }, optional: false, nullable: false
13
+ field :action, -> { String }, optional: false, nullable: false
14
+ field :data, -> { Payabli::V2MoneyInTypes::Types::V2TransactionDetails }, optional: false, nullable: false
15
+ field :token, -> { String }, optional: false, nullable: true
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ # Internal server error response (HTTP 500) returned when an unexpected error occurs. Follows RFC 7807 Problem
7
+ # Details format.
8
+ class V2InternalServerError < Internal::Types::Model
9
+ field :title, -> { String }, optional: false, nullable: false
10
+ field :status, -> { Integer }, optional: false, nullable: false
11
+ field :detail, -> { String }, optional: false, nullable: false
12
+ field :instance, -> { String }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ module V2ResponseAction
7
+ # V2ResponseAction is an alias for String
8
+
9
+ # @option str [String]
10
+ #
11
+ # @return [untyped]
12
+ def self.load(str)
13
+ ::JSON.parse(str)
14
+ end
15
+
16
+ # @option value [untyped]
17
+ #
18
+ # @return [String]
19
+ def self.dump(value)
20
+ ::JSON.generate(value)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ module V2ResponseCode
7
+ # V2ResponseCode is an alias for String
8
+
9
+ # @option str [String]
10
+ #
11
+ # @return [untyped]
12
+ def self.load(str)
13
+ ::JSON.parse(str)
14
+ end
15
+
16
+ # @option value [untyped]
17
+ #
18
+ # @return [String]
19
+ def self.dump(value)
20
+ ::JSON.generate(value)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ module V2ResponseExplanation
7
+ # V2ResponseExplanation is an alias for String
8
+
9
+ # @option str [String]
10
+ #
11
+ # @return [untyped]
12
+ def self.load(str)
13
+ ::JSON.parse(str)
14
+ end
15
+
16
+ # @option value [untyped]
17
+ #
18
+ # @return [String]
19
+ def self.dump(value)
20
+ ::JSON.generate(value)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ module V2ResponseReason
7
+ # V2ResponseReason is an alias for String
8
+
9
+ # @option str [String]
10
+ #
11
+ # @return [untyped]
12
+ def self.load(str)
13
+ ::JSON.parse(str)
14
+ end
15
+
16
+ # @option value [untyped]
17
+ #
18
+ # @return [String]
19
+ def self.dump(value)
20
+ ::JSON.generate(value)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module V2MoneyInTypes
5
+ module Types
6
+ # Response data from payment processor
7
+ class V2TransactionDetailResponseData < Internal::Types::Model
8
+ field :result_code, -> { String }, optional: false, nullable: false, api_name: "resultCode"
9
+ field :result_code_text, -> { String }, optional: false, nullable: false, api_name: "resultCodeText"
10
+ field :response, -> { String }, optional: false, nullable: true
11
+ field :responsetext, -> { String }, optional: false, nullable: false
12
+ field :authcode, -> { String }, optional: false, nullable: true
13
+ field :transactionid, -> { String }, optional: false, nullable: false
14
+ field :avsresponse, -> { String }, optional: false, nullable: true
15
+ field :avsresponse_text, -> { String }, optional: false, nullable: true
16
+ field :cvvresponse, -> { String }, optional: false, nullable: true
17
+ field :cvvresponse_text, -> { String }, optional: false, nullable: true
18
+ field :orderid, -> { String }, optional: false, nullable: true
19
+ field :type, -> { String }, optional: false, nullable: true
20
+ field :response_code, -> { String }, optional: false, nullable: false
21
+ field :response_code_text, -> { String }, optional: false, nullable: false
22
+ field :customer_vault_id, -> { String }, optional: false, nullable: true
23
+ field :emv_auth_response_data, -> { String }, optional: false, nullable: true
24
+ end
25
+ end
26
+ end
27
+ end