payabli 3.0.19 → 3.0.20

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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/lib/payabli/applications/client.rb +735 -0
  4. data/lib/payabli/applications/types/create_application_request.rb +27 -0
  5. data/lib/payabli/applications/types/list_applications_applications_request.rb +13 -0
  6. data/lib/payabli/applications/types/submit_application_request.rb +13 -0
  7. data/lib/payabli/applications/types/update_application_request.rb +25 -0
  8. data/lib/payabli/applications/types/upload_application_document_request.rb +11 -0
  9. data/lib/payabli/applications/types/withdraw_application_request.rb +13 -0
  10. data/lib/payabli/boarding/client.rb +90 -0
  11. data/lib/payabli/boarding_templates/client.rb +196 -0
  12. data/lib/payabli/boarding_templates/types/list_templates_boarding_templates_request.rb +25 -0
  13. data/lib/payabli/businesses/client.rb +796 -0
  14. data/lib/payabli/businesses/types/create_business_address_request.rb +31 -0
  15. data/lib/payabli/businesses/types/deactivate_business_request.rb +13 -0
  16. data/lib/payabli/businesses/types/link_business_person_request.rb +35 -0
  17. data/lib/payabli/businesses/types/list_businesses_businesses_request.rb +25 -0
  18. data/lib/payabli/businesses/types/update_business_address_request.rb +33 -0
  19. data/lib/payabli/businesses/types/update_business_person_request.rb +35 -0
  20. data/lib/payabli/businesses/types/update_business_request.rb +63 -0
  21. data/lib/payabli/businesses/types/update_business_request_legal_structure.rb +21 -0
  22. data/lib/payabli/businesses/types/update_business_request_operating_seasons_item.rb +16 -0
  23. data/lib/payabli/client.rb +31 -1
  24. data/lib/payabli/export/client.rb +2 -3
  25. data/lib/payabli/payment_methods/client.rb +254 -0
  26. data/lib/payabli/payment_methods/types/create_payment_methods_request.rb +11 -0
  27. data/lib/payabli/payment_methods/types/list_payment_methods_payment_methods_request.rb +25 -0
  28. data/lib/payabli/payment_methods/types/update_payment_method_request.rb +23 -0
  29. data/lib/payabli/paypoints/client.rb +204 -0
  30. data/lib/payabli/paypoints/types/create_paypoint_paypoints_request.rb +17 -0
  31. data/lib/payabli/paypoints/types/list_paypoints_paypoints_request.rb +19 -0
  32. data/lib/payabli/paypoints/types/update_paypoint_request.rb +29 -0
  33. data/lib/payabli/people/client.rb +428 -0
  34. data/lib/payabli/people/types/create_person_request.rb +47 -0
  35. data/lib/payabli/people/types/list_people_people_request.rb +23 -0
  36. data/lib/payabli/people/types/search_people_request.rb +15 -0
  37. data/lib/payabli/people/types/search_people_unmasked_request.rb +15 -0
  38. data/lib/payabli/people/types/update_person_request.rb +41 -0
  39. data/lib/payabli/templates/client.rb +25 -0
  40. data/lib/payabli/types/address_type.rb +16 -0
  41. data/lib/payabli/types/application.rb +46 -0
  42. data/lib/payabli/types/application_common.rb +42 -0
  43. data/lib/payabli/types/application_document.rb +26 -0
  44. data/lib/payabli/types/application_document_envelope.rb +16 -0
  45. data/lib/payabli/types/application_document_error.rb +16 -0
  46. data/lib/payabli/types/application_document_list_envelope.rb +16 -0
  47. data/lib/payabli/types/application_envelope.rb +16 -0
  48. data/lib/payabli/types/application_links.rb +12 -0
  49. data/lib/payabli/types/application_list_item.rb +52 -0
  50. data/lib/payabli/types/bank_account_services.rb +2 -2
  51. data/lib/payabli/types/boarding_warning.rb +12 -0
  52. data/lib/payabli/types/business_address.rb +28 -0
  53. data/lib/payabli/types/business_address_create.rb +28 -0
  54. data/lib/payabli/types/business_address_deleted_envelope.rb +16 -0
  55. data/lib/payabli/types/business_address_deleted_response.rb +16 -0
  56. data/lib/payabli/types/business_address_envelope.rb +16 -0
  57. data/lib/payabli/types/business_address_links.rb +12 -0
  58. data/lib/payabli/types/business_address_list_envelope.rb +16 -0
  59. data/lib/payabli/types/business_address_location.rb +15 -0
  60. data/lib/payabli/types/business_address_response.rb +32 -0
  61. data/lib/payabli/types/business_created_envelope.rb +18 -0
  62. data/lib/payabli/types/business_created_response.rb +16 -0
  63. data/lib/payabli/types/business_deactivated_envelope.rb +18 -0
  64. data/lib/payabli/types/business_deactivated_response.rb +18 -0
  65. data/lib/payabli/types/business_detail_envelope.rb +18 -0
  66. data/lib/payabli/types/business_detail_response.rb +76 -0
  67. data/lib/payabli/types/business_detail_response_legal_structure.rb +17 -0
  68. data/lib/payabli/types/business_detail_response_operating_seasons_item.rb +14 -0
  69. data/lib/payabli/types/business_links.rb +10 -0
  70. data/lib/payabli/types/business_payment_method.rb +36 -0
  71. data/lib/payabli/types/business_person_envelope.rb +16 -0
  72. data/lib/payabli/types/business_person_link.rb +42 -0
  73. data/lib/payabli/types/business_person_links.rb +14 -0
  74. data/lib/payabli/types/business_person_list_envelope.rb +16 -0
  75. data/lib/payabli/types/business_relationship_request.rb +35 -0
  76. data/lib/payabli/types/business_relationship_response.rb +36 -0
  77. data/lib/payabli/types/business_summary_response.rb +22 -0
  78. data/lib/payabli/types/business_updated_envelope.rb +18 -0
  79. data/lib/payabli/types/business_updated_response.rb +14 -0
  80. data/lib/payabli/types/case_management_money_in_service.rb +17 -0
  81. data/lib/payabli/types/case_management_money_out_service.rb +17 -0
  82. data/lib/payabli/types/certification_detail.rb +18 -0
  83. data/lib/payabli/types/create_business_request.rb +64 -0
  84. data/lib/payabli/types/create_business_request_legal_structure.rb +19 -0
  85. data/lib/payabli/types/create_business_request_operating_seasons_item.rb +14 -0
  86. data/lib/payabli/types/create_payment_method_request.rb +28 -0
  87. data/lib/payabli/types/create_payment_method_request_type.rb +11 -0
  88. data/lib/payabli/types/create_paypoint_all_fields.rb +32 -0
  89. data/lib/payabli/types/create_paypoint_with_business_reference.rb +31 -0
  90. data/lib/payabli/types/create_paypoint_with_inline_business.rb +31 -0
  91. data/lib/payabli/types/document_requirement.rb +31 -0
  92. data/lib/payabli/types/document_requirement_list_envelope.rb +16 -0
  93. data/lib/payabli/types/document_requirement_source.rb +12 -0
  94. data/lib/payabli/types/document_subject_type.rb +13 -0
  95. data/lib/payabli/types/enablement_envelope.rb +16 -0
  96. data/lib/payabli/types/enablement_result.rb +24 -0
  97. data/lib/payabli/types/enablement_service.rb +18 -0
  98. data/lib/payabli/types/identification_document_request.rb +18 -0
  99. data/lib/payabli/types/identification_document_response.rb +18 -0
  100. data/lib/payabli/types/list_applications_envelope.rb +16 -0
  101. data/lib/payabli/types/list_applications_response.rb +16 -0
  102. data/lib/payabli/types/list_businesses_envelope.rb +18 -0
  103. data/lib/payabli/types/list_businesses_response.rb +12 -0
  104. data/lib/payabli/types/list_payment_methods_envelope.rb +16 -0
  105. data/lib/payabli/types/list_payment_methods_response.rb +12 -0
  106. data/lib/payabli/types/list_paypoints_envelope.rb +16 -0
  107. data/lib/payabli/types/list_paypoints_response.rb +16 -0
  108. data/lib/payabli/types/list_people_envelope.rb +16 -0
  109. data/lib/payabli/types/list_people_response.rb +12 -0
  110. data/lib/payabli/types/list_templates_response.rb +12 -0
  111. data/lib/payabli/types/pagination.rb +20 -0
  112. data/lib/payabli/types/payment_method_deactivated_envelope.rb +16 -0
  113. data/lib/payabli/types/payment_method_detail.rb +38 -0
  114. data/lib/payabli/types/payment_method_detail_envelope.rb +16 -0
  115. data/lib/payabli/types/payment_method_links.rb +12 -0
  116. data/lib/payabli/types/payment_method_owner_type.rb +12 -0
  117. data/lib/payabli/types/payment_method_result.rb +40 -0
  118. data/lib/payabli/types/payment_method_updated_envelope.rb +16 -0
  119. data/lib/payabli/types/payment_method_usage.rb +16 -0
  120. data/lib/payabli/types/payment_methods_created_envelope.rb +16 -0
  121. data/lib/payabli/types/payout_metrics.rb +16 -0
  122. data/lib/payabli/types/paypoint_created_envelope.rb +16 -0
  123. data/lib/payabli/types/paypoint_created_response.rb +22 -0
  124. data/lib/payabli/types/paypoint_detail_envelope.rb +16 -0
  125. data/lib/payabli/types/paypoint_detail_response.rb +40 -0
  126. data/lib/payabli/types/paypoint_links.rb +12 -0
  127. data/lib/payabli/types/paypoint_summary_response.rb +38 -0
  128. data/lib/payabli/types/paypoint_updated_envelope.rb +16 -0
  129. data/lib/payabli/types/paypoint_updated_response.rb +14 -0
  130. data/lib/payabli/types/paypoint_writable_fields.rb +28 -0
  131. data/lib/payabli/types/people_search_envelope.rb +16 -0
  132. data/lib/payabli/types/people_search_request.rb +12 -0
  133. data/lib/payabli/types/people_search_result_response.rb +38 -0
  134. data/lib/payabli/types/people_search_results_response.rb +14 -0
  135. data/lib/payabli/types/person_address_request.rb +22 -0
  136. data/lib/payabli/types/person_address_response.rb +22 -0
  137. data/lib/payabli/types/person_address_type.rb +17 -0
  138. data/lib/payabli/types/person_detail_envelope.rb +18 -0
  139. data/lib/payabli/types/person_detail_response.rb +56 -0
  140. data/lib/payabli/types/person_links.rb +12 -0
  141. data/lib/payabli/types/person_summary_response.rb +24 -0
  142. data/lib/payabli/types/person_type.rb +16 -0
  143. data/lib/payabli/types/person_updated_envelope.rb +16 -0
  144. data/lib/payabli/types/person_updated_response.rb +14 -0
  145. data/lib/payabli/types/processing_metrics.rb +30 -0
  146. data/lib/payabli/types/representative_input.rb +20 -0
  147. data/lib/payabli/types/representative_response.rb +20 -0
  148. data/lib/payabli/types/requested_services.rb +13 -0
  149. data/lib/payabli/types/signature_type.rb +13 -0
  150. data/lib/payabli/types/status_history_entry.rb +22 -0
  151. data/lib/payabli/types/status_history_envelope.rb +16 -0
  152. data/lib/payabli/types/status_history_result.rb +12 -0
  153. data/lib/payabli/types/submit_application_error.rb +16 -0
  154. data/lib/payabli/types/submit_signer.rb +32 -0
  155. data/lib/payabli/types/template.rb +38 -0
  156. data/lib/payabli/types/template_status.rb +12 -0
  157. data/lib/payabli/types/template_version.rb +79 -0
  158. data/lib/payabli/types/templates_summary.rb +14 -0
  159. data/lib/payabli/types/transition_result.rb +14 -0
  160. data/lib/payabli/types/transition_result_envelope.rb +16 -0
  161. data/lib/payabli/types/underwriting_mode.rb +13 -0
  162. data/lib/payabli/types/validation_missing_field.rb +14 -0
  163. data/lib/payabli/types/validation_result.rb +14 -0
  164. data/lib/payabli/types/validation_result_envelope.rb +16 -0
  165. data/lib/payabli/types/validation_section.rb +12 -0
  166. data/lib/payabli/types/validation_sections.rb +16 -0
  167. data/lib/payabli/version.rb +1 -1
  168. data/lib/payabli.rb +161 -2
  169. data/reference.md +5052 -1
  170. data/wiremock/wiremock-mappings.json +1600 -1
  171. metadata +161 -2
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A paypoint as it appears in a list response.
6
+ class PaypointSummaryResponse < Internal::Types::Model
7
+ field :paypoint_reference, -> { String }, optional: false, nullable: false, api_name: "paypointReference"
8
+
9
+ field :business_reference, -> { String }, optional: true, nullable: false, api_name: "businessReference"
10
+
11
+ field :parent_paypoint_reference, -> { String }, optional: false, nullable: false, api_name: "parentPaypointReference"
12
+
13
+ field :paypoint_type, -> { String }, optional: true, nullable: false, api_name: "paypointType"
14
+
15
+ field :paypoint_status, -> { String }, optional: false, nullable: false, api_name: "paypointStatus"
16
+
17
+ field :doing_business_as, -> { String }, optional: true, nullable: false, api_name: "doingBusinessAs"
18
+
19
+ field :description, -> { String }, optional: true, nullable: false
20
+
21
+ field :website, -> { String }, optional: true, nullable: false
22
+
23
+ field :timezone, -> { String }, optional: true, nullable: false
24
+
25
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
26
+
27
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
28
+
29
+ field :entry_name, -> { String }, optional: false, nullable: false, api_name: "entryName"
30
+
31
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
32
+
33
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
34
+
35
+ field :links, -> { Payabli::Types::PaypointLinks }, optional: false, nullable: false, api_name: "_links"
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping an updated paypoint.
6
+ class PaypointUpdatedEnvelope < Internal::Types::Model
7
+ field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+
9
+ field :message, -> { String }, optional: false, nullable: true
10
+
11
+ field :trace_id, -> { String }, optional: false, nullable: true, api_name: "traceId"
12
+
13
+ field :data, -> { Payabli::Types::PaypointUpdatedResponse }, optional: false, nullable: true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The reference and updated timestamp after a paypoint update.
6
+ class PaypointUpdatedResponse < Internal::Types::Model
7
+ field :paypoint_reference, -> { String }, optional: false, nullable: false, api_name: "paypointReference"
8
+
9
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
10
+
11
+ field :links, -> { Payabli::Types::PaypointLinks }, optional: false, nullable: false, api_name: "_links"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Fields you can set when you create a paypoint.
6
+ class PaypointWritableFields < Internal::Types::Model
7
+ field :parent_paypoint_reference, -> { String }, optional: true, nullable: false, api_name: "parentPaypointReference"
8
+
9
+ field :paypoint_type, -> { String }, optional: true, nullable: false, api_name: "paypointType"
10
+
11
+ field :doing_business_as, -> { String }, optional: false, nullable: false, api_name: "doingBusinessAs"
12
+
13
+ field :description, -> { String }, optional: true, nullable: false
14
+
15
+ field :website, -> { String }, optional: true, nullable: false
16
+
17
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
18
+
19
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
20
+
21
+ field :timezone, -> { String }, optional: true, nullable: false
22
+
23
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
24
+
25
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping people search results.
6
+ class PeopleSearchEnvelope < Internal::Types::Model
7
+ field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+
9
+ field :message, -> { String }, optional: false, nullable: true
10
+
11
+ field :trace_id, -> { String }, optional: false, nullable: true, api_name: "traceId"
12
+
13
+ field :data, -> { Payabli::Types::PeopleSearchResultsResponse }, optional: false, nullable: true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Search criteria for identity matching. Provide at least one of `firstName` or `lastName`.
6
+ class PeopleSearchRequest < Internal::Types::Model
7
+ extend Payabli::Internal::Types::Union
8
+
9
+ member -> { Object }
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A single identity match returned by a search.
6
+ class PeopleSearchResultResponse < Internal::Types::Model
7
+ field :person_reference, -> { String }, optional: true, nullable: false, api_name: "personReference"
8
+
9
+ field :first_name, -> { String }, optional: true, nullable: false, api_name: "firstName"
10
+
11
+ field :last_name, -> { String }, optional: true, nullable: false, api_name: "lastName"
12
+
13
+ field :date_of_birth, -> { String }, optional: true, nullable: false, api_name: "dateOfBirth"
14
+
15
+ field :primary_email, -> { String }, optional: true, nullable: false, api_name: "primaryEmail"
16
+
17
+ field :primary_phone, -> { String }, optional: true, nullable: false, api_name: "primaryPhone"
18
+
19
+ field :risk_decision, -> { String }, optional: true, nullable: false, api_name: "riskDecision"
20
+
21
+ field :match_score, -> { Integer }, optional: true, nullable: false, api_name: "matchScore"
22
+
23
+ field :is_top_match, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isTopMatch"
24
+
25
+ field :is_from_vendor, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isFromVendor"
26
+
27
+ field :phones, -> { Internal::Types::Array[String] }, optional: true, nullable: false
28
+
29
+ field :emails, -> { Internal::Types::Array[String] }, optional: true, nullable: false
30
+
31
+ field :address_count, -> { Integer }, optional: true, nullable: false, api_name: "addressCount"
32
+
33
+ field :phone_count, -> { Integer }, optional: true, nullable: false, api_name: "phoneCount"
34
+
35
+ field :email_count, -> { Integer }, optional: true, nullable: false, api_name: "emailCount"
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The results of a people search.
6
+ class PeopleSearchResultsResponse < Internal::Types::Model
7
+ field :results, -> { Internal::Types::Array[Payabli::Types::PeopleSearchResultResponse] }, optional: false, nullable: true
8
+
9
+ field :total, -> { Integer }, optional: false, nullable: false
10
+
11
+ field :is_enriched_by_vendor, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isEnrichedByVendor"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # An address included in a person request.
6
+ class PersonAddressRequest < Internal::Types::Model
7
+ field :address_line_1, -> { String }, optional: true, nullable: false, api_name: "addressLine1"
8
+
9
+ field :address_line_2, -> { String }, optional: true, nullable: false, api_name: "addressLine2"
10
+
11
+ field :city_locality, -> { String }, optional: true, nullable: false, api_name: "cityLocality"
12
+
13
+ field :state_province, -> { String }, optional: true, nullable: false, api_name: "stateProvince"
14
+
15
+ field :postal_code, -> { String }, optional: true, nullable: false, api_name: "postalCode"
16
+
17
+ field :country, -> { String }, optional: true, nullable: false
18
+
19
+ field :type, -> { Payabli::Types::PersonAddressType }, optional: true, nullable: false
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # An address in a person response.
6
+ class PersonAddressResponse < Internal::Types::Model
7
+ field :address_line_1, -> { String }, optional: true, nullable: false, api_name: "addressLine1"
8
+
9
+ field :address_line_2, -> { String }, optional: true, nullable: false, api_name: "addressLine2"
10
+
11
+ field :city_locality, -> { String }, optional: true, nullable: false, api_name: "cityLocality"
12
+
13
+ field :state_province, -> { String }, optional: true, nullable: false, api_name: "stateProvince"
14
+
15
+ field :postal_code, -> { String }, optional: true, nullable: false, api_name: "postalCode"
16
+
17
+ field :country, -> { String }, optional: true, nullable: false
18
+
19
+ field :type, -> { String }, optional: true, nullable: false
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module PersonAddressType
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ LEGAL = "legal"
9
+ BILLING = "billing"
10
+ SHIPPING = "shipping"
11
+ REMITTANCE = "remittance"
12
+ MAILING = "mailing"
13
+ PHYSICAL = "physical"
14
+ RESIDENTIAL = "residential"
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping a person detail.
6
+ class PersonDetailEnvelope < Internal::Types::Model
7
+ field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+
9
+ field :message, -> { String }, optional: false, nullable: true
10
+
11
+ field :trace_id, -> { String }, optional: false, nullable: true, api_name: "traceId"
12
+
13
+ field :data, -> { Payabli::Types::PersonDetailResponse }, optional: false, nullable: true
14
+
15
+ field :warnings, -> { Internal::Types::Array[Payabli::Types::BoardingWarning] }, optional: false, nullable: true
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The full detail of a person. Sensitive fields are masked unless read from the unmasked endpoint.
6
+ class PersonDetailResponse < Internal::Types::Model
7
+ field :person_reference, -> { String }, optional: false, nullable: false, api_name: "personReference"
8
+
9
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
10
+
11
+ field :first_name, -> { String }, optional: false, nullable: true, api_name: "firstName"
12
+
13
+ field :middle_name, -> { String }, optional: true, nullable: false, api_name: "middleName"
14
+
15
+ field :last_name, -> { String }, optional: false, nullable: true, api_name: "lastName"
16
+
17
+ field :primary_email, -> { String }, optional: true, nullable: false, api_name: "primaryEmail"
18
+
19
+ field :secondary_email, -> { String }, optional: true, nullable: false, api_name: "secondaryEmail"
20
+
21
+ field :primary_phone_number, -> { String }, optional: true, nullable: false, api_name: "primaryPhoneNumber"
22
+
23
+ field :secondary_phone_number, -> { String }, optional: true, nullable: false, api_name: "secondaryPhoneNumber"
24
+
25
+ field :date_of_birth, -> { String }, optional: true, nullable: false, api_name: "dateOfBirth"
26
+
27
+ field :ssn, -> { String }, optional: true, nullable: false
28
+
29
+ field :nationality, -> { String }, optional: true, nullable: false
30
+
31
+ field :national_id_number, -> { String }, optional: true, nullable: false, api_name: "nationalIdNumber"
32
+
33
+ field :national_id_issuer, -> { String }, optional: true, nullable: false, api_name: "nationalIdIssuer"
34
+
35
+ field :drivers_license_number, -> { String }, optional: true, nullable: false, api_name: "driversLicenseNumber"
36
+
37
+ field :drivers_license_state, -> { String }, optional: true, nullable: false, api_name: "driversLicenseState"
38
+
39
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
40
+
41
+ field :verification_status, -> { String }, optional: false, nullable: false, api_name: "verificationStatus"
42
+
43
+ field :addresses, -> { Internal::Types::Array[Payabli::Types::PersonAddressResponse] }, optional: true, nullable: false
44
+
45
+ field :identification_documents, -> { Internal::Types::Array[Payabli::Types::IdentificationDocumentResponse] }, optional: true, nullable: false, api_name: "identificationDocuments"
46
+
47
+ field :business_relationship, -> { Payabli::Types::BusinessRelationshipResponse }, optional: true, nullable: false, api_name: "businessRelationship"
48
+
49
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
50
+
51
+ field :last_updated, -> { String }, optional: false, nullable: false, api_name: "lastUpdated"
52
+
53
+ field :links, -> { Payabli::Types::PersonLinks }, optional: false, nullable: false, api_name: "_links"
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Hypermedia links for a person resource.
6
+ class PersonLinks < Internal::Types::Model
7
+ field :self_, -> { String }, optional: true, nullable: false, api_name: "self"
8
+
9
+ field :business, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A person as it appears in a list response.
6
+ class PersonSummaryResponse < Internal::Types::Model
7
+ field :links, -> { Payabli::Types::PersonLinks }, optional: false, nullable: false, api_name: "_links"
8
+
9
+ field :person_reference, -> { String }, optional: false, nullable: false, api_name: "personReference"
10
+
11
+ field :first_name, -> { String }, optional: false, nullable: true, api_name: "firstName"
12
+
13
+ field :last_name, -> { String }, optional: false, nullable: true, api_name: "lastName"
14
+
15
+ field :email, -> { String }, optional: true, nullable: false
16
+
17
+ field :verification_status, -> { String }, optional: false, nullable: false, api_name: "verificationStatus"
18
+
19
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
20
+
21
+ field :last_updated, -> { String }, optional: false, nullable: false, api_name: "lastUpdated"
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module PersonType
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ OWNER = "Owner"
9
+ DIRECTOR = "Director"
10
+ CONTACT = "Contact"
11
+ SIGNER = "Signer"
12
+ AUTHORIZED_USER = "AuthorizedUser"
13
+ EMPLOYEE = "Employee"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping an updated person.
6
+ class PersonUpdatedEnvelope < Internal::Types::Model
7
+ field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+
9
+ field :message, -> { String }, optional: false, nullable: true
10
+
11
+ field :trace_id, -> { String }, optional: false, nullable: true, api_name: "traceId"
12
+
13
+ field :data, -> { Payabli::Types::PersonUpdatedResponse }, optional: false, nullable: true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The reference and updated timestamp after a person update.
6
+ class PersonUpdatedResponse < Internal::Types::Model
7
+ field :person_reference, -> { String }, optional: false, nullable: false, api_name: "personReference"
8
+
9
+ field :last_updated, -> { String }, optional: false, nullable: false, api_name: "lastUpdated"
10
+
11
+ field :links, -> { Payabli::Types::PersonLinks }, optional: false, nullable: false, api_name: "_links"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Expected Pay In processing profile for the business.
6
+ class ProcessingMetrics < Internal::Types::Model
7
+ field :monthly_receivables_volume, -> { Integer }, optional: true, nullable: false, api_name: "monthlyReceivablesVolume"
8
+
9
+ field :average_receivable_size, -> { Integer }, optional: true, nullable: false, api_name: "averageReceivableSize"
10
+
11
+ field :largest_receivable_size, -> { Integer }, optional: true, nullable: false, api_name: "largestReceivableSize"
12
+
13
+ field :inbound_present_percent, -> { Integer }, optional: true, nullable: false, api_name: "inboundPresentPercent"
14
+
15
+ field :inbound_online_percent, -> { Integer }, optional: true, nullable: false, api_name: "inboundOnlinePercent"
16
+
17
+ field :inbound_moto_percent, -> { Integer }, optional: true, nullable: false, api_name: "inboundMotoPercent"
18
+
19
+ field :refund_policy, -> { String }, optional: true, nullable: false, api_name: "refundPolicy"
20
+
21
+ field :advanced_delivery, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "advancedDelivery"
22
+
23
+ field :percent_advanced_delivery, -> { Integer }, optional: true, nullable: false, api_name: "percentAdvancedDelivery"
24
+
25
+ field :advanced_delivery_days, -> { Integer }, optional: true, nullable: false, api_name: "advancedDeliveryDays"
26
+
27
+ field :number_of_transactions, -> { Integer }, optional: true, nullable: false, api_name: "numberOfTransactions"
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A sales or service representative assigned to the application.
6
+ class RepresentativeInput < Internal::Types::Model
7
+ field :user_id, -> { String }, optional: true, nullable: false, api_name: "userId"
8
+
9
+ field :rep_code, -> { Integer }, optional: true, nullable: false, api_name: "repCode"
10
+
11
+ field :first_name, -> { String }, optional: true, nullable: false, api_name: "firstName"
12
+
13
+ field :last_name, -> { String }, optional: true, nullable: false, api_name: "lastName"
14
+
15
+ field :location, -> { String }, optional: true, nullable: false
16
+
17
+ field :team, -> { String }, optional: true, nullable: false
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A sales or service representative assigned to the application.
6
+ class RepresentativeResponse < Internal::Types::Model
7
+ field :user_id, -> { String }, optional: true, nullable: false, api_name: "userId"
8
+
9
+ field :rep_code, -> { Integer }, optional: true, nullable: false, api_name: "repCode"
10
+
11
+ field :first_name, -> { String }, optional: true, nullable: false, api_name: "firstName"
12
+
13
+ field :last_name, -> { String }, optional: true, nullable: false, api_name: "lastName"
14
+
15
+ field :location, -> { String }, optional: true, nullable: false
16
+
17
+ field :team, -> { String }, optional: true, nullable: false
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The services the application requests, grouped by direction. Values are
6
+ # case-insensitive on input and returned in the casing shown.
7
+ class RequestedServices < Internal::Types::Model
8
+ field :money_in, -> { Internal::Types::Array[Payabli::Types::MoneyInService] }, optional: true, nullable: false, api_name: "moneyIn"
9
+
10
+ field :money_out, -> { Internal::Types::Array[Payabli::Types::MoneyOutService] }, optional: true, nullable: false, api_name: "moneyOut"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module SignatureType
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ TYPE = "type"
9
+ DRAW = "draw"
10
+ CHECKBOX = "checkbox"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A single transition in an application's status history.
6
+ class StatusHistoryEntry < Internal::Types::Model
7
+ field :from_status, -> { String }, optional: false, nullable: false, api_name: "fromStatus"
8
+
9
+ field :to_status, -> { String }, optional: false, nullable: false, api_name: "toStatus"
10
+
11
+ field :trigger, -> { String }, optional: false, nullable: false
12
+
13
+ field :actor, -> { String }, optional: false, nullable: true
14
+
15
+ field :reason, -> { String }, optional: false, nullable: true
16
+
17
+ field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: true
18
+
19
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping an application's status history.
6
+ class StatusHistoryEnvelope < Internal::Types::Model
7
+ field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+
9
+ field :message, -> { String }, optional: false, nullable: true
10
+
11
+ field :trace_id, -> { String }, optional: false, nullable: true, api_name: "traceId"
12
+
13
+ field :data, -> { Payabli::Types::StatusHistoryResult }, optional: false, nullable: true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # An application's status history.
6
+ class StatusHistoryResult < Internal::Types::Model
7
+ field :requests_reference, -> { String }, optional: false, nullable: false, api_name: "requestsReference"
8
+
9
+ field :history, -> { Internal::Types::Array[Payabli::Types::StatusHistoryEntry] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The error body when an application can't be submitted.
6
+ class SubmitApplicationError < Internal::Types::Model
7
+ field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+
9
+ field :error, -> { String }, optional: false, nullable: false
10
+
11
+ field :message, -> { String }, optional: false, nullable: false
12
+
13
+ field :trace_id, -> { String }, optional: false, nullable: true, api_name: "traceId"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The signature details for the application. The signer is the person flagged
6
+ # with `isSigner` on the business, and Payabli records the signer's identity
7
+ # from their person record and business link. Keep the signer's details
8
+ # current with the people endpoints before you submit, because you can't
9
+ # correct them here. Provide a signature with `signature` and
10
+ # `signatureType`, or, if the signer signed in your own e-sign tool, send
11
+ # `signedDocumentReference` instead. Signer identity fields such as `name`,
12
+ # `email`, `ssn`, and `address` aren't part of this object, and Payabli
13
+ # ignores them if you send them.
14
+ class SubmitSigner < Internal::Types::Model
15
+ field :person_reference, -> { String }, optional: true, nullable: false, api_name: "personReference"
16
+
17
+ field :signature, -> { String }, optional: true, nullable: false
18
+
19
+ field :signature_type, -> { Payabli::Types::SignatureType }, optional: true, nullable: false, api_name: "signatureType"
20
+
21
+ field :signed_document_reference, -> { String }, optional: true, nullable: false, api_name: "signedDocumentReference"
22
+
23
+ field :acceptance, -> { Internal::Types::Boolean }, optional: true, nullable: false
24
+
25
+ field :pci_attestation, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "pciAttestation"
26
+
27
+ field :reported_signer_ip, -> { String }, optional: true, nullable: false, api_name: "reportedSignerIp"
28
+
29
+ field :additional_data, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "additionalData"
30
+ end
31
+ end
32
+ end