payabli 3.0.6 → 3.0.7
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.
- checksums.yaml +4 -4
- data/.fern/metadata.json +3 -3
- data/lib/payabli/case_management/client.rb +662 -0
- data/lib/payabli/case_management/types/assign_case_request.rb +15 -0
- data/lib/payabli/case_management/types/create_bank_account_change_case_request.rb +31 -0
- data/lib/payabli/case_management/types/list_cases_case_management_request.rb +17 -0
- data/lib/payabli/case_management/types/list_messages_case_management_request.rb +15 -0
- data/lib/payabli/case_management/types/post_case_message_request.rb +13 -0
- data/lib/payabli/case_management/types/transition_case_request.rb +17 -0
- data/lib/payabli/case_management/types/upload_attachment_case_management_request.rb +11 -0
- data/lib/payabli/case_management/types/validate_bank_account_change_request.rb +23 -0
- data/lib/payabli/client.rb +6 -1
- data/lib/payabli/money_out/client.rb +17 -3
- data/lib/payabli/money_out/types/capture_all_out_request.rb +2 -0
- data/lib/payabli/money_out/types/capture_out_request.rb +2 -0
- data/lib/payabli/money_out/types/request_out_authorize.rb +2 -0
- data/lib/payabli/notification/client.rb +2 -2
- data/lib/payabli/types/attachment_response.rb +24 -0
- data/lib/payabli/types/available_transitions_response.rb +10 -0
- data/lib/payabli/types/bank_account_change_parameters.rb +30 -0
- data/lib/payabli/types/bank_account_change_parameters_type.rb +11 -0
- data/lib/payabli/types/bank_account_services.rb +12 -0
- data/lib/payabli/types/bank_review_decision_reason.rb +14 -0
- data/lib/payabli/types/bank_verification_metadata.rb +14 -0
- data/lib/payabli/types/case_list_response.rb +12 -0
- data/lib/payabli/types/case_list_summary.rb +20 -0
- data/lib/payabli/types/case_management_bank_account_function.rb +17 -0
- data/lib/payabli/types/case_metadata.rb +12 -0
- data/lib/payabli/types/case_response.rb +50 -0
- data/lib/payabli/types/case_state.rb +22 -0
- data/lib/payabli/types/case_trigger.rb +22 -0
- data/lib/payabli/types/case_type.rb +11 -0
- data/lib/payabli/types/message_page.rb +12 -0
- data/lib/payabli/types/money_in_service.rb +17 -0
- data/lib/payabli/types/money_out_service.rb +17 -0
- data/lib/payabli/types/notification_content.rb +1 -1
- data/lib/payabli/types/notification_content_event_type.rb +14 -80
- data/lib/payabli/types/notification_standard_request_content_event_type.rb +97 -111
- data/lib/payabli/types/org_ref.rb +12 -0
- data/lib/payabli/types/paypoint_ref.rb +12 -0
- data/lib/payabli/types/posted_message.rb +14 -0
- data/lib/payabli/types/pre_creation_validation_result.rb +16 -0
- data/lib/payabli/types/review_decision_metadata.rb +12 -0
- data/lib/payabli/types/room_message_view.rb +18 -0
- data/lib/payabli/types/state_transition_response.rb +26 -0
- data/lib/payabli/types/user_ref.rb +12 -0
- data/lib/payabli/types/verification_code.rb +14 -0
- data/lib/payabli/version.rb +1 -1
- data/lib/payabli.rb +36 -0
- data/reference.md +1182 -4
- data/wiremock/wiremock-mappings.json +418 -1
- metadata +38 -2
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class AssignCaseRequest < Internal::Types::Model
|
|
7
|
+
field :uuid, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :assignee_id, -> { Integer }, optional: false, nullable: false, api_name: "assigneeId"
|
|
10
|
+
|
|
11
|
+
field :reason, -> { String }, optional: true, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class CreateBankAccountChangeCaseRequest < Internal::Types::Model
|
|
7
|
+
field :paypoint_id, -> { Integer }, optional: false, nullable: false, api_name: "paypointId"
|
|
8
|
+
|
|
9
|
+
field :nickname, -> { String }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :bank_name, -> { String }, optional: false, nullable: false, api_name: "bankName"
|
|
12
|
+
|
|
13
|
+
field :routing_number, -> { String }, optional: false, nullable: false, api_name: "routingNumber"
|
|
14
|
+
|
|
15
|
+
field :account_number, -> { String }, optional: false, nullable: false, api_name: "accountNumber"
|
|
16
|
+
|
|
17
|
+
field :account_type, -> { String }, optional: false, nullable: false, api_name: "accountType"
|
|
18
|
+
|
|
19
|
+
field :bank_account_holder_type, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderType"
|
|
20
|
+
|
|
21
|
+
field :bank_account_function, -> { Payabli::Types::CaseManagementBankAccountFunction }, optional: false, nullable: false, api_name: "bankAccountFunction"
|
|
22
|
+
|
|
23
|
+
field :services, -> { Payabli::Types::BankAccountServices }, optional: false, nullable: false
|
|
24
|
+
|
|
25
|
+
field :default, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
26
|
+
|
|
27
|
+
field :schedule_for, -> { String }, optional: true, nullable: false, api_name: "scheduleFor"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class ListCasesCaseManagementRequest < Internal::Types::Model
|
|
7
|
+
field :organization_id, -> { Integer }, optional: false, nullable: false, api_name: "organizationId"
|
|
8
|
+
|
|
9
|
+
field :from_record, -> { Integer }, optional: true, nullable: false, api_name: "fromRecord"
|
|
10
|
+
|
|
11
|
+
field :limit_record, -> { Integer }, optional: true, nullable: false, api_name: "limitRecord"
|
|
12
|
+
|
|
13
|
+
field :sort_by, -> { String }, optional: true, nullable: false, api_name: "sortBy"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class ListMessagesCaseManagementRequest < Internal::Types::Model
|
|
7
|
+
field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
|
|
8
|
+
|
|
9
|
+
field :limit, -> { Integer }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :cursor, -> { String }, optional: true, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class PostCaseMessageRequest < Internal::Types::Model
|
|
7
|
+
field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
|
|
8
|
+
|
|
9
|
+
field :content, -> { String }, optional: false, nullable: false
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class TransitionCaseRequest < Internal::Types::Model
|
|
7
|
+
field :uuid, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :trigger, -> { Payabli::Types::CaseTrigger }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :reason, -> { String }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :decline_reason, -> { Payabli::Types::BankReviewDecisionReason }, optional: true, nullable: false, api_name: "declineReason"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class UploadAttachmentCaseManagementRequest < Internal::Types::Model
|
|
7
|
+
field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module CaseManagement
|
|
5
|
+
module Types
|
|
6
|
+
class ValidateBankAccountChangeRequest < Internal::Types::Model
|
|
7
|
+
field :paypoint_id, -> { Integer }, optional: false, nullable: false, api_name: "paypointId"
|
|
8
|
+
|
|
9
|
+
field :routing_number, -> { String }, optional: false, nullable: false, api_name: "routingNumber"
|
|
10
|
+
|
|
11
|
+
field :account_number, -> { String }, optional: false, nullable: false, api_name: "accountNumber"
|
|
12
|
+
|
|
13
|
+
field :account_type, -> { String }, optional: false, nullable: false, api_name: "accountType"
|
|
14
|
+
|
|
15
|
+
field :bank_account_holder_type, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderType"
|
|
16
|
+
|
|
17
|
+
field :bank_account_function, -> { Payabli::Types::CaseManagementBankAccountFunction }, optional: false, nullable: false, api_name: "bankAccountFunction"
|
|
18
|
+
|
|
19
|
+
field :services, -> { Payabli::Types::BankAccountServices }, optional: false, nullable: false
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/payabli/client.rb
CHANGED
|
@@ -32,7 +32,7 @@ module Payabli
|
|
|
32
32
|
@raw_client = Payabli::Internal::Http::RawClient.new(
|
|
33
33
|
base_url: base_url || Payabli::Environment::SANDBOX,
|
|
34
34
|
headers: {
|
|
35
|
-
"User-Agent" => "payabli/3.0.
|
|
35
|
+
"User-Agent" => "payabli/3.0.7",
|
|
36
36
|
"X-Fern-Language" => "Ruby"
|
|
37
37
|
},
|
|
38
38
|
auth_provider: Payabli::Internal::RoutingAuthProvider.new(
|
|
@@ -207,5 +207,10 @@ module Payabli
|
|
|
207
207
|
def charge_backs
|
|
208
208
|
@charge_backs ||= Payabli::ChargeBacks::Client.new(client: @raw_client)
|
|
209
209
|
end
|
|
210
|
+
|
|
211
|
+
# @return [Payabli::CaseManagement::Client]
|
|
212
|
+
def case_management
|
|
213
|
+
@case_management ||= Payabli::CaseManagement::Client.new(client: @raw_client)
|
|
214
|
+
end
|
|
210
215
|
end
|
|
211
216
|
end
|
|
@@ -18,8 +18,8 @@ module Payabli
|
|
|
18
18
|
# When `autoCapture` is `true`, Payabli captures the transaction asynchronously after authorization. The response
|
|
19
19
|
# confirms only that the transaction was authorized; it doesn't confirm that capture succeeded. To confirm
|
|
20
20
|
# capture, listen for the
|
|
21
|
-
# [`payout_transaction_approvedcaptured`](/developers/
|
|
22
|
-
#
|
|
21
|
+
# [`payout_transaction_approvedcaptured`](/developers/webhooks/payout-transaction-approved-captured) webhook
|
|
22
|
+
# event.
|
|
23
23
|
#
|
|
24
24
|
# If a velocity fraud alert is triggered, the endpoint returns a `202` response with `responseCode` `9051`, and
|
|
25
25
|
# the authorization is held for risk review rather than rejected. If a risk policy blocks the transaction, the
|
|
@@ -40,6 +40,7 @@ module Payabli
|
|
|
40
40
|
# @option params [Boolean, nil] :allow_duplicated_bills
|
|
41
41
|
# @option params [Boolean, nil] :do_not_create_bills
|
|
42
42
|
# @option params [Boolean, nil] :force_vendor_creation
|
|
43
|
+
# @option params [Boolean, nil] :same_day_ach
|
|
43
44
|
# @option params [String, nil] :idempotency_key
|
|
44
45
|
#
|
|
45
46
|
# @example
|
|
@@ -66,13 +67,14 @@ module Payabli
|
|
|
66
67
|
def authorize_out(request_options: {}, **params)
|
|
67
68
|
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
68
69
|
request_data = Payabli::MoneyOut::Types::RequestOutAuthorize.new(params).to_h
|
|
69
|
-
non_body_param_names = %w[allowDuplicatedBills doNotCreateBills forceVendorCreation idempotencyKey]
|
|
70
|
+
non_body_param_names = %w[allowDuplicatedBills doNotCreateBills forceVendorCreation sameDayACH idempotencyKey]
|
|
70
71
|
body = request_data.except(*non_body_param_names)
|
|
71
72
|
|
|
72
73
|
query_params = {}
|
|
73
74
|
query_params["allowDuplicatedBills"] = params[:allow_duplicated_bills] if params.key?(:allow_duplicated_bills)
|
|
74
75
|
query_params["doNotCreateBills"] = params[:do_not_create_bills] if params.key?(:do_not_create_bills)
|
|
75
76
|
query_params["forceVendorCreation"] = params[:force_vendor_creation] if params.key?(:force_vendor_creation)
|
|
77
|
+
query_params["sameDayACH"] = params[:same_day_ach] if params.key?(:same_day_ach)
|
|
76
78
|
|
|
77
79
|
headers = {}
|
|
78
80
|
headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
|
|
@@ -228,6 +230,7 @@ module Payabli
|
|
|
228
230
|
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
229
231
|
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
230
232
|
# @option request_options [Integer] :timeout_in_seconds
|
|
233
|
+
# @option params [Boolean, nil] :auto_convert_same_day_ach
|
|
231
234
|
# @option params [String, nil] :idempotency_key
|
|
232
235
|
#
|
|
233
236
|
# @example
|
|
@@ -236,6 +239,11 @@ module Payabli
|
|
|
236
239
|
# @return [Payabli::Types::CaptureAllOutResponse]
|
|
237
240
|
def capture_all_out(request_options: {}, **params)
|
|
238
241
|
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
242
|
+
query_param_names = %i[auto_convert_same_day_ach]
|
|
243
|
+
query_params = {}
|
|
244
|
+
query_params["autoConvertSameDayAch"] = params[:auto_convert_same_day_ach] if params.key?(:auto_convert_same_day_ach)
|
|
245
|
+
params = params.except(*query_param_names)
|
|
246
|
+
|
|
239
247
|
headers = {}
|
|
240
248
|
headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
|
|
241
249
|
|
|
@@ -245,6 +253,7 @@ module Payabli
|
|
|
245
253
|
method: "POST",
|
|
246
254
|
path: "MoneyOut/captureAll",
|
|
247
255
|
headers: headers,
|
|
256
|
+
query: query_params,
|
|
248
257
|
body: params,
|
|
249
258
|
request_options: request_options
|
|
250
259
|
)
|
|
@@ -277,6 +286,7 @@ module Payabli
|
|
|
277
286
|
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
278
287
|
# @option request_options [Integer] :timeout_in_seconds
|
|
279
288
|
# @option params [String] :reference_id
|
|
289
|
+
# @option params [Boolean, nil] :auto_convert_same_day_ach
|
|
280
290
|
# @option params [String, nil] :idempotency_key
|
|
281
291
|
#
|
|
282
292
|
# @example
|
|
@@ -285,6 +295,9 @@ module Payabli
|
|
|
285
295
|
# @return [Payabli::Types::AuthCapturePayoutResponse]
|
|
286
296
|
def capture_out(request_options: {}, **params)
|
|
287
297
|
params = Payabli::Internal::Types::Utils.normalize_keys(params)
|
|
298
|
+
query_params = {}
|
|
299
|
+
query_params["autoConvertSameDayAch"] = params[:auto_convert_same_day_ach] if params.key?(:auto_convert_same_day_ach)
|
|
300
|
+
|
|
288
301
|
headers = {}
|
|
289
302
|
headers["idempotencyKey"] = params[:idempotency_key] if params[:idempotency_key]
|
|
290
303
|
|
|
@@ -294,6 +307,7 @@ module Payabli
|
|
|
294
307
|
method: "GET",
|
|
295
308
|
path: "MoneyOut/capture/#{URI.encode_uri_component(params[:reference_id].to_s)}",
|
|
296
309
|
headers: headers,
|
|
310
|
+
query: query_params,
|
|
297
311
|
request_options: request_options
|
|
298
312
|
)
|
|
299
313
|
begin
|
|
@@ -4,6 +4,8 @@ module Payabli
|
|
|
4
4
|
module MoneyOut
|
|
5
5
|
module Types
|
|
6
6
|
class CaptureAllOutRequest < Internal::Types::Model
|
|
7
|
+
field :auto_convert_same_day_ach, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "autoConvertSameDayAch"
|
|
8
|
+
|
|
7
9
|
field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
|
|
8
10
|
|
|
9
11
|
field :body, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
@@ -6,6 +6,8 @@ module Payabli
|
|
|
6
6
|
class CaptureOutRequest < Internal::Types::Model
|
|
7
7
|
field :reference_id, -> { String }, optional: false, nullable: false, api_name: "referenceId"
|
|
8
8
|
|
|
9
|
+
field :auto_convert_same_day_ach, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "autoConvertSameDayAch"
|
|
10
|
+
|
|
9
11
|
field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
|
|
10
12
|
end
|
|
11
13
|
end
|
|
@@ -10,6 +10,8 @@ module Payabli
|
|
|
10
10
|
|
|
11
11
|
field :force_vendor_creation, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "forceVendorCreation"
|
|
12
12
|
|
|
13
|
+
field :same_day_ach, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "sameDayACH"
|
|
14
|
+
|
|
13
15
|
field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotencyKey"
|
|
14
16
|
|
|
15
17
|
field :entry_point, -> { String }, optional: false, nullable: false, api_name: "entryPoint"
|
|
@@ -23,7 +23,7 @@ module Payabli
|
|
|
23
23
|
# @example
|
|
24
24
|
# client.notification.add_notification(
|
|
25
25
|
# content: {
|
|
26
|
-
# event_type: "
|
|
26
|
+
# event_type: "createdapplication"
|
|
27
27
|
# },
|
|
28
28
|
# frequency: "untilcancelled",
|
|
29
29
|
# method_: "web",
|
|
@@ -113,7 +113,7 @@ module Payabli
|
|
|
113
113
|
# client.notification.update_notification(
|
|
114
114
|
# n_id: "1717",
|
|
115
115
|
# content: {
|
|
116
|
-
# event_type: "
|
|
116
|
+
# event_type: "approvedpayment"
|
|
117
117
|
# },
|
|
118
118
|
# frequency: "untilcancelled",
|
|
119
119
|
# method_: "email",
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# A file attached to a case.
|
|
6
|
+
class AttachmentResponse < Internal::Types::Model
|
|
7
|
+
field :uuid, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :case_uuid, -> { String }, optional: false, nullable: false, api_name: "caseUuid"
|
|
10
|
+
|
|
11
|
+
field :file_type, -> { String }, optional: false, nullable: false, api_name: "fileType"
|
|
12
|
+
|
|
13
|
+
field :filename, -> { String }, optional: false, nullable: false
|
|
14
|
+
|
|
15
|
+
field :file_url, -> { String }, optional: false, nullable: false, api_name: "fileUrl"
|
|
16
|
+
|
|
17
|
+
field :uploaded_at, -> { String }, optional: false, nullable: false, api_name: "uploadedAt"
|
|
18
|
+
|
|
19
|
+
field :uploaded_by, -> { String }, optional: false, nullable: false, api_name: "uploadedBy"
|
|
20
|
+
|
|
21
|
+
field :uploaded_by_user, -> { Payabli::Types::UserRef }, optional: false, nullable: true, api_name: "uploadedByUser"
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# The transition actions currently available on a case. Empty when no user action is available.
|
|
6
|
+
class AvailableTransitionsResponse < Internal::Types::Model
|
|
7
|
+
field :transitions, -> { Internal::Types::Array[Payabli::Types::CaseTrigger] }, optional: false, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# The bank-account-change details stored on a case. The raw account and
|
|
6
|
+
# routing numbers are write-only and never appear here — only a vault token
|
|
7
|
+
# (`bankToken`) and non-sensitive details.
|
|
8
|
+
class BankAccountChangeParameters < Internal::Types::Model
|
|
9
|
+
field :type, -> { Payabli::Types::BankAccountChangeParametersType }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :nickname, -> { String }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :bank_name, -> { String }, optional: false, nullable: false, api_name: "bankName"
|
|
14
|
+
|
|
15
|
+
field :bank_token, -> { String }, optional: false, nullable: false, api_name: "bankToken"
|
|
16
|
+
|
|
17
|
+
field :account_type, -> { String }, optional: false, nullable: false, api_name: "accountType"
|
|
18
|
+
|
|
19
|
+
field :bank_account_holder_name, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderName"
|
|
20
|
+
|
|
21
|
+
field :bank_account_holder_type, -> { String }, optional: false, nullable: false, api_name: "bankAccountHolderType"
|
|
22
|
+
|
|
23
|
+
field :bank_account_function, -> { Payabli::Types::CaseManagementBankAccountFunction }, optional: false, nullable: false, api_name: "bankAccountFunction"
|
|
24
|
+
|
|
25
|
+
field :services, -> { Payabli::Types::BankAccountServices }, optional: false, nullable: false
|
|
26
|
+
|
|
27
|
+
field :default, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# The Pay In and Pay Out services the bank account applies to. Include at least one entry across the two lists.
|
|
6
|
+
class BankAccountServices < Internal::Types::Model
|
|
7
|
+
field :money_in, -> { Internal::Types::Array[Payabli::Types::MoneyInService] }, optional: true, nullable: false, api_name: "moneyIn"
|
|
8
|
+
|
|
9
|
+
field :money_out, -> { Internal::Types::Array[Payabli::Types::MoneyOutService] }, optional: true, nullable: false, api_name: "moneyOut"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
module BankReviewDecisionReason
|
|
6
|
+
extend Payabli::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
CREDIT_DECLINE = "CreditDecline"
|
|
9
|
+
FRAUD_DECLINE = "FraudDecline"
|
|
10
|
+
KYB_KYC_DECLINE = "KybKycDecline"
|
|
11
|
+
WITHDRAWN = "Withdrawn"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# The outcome of automatic bank account verification.
|
|
6
|
+
class BankVerificationMetadata < Internal::Types::Model
|
|
7
|
+
field :verification_result, -> { Payabli::Types::VerificationCode }, optional: false, nullable: false, api_name: "verificationResult"
|
|
8
|
+
|
|
9
|
+
field :account_response_code, -> { Payabli::Types::VerificationCode }, optional: false, nullable: true, api_name: "accountResponseCode"
|
|
10
|
+
|
|
11
|
+
field :customer_response_code, -> { Payabli::Types::VerificationCode }, optional: false, nullable: true, api_name: "customerResponseCode"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# A paginated list of cases.
|
|
6
|
+
class CaseListResponse < Internal::Types::Model
|
|
7
|
+
field :summary, -> { Payabli::Types::CaseListSummary }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :records, -> { Internal::Types::Array[Payabli::Types::CaseResponse] }, optional: false, nullable: false
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# Pagination and totals for a case list response.
|
|
6
|
+
class CaseListSummary < Internal::Types::Model
|
|
7
|
+
field :total_records, -> { Integer }, optional: false, nullable: false, api_name: "totalRecords"
|
|
8
|
+
|
|
9
|
+
field :total_amount, -> { Integer }, optional: false, nullable: false, api_name: "totalAmount"
|
|
10
|
+
|
|
11
|
+
field :total_net_amount, -> { Integer }, optional: false, nullable: false, api_name: "totalNetAmount"
|
|
12
|
+
|
|
13
|
+
field :total_pages, -> { Integer }, optional: false, nullable: false, api_name: "totalPages"
|
|
14
|
+
|
|
15
|
+
field :page_size, -> { Integer }, optional: false, nullable: false, api_name: "pageSize"
|
|
16
|
+
|
|
17
|
+
field :pageidentifier, -> { String }, optional: false, nullable: true
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
module CaseManagementBankAccountFunction
|
|
6
|
+
extend Payabli::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
DEPOSITS = "Deposits"
|
|
9
|
+
WITHDRAWALS = "Withdrawals"
|
|
10
|
+
DEPOSITS_AND_WITHDRAWALS = "DepositsAndWithdrawals"
|
|
11
|
+
REMITTANCES = "Remittances"
|
|
12
|
+
REMITTANCES_AND_DEPOSITS = "RemittancesAndDeposits"
|
|
13
|
+
REMITTANCES_AND_WITHDRAWALS = "RemittancesAndWithdrawals"
|
|
14
|
+
REMITTANCES_DEPOSITS_AND_WITHDRAWALS = "RemittancesDepositsAndWithdrawals"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# Case metadata, populated as the case progresses. Null until verification completes.
|
|
6
|
+
class CaseMetadata < Internal::Types::Model
|
|
7
|
+
field :verification, -> { Payabli::Types::BankVerificationMetadata }, optional: false, nullable: true
|
|
8
|
+
|
|
9
|
+
field :review_decision, -> { Payabli::Types::ReviewDecisionMetadata }, optional: false, nullable: true, api_name: "reviewDecision"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# A bank-account-change case.
|
|
6
|
+
class CaseResponse < Internal::Types::Model
|
|
7
|
+
field :uuid, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :state, -> { Payabli::Types::CaseState }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :case_type, -> { Payabli::Types::CaseType }, optional: false, nullable: false, api_name: "caseType"
|
|
12
|
+
|
|
13
|
+
field :parameters, -> { Payabli::Types::BankAccountChangeParameters }, optional: false, nullable: false
|
|
14
|
+
|
|
15
|
+
field :org_id, -> { Integer }, optional: false, nullable: false, api_name: "orgId"
|
|
16
|
+
|
|
17
|
+
field :paypoint_id, -> { Integer }, optional: false, nullable: false, api_name: "paypointId"
|
|
18
|
+
|
|
19
|
+
field :schedule_for, -> { String }, optional: false, nullable: true, api_name: "scheduleFor"
|
|
20
|
+
|
|
21
|
+
field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
|
|
22
|
+
|
|
23
|
+
field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
|
|
24
|
+
|
|
25
|
+
field :created_by, -> { Integer }, optional: false, nullable: false, api_name: "createdBy"
|
|
26
|
+
|
|
27
|
+
field :assignee_id, -> { Integer }, optional: false, nullable: true, api_name: "assigneeId"
|
|
28
|
+
|
|
29
|
+
field :last_reviewed_by_id, -> { Integer }, optional: false, nullable: true, api_name: "lastReviewedById"
|
|
30
|
+
|
|
31
|
+
field :state_history, -> { Internal::Types::Array[Payabli::Types::StateTransitionResponse] }, optional: false, nullable: false, api_name: "stateHistory"
|
|
32
|
+
|
|
33
|
+
field :attachments, -> { Internal::Types::Array[Payabli::Types::AttachmentResponse] }, optional: false, nullable: false
|
|
34
|
+
|
|
35
|
+
field :room_id, -> { Integer }, optional: false, nullable: true, api_name: "roomId"
|
|
36
|
+
|
|
37
|
+
field :metadata, -> { Payabli::Types::CaseMetadata }, optional: false, nullable: true
|
|
38
|
+
|
|
39
|
+
field :org, -> { Payabli::Types::OrgRef }, optional: false, nullable: true
|
|
40
|
+
|
|
41
|
+
field :paypoint, -> { Payabli::Types::PaypointRef }, optional: false, nullable: true
|
|
42
|
+
|
|
43
|
+
field :created_by_user, -> { Payabli::Types::UserRef }, optional: false, nullable: true, api_name: "createdByUser"
|
|
44
|
+
|
|
45
|
+
field :assignee, -> { Payabli::Types::UserRef }, optional: false, nullable: true
|
|
46
|
+
|
|
47
|
+
field :last_reviewed_by, -> { Payabli::Types::UserRef }, optional: false, nullable: true, api_name: "lastReviewedBy"
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
module CaseState
|
|
6
|
+
extend Payabli::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
SUBMITTED = "Submitted"
|
|
9
|
+
VERIFYING = "Verifying"
|
|
10
|
+
PENDING_REVIEW = "PendingReview"
|
|
11
|
+
ASSIGNED = "Assigned"
|
|
12
|
+
PENDING_RESPONSE = "PendingResponse"
|
|
13
|
+
ESCALATED = "Escalated"
|
|
14
|
+
APPROVED = "Approved"
|
|
15
|
+
AUTO_APPROVED = "AutoApproved"
|
|
16
|
+
PENDING_COMPLETION = "PendingCompletion"
|
|
17
|
+
COMPLETED = "Completed"
|
|
18
|
+
DENIED = "Denied"
|
|
19
|
+
ERROR = "Error"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
module CaseTrigger
|
|
6
|
+
extend Payabli::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
SUBMIT = "Submit"
|
|
9
|
+
VERIFY = "Verify"
|
|
10
|
+
REQUEST_REVIEW = "RequestReview"
|
|
11
|
+
ASSIGN = "Assign"
|
|
12
|
+
REQUEST_RESPONSE = "RequestResponse"
|
|
13
|
+
ESCALATE = "Escalate"
|
|
14
|
+
APPROVE = "Approve"
|
|
15
|
+
AUTO_APPROVE = "AutoApprove"
|
|
16
|
+
REQUEST_COMPLETION = "RequestCompletion"
|
|
17
|
+
COMPLETE = "Complete"
|
|
18
|
+
DENY = "Deny"
|
|
19
|
+
ERROR = "Error"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
# A cursor-paginated page of case notes, ordered oldest to newest.
|
|
6
|
+
class MessagePage < Internal::Types::Model
|
|
7
|
+
field :messages, -> { Internal::Types::Array[Payabli::Types::RoomMessageView] }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :next_cursor, -> { String }, optional: false, nullable: true, api_name: "nextCursor"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Payabli
|
|
4
|
+
module Types
|
|
5
|
+
module MoneyInService
|
|
6
|
+
extend Payabli::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
ACH = "Ach"
|
|
9
|
+
CARD = "Card"
|
|
10
|
+
CLOUD = "Cloud"
|
|
11
|
+
DEVICE = "Device"
|
|
12
|
+
WALLET = "Wallet"
|
|
13
|
+
CASH = "Cash"
|
|
14
|
+
CHECK = "Check"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|