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,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module BusinessDetailResponseLegalStructure
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ LIMITED_LIABILITY_COMPANY = "LimitedLiabilityCompany"
9
+ CORPORATION = "Corporation"
10
+ PARTNERSHIP = "Partnership"
11
+ SOLE_PROPRIETORSHIP = "SoleProprietorship"
12
+ NON_PROFIT = "NonProfit"
13
+ GOVERNMENT = "Government"
14
+ S_CORPORATION = "SCorporation"
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module BusinessDetailResponseOperatingSeasonsItem
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ SPRING = "Spring"
9
+ SUMMER = "Summer"
10
+ FALL = "Fall"
11
+ WINTER = "Winter"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Hypermedia links for a business resource.
6
+ class BusinessLinks < Internal::Types::Model
7
+ field :self_, -> { String }, optional: true, nullable: false, api_name: "self"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A bank account or card attached to a business.
6
+ class BusinessPaymentMethod < Internal::Types::Model
7
+ field :type, -> { String }, optional: true, nullable: false
8
+
9
+ field :account_owner, -> { String }, optional: true, nullable: false, api_name: "accountOwner"
10
+
11
+ field :name, -> { String }, optional: true, nullable: false
12
+
13
+ field :financial_institution, -> { String }, optional: true, nullable: false, api_name: "financialInstitution"
14
+
15
+ field :owner_type, -> { String }, optional: true, nullable: false, api_name: "ownerType"
16
+
17
+ field :account_type, -> { String }, optional: true, nullable: false, api_name: "accountType"
18
+
19
+ field :account_number, -> { String }, optional: true, nullable: false, api_name: "accountNumber"
20
+
21
+ field :routing_number, -> { String }, optional: true, nullable: false, api_name: "routingNumber"
22
+
23
+ field :card_number, -> { String }, optional: true, nullable: false, api_name: "cardNumber"
24
+
25
+ field :expiration_date, -> { String }, optional: true, nullable: false, api_name: "expirationDate"
26
+
27
+ field :cvv, -> { String }, optional: true, nullable: false
28
+
29
+ field :card_type, -> { String }, optional: true, nullable: false, api_name: "cardType"
30
+
31
+ field :usage, -> { Internal::Types::Array[String] }, optional: true, nullable: false
32
+
33
+ field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isDefault"
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping a business-person link.
6
+ class BusinessPersonEnvelope < 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::BusinessPersonLink }, optional: false, nullable: true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A person's link to a business, with the relationship's role, ownership, and relationship-scoped contact details.
6
+ class BusinessPersonLink < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :person_reference, -> { String }, optional: false, nullable: false, api_name: "personReference"
10
+
11
+ field :person_type, -> { String }, optional: false, nullable: false, api_name: "personType"
12
+
13
+ field :ownership_percentage, -> { Integer }, optional: true, nullable: false, api_name: "ownershipPercentage"
14
+
15
+ field :beneficial_owner, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "beneficialOwner"
16
+
17
+ field :is_primary_controller, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isPrimaryController"
18
+
19
+ field :is_signer, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSigner"
20
+
21
+ field :title, -> { String }, optional: false, nullable: true
22
+
23
+ field :primary_email, -> { String }, optional: false, nullable: true, api_name: "primaryEmail"
24
+
25
+ field :secondary_email, -> { String }, optional: false, nullable: true, api_name: "secondaryEmail"
26
+
27
+ field :primary_phone_number, -> { String }, optional: false, nullable: true, api_name: "primaryPhoneNumber"
28
+
29
+ field :secondary_phone_number, -> { String }, optional: false, nullable: true, api_name: "secondaryPhoneNumber"
30
+
31
+ field :billing_address_uuid, -> { String }, optional: true, nullable: false, api_name: "billingAddressUuid"
32
+
33
+ field :mailing_address_uuid, -> { String }, optional: true, nullable: false, api_name: "mailingAddressUuid"
34
+
35
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
36
+
37
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
38
+
39
+ field :links, -> { Payabli::Types::BusinessPersonLinks }, optional: false, nullable: false, api_name: "_links"
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Hypermedia links for a business-person link.
6
+ class BusinessPersonLinks < Internal::Types::Model
7
+ field :self_, -> { String }, optional: true, nullable: false, api_name: "self"
8
+
9
+ field :business, -> { String }, optional: true, nullable: false
10
+
11
+ field :person, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping a business's people links.
6
+ class BusinessPersonListEnvelope < 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, -> { Internal::Types::Array[Payabli::Types::BusinessPersonLink] }, optional: false, nullable: true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Links the person to a business as part of a person-create request. The
6
+ # contact fields here are scoped to the business-person relationship and are
7
+ # distinct from the person's own top-level `primaryEmail`, `primaryPhoneNumber`,
8
+ # and so on.
9
+ class BusinessRelationshipRequest < Internal::Types::Model
10
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
11
+
12
+ field :person_type, -> { Payabli::Types::PersonType }, optional: true, nullable: false, api_name: "personType"
13
+
14
+ field :ownership_percentage, -> { Integer }, optional: true, nullable: false, api_name: "ownershipPercentage"
15
+
16
+ field :is_primary_controller, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPrimaryController"
17
+
18
+ field :is_signer, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSigner"
19
+
20
+ field :title, -> { String }, optional: true, nullable: false
21
+
22
+ field :primary_email, -> { String }, optional: true, nullable: false, api_name: "primaryEmail"
23
+
24
+ field :secondary_email, -> { String }, optional: true, nullable: false, api_name: "secondaryEmail"
25
+
26
+ field :primary_phone_number, -> { String }, optional: true, nullable: false, api_name: "primaryPhoneNumber"
27
+
28
+ field :secondary_phone_number, -> { String }, optional: true, nullable: false, api_name: "secondaryPhoneNumber"
29
+
30
+ field :billing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "billingAddress"
31
+
32
+ field :mailing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "mailingAddress"
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The business-person relationship returned when a person is created with a
6
+ # `businessRelationship`. Its contact fields are scoped to the relationship and
7
+ # are distinct from the person's own top-level contact fields.
8
+ class BusinessRelationshipResponse < Internal::Types::Model
9
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
10
+
11
+ field :person_type, -> { String }, optional: false, nullable: false, api_name: "personType"
12
+
13
+ field :ownership_percentage, -> { Integer }, optional: false, nullable: true, api_name: "ownershipPercentage"
14
+
15
+ field :beneficial_owner, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "beneficialOwner"
16
+
17
+ field :is_primary_controller, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isPrimaryController"
18
+
19
+ field :is_signer, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSigner"
20
+
21
+ field :title, -> { String }, optional: false, nullable: true
22
+
23
+ field :primary_email, -> { String }, optional: false, nullable: true, api_name: "primaryEmail"
24
+
25
+ field :secondary_email, -> { String }, optional: false, nullable: true, api_name: "secondaryEmail"
26
+
27
+ field :primary_phone_number, -> { String }, optional: false, nullable: true, api_name: "primaryPhoneNumber"
28
+
29
+ field :secondary_phone_number, -> { String }, optional: false, nullable: true, api_name: "secondaryPhoneNumber"
30
+
31
+ field :billing_address_uuid, -> { String }, optional: false, nullable: true, api_name: "billingAddressUuid"
32
+
33
+ field :mailing_address_uuid, -> { String }, optional: false, nullable: true, api_name: "mailingAddressUuid"
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A business as it appears in a list response.
6
+ class BusinessSummaryResponse < Internal::Types::Model
7
+ field :business_uuid, -> { String }, optional: false, nullable: false, api_name: "businessUuid"
8
+
9
+ field :legal_name, -> { String }, optional: false, nullable: true, api_name: "legalName"
10
+
11
+ field :business_status, -> { String }, optional: false, nullable: false, api_name: "businessStatus"
12
+
13
+ field :parent_reference, -> { String }, optional: false, nullable: true, api_name: "parentReference"
14
+
15
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
16
+
17
+ field :last_updated, -> { String }, optional: false, nullable: false, api_name: "lastUpdated"
18
+
19
+ field :links, -> { Payabli::Types::BusinessLinks }, optional: false, nullable: false, api_name: "_links"
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Standard boarding response envelope wrapping an updated business.
6
+ class BusinessUpdatedEnvelope < 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::BusinessUpdatedResponse }, 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,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # The reference and updated timestamp after a business update.
6
+ class BusinessUpdatedResponse < Internal::Types::Model
7
+ field :business_uuid, -> { String }, optional: false, nullable: false, api_name: "businessUuid"
8
+
9
+ field :last_updated, -> { String }, optional: false, nullable: false, api_name: "lastUpdated"
10
+
11
+ field :links, -> { Payabli::Types::BusinessLinks }, optional: false, nullable: false, api_name: "_links"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CaseManagementMoneyInService
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
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CaseManagementMoneyOutService
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ ACH = "Ach"
9
+ V_CARD = "VCard"
10
+ MANAGED = "Managed"
11
+ CHECK = "Check"
12
+ RTP = "Rtp"
13
+ WIRE = "Wire"
14
+ GHOST = "Ghost"
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A certification held by the business.
6
+ class CertificationDetail < Internal::Types::Model
7
+ field :certification_type, -> { String }, optional: true, nullable: false, api_name: "certificationType"
8
+
9
+ field :issuer, -> { String }, optional: true, nullable: false
10
+
11
+ field :certificate_number, -> { String }, optional: true, nullable: false, api_name: "certificateNumber"
12
+
13
+ field :issued_date, -> { String }, optional: true, nullable: false, api_name: "issuedDate"
14
+
15
+ field :expiration_date, -> { String }, optional: true, nullable: false, api_name: "expirationDate"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Request body to create a business.
6
+ class CreateBusinessRequest < Internal::Types::Model
7
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
8
+
9
+ field :legal_name, -> { String }, optional: false, nullable: false, api_name: "legalName"
10
+
11
+ field :description, -> { String }, optional: true, nullable: false
12
+
13
+ field :legal_structure, -> { Payabli::Types::CreateBusinessRequestLegalStructure }, optional: true, nullable: false, api_name: "legalStructure"
14
+
15
+ field :stock_symbol, -> { String }, optional: true, nullable: false, api_name: "stockSymbol"
16
+
17
+ field :incorporation_state, -> { String }, optional: true, nullable: false, api_name: "incorporationState"
18
+
19
+ field :tax_id_country, -> { String }, optional: true, nullable: false, api_name: "taxIdCountry"
20
+
21
+ field :established_date, -> { String }, optional: true, nullable: false, api_name: "establishedDate"
22
+
23
+ field :number_of_employees, -> { Integer }, optional: true, nullable: false, api_name: "numberOfEmployees"
24
+
25
+ field :annual_revenue, -> { Integer }, optional: true, nullable: false, api_name: "annualRevenue"
26
+
27
+ field :website, -> { String }, optional: true, nullable: false
28
+
29
+ field :merchant_cat_code, -> { String }, optional: true, nullable: false, api_name: "merchantCatCode"
30
+
31
+ field :timezone, -> { String }, optional: true, nullable: false
32
+
33
+ field :phone, -> { Internal::Types::Array[String] }, optional: true, nullable: false
34
+
35
+ field :emails, -> { Internal::Types::Array[String] }, optional: true, nullable: false
36
+
37
+ field :operating_seasons, -> { Internal::Types::Array[Payabli::Types::CreateBusinessRequestOperatingSeasonsItem] }, optional: true, nullable: false, api_name: "operatingSeasons"
38
+
39
+ field :address_details, -> { Internal::Types::Array[Payabli::Types::BusinessAddressCreate] }, optional: true, nullable: false, api_name: "addressDetails"
40
+
41
+ field :payment_methods, -> { Internal::Types::Array[Payabli::Types::BusinessPaymentMethod] }, optional: true, nullable: false, api_name: "paymentMethods"
42
+
43
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
44
+
45
+ field :is_foreign_owned, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isForeignOwned"
46
+
47
+ field :is_tax_exempt, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isTaxExempt"
48
+
49
+ field :tax_exempt_classification, -> { String }, optional: true, nullable: false, api_name: "taxExemptClassification"
50
+
51
+ field :processing_metrics, -> { Payabli::Types::ProcessingMetrics }, optional: true, nullable: false, api_name: "processingMetrics"
52
+
53
+ field :payout_metrics, -> { Payabli::Types::PayoutMetrics }, optional: true, nullable: false, api_name: "payoutMetrics"
54
+
55
+ field :license, -> { String }, optional: true, nullable: false
56
+
57
+ field :license_state, -> { String }, optional: true, nullable: false, api_name: "licenseState"
58
+
59
+ field :tax_reference, -> { String }, optional: true, nullable: false, api_name: "taxReference"
60
+
61
+ field :parent_reference, -> { String }, optional: true, nullable: false, api_name: "parentReference"
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CreateBusinessRequestLegalStructure
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ LIMITED_LIABILITY_COMPANY = "limited-liability-company"
9
+ LLC = "llc"
10
+ CORPORATION = "corporation"
11
+ PARTNERSHIP = "partnership"
12
+ SOLE_PROPRIETORSHIP = "sole-proprietorship"
13
+ NON_PROFIT = "non-profit"
14
+ GOVERNMENT = "government"
15
+ S_CORP = "s-corp"
16
+ S_CORPORATION = "s-corporation"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CreateBusinessRequestOperatingSeasonsItem
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ SPRING = "Spring"
9
+ SUMMER = "Summer"
10
+ FALL = "Fall"
11
+ WINTER = "Winter"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A single payment method to create.
6
+ class CreatePaymentMethodRequest < Internal::Types::Model
7
+ field :type, -> { Payabli::Types::CreatePaymentMethodRequestType }, optional: false, nullable: false
8
+
9
+ field :account_owner, -> { String }, optional: false, nullable: false, api_name: "accountOwner"
10
+
11
+ field :owner_type, -> { Payabli::Types::PaymentMethodOwnerType }, optional: false, nullable: false, api_name: "ownerType"
12
+
13
+ field :nickname, -> { String }, optional: true, nullable: false
14
+
15
+ field :financial_institution, -> { String }, optional: true, nullable: false, api_name: "financialInstitution"
16
+
17
+ field :account_type, -> { String }, optional: false, nullable: false, api_name: "accountType"
18
+
19
+ field :account_number, -> { String }, optional: false, nullable: false, api_name: "accountNumber"
20
+
21
+ field :routing_number, -> { String }, optional: false, nullable: false, api_name: "routingNumber"
22
+
23
+ field :usage, -> { Internal::Types::Array[Payabli::Types::PaymentMethodUsage] }, optional: false, nullable: false
24
+
25
+ field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isDefault"
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ module CreatePaymentMethodRequestType
6
+ extend Payabli::Internal::Types::Enum
7
+
8
+ BANK_ACCOUNT = "bank_account"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # All fields accepted when creating a paypoint. Provide exactly one of `businessReference` or `business`.
6
+ class CreatePaypointAllFields < 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
+
27
+ field :business_reference, -> { String }, optional: true, nullable: false, api_name: "businessReference"
28
+
29
+ field :business, -> { Payabli::Types::CreateBusinessRequest }, optional: true, nullable: false
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Create a paypoint under an existing business. Provide `businessReference` plus `doingBusinessAs`; all other fields
6
+ # are optional.
7
+ class CreatePaypointWithBusinessReference < Internal::Types::Model
8
+ field :parent_paypoint_reference, -> { String }, optional: true, nullable: false, api_name: "parentPaypointReference"
9
+
10
+ field :paypoint_type, -> { String }, optional: true, nullable: false, api_name: "paypointType"
11
+
12
+ field :doing_business_as, -> { String }, optional: false, nullable: false, api_name: "doingBusinessAs"
13
+
14
+ field :description, -> { String }, optional: true, nullable: false
15
+
16
+ field :website, -> { String }, optional: true, nullable: false
17
+
18
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
19
+
20
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
21
+
22
+ field :timezone, -> { String }, optional: true, nullable: false
23
+
24
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
25
+
26
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
27
+
28
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Create a paypoint and its backing business together. Provide `business` plus `doingBusinessAs`; all other fields
6
+ # are optional.
7
+ class CreatePaypointWithInlineBusiness < Internal::Types::Model
8
+ field :parent_paypoint_reference, -> { String }, optional: true, nullable: false, api_name: "parentPaypointReference"
9
+
10
+ field :paypoint_type, -> { String }, optional: true, nullable: false, api_name: "paypointType"
11
+
12
+ field :doing_business_as, -> { String }, optional: false, nullable: false, api_name: "doingBusinessAs"
13
+
14
+ field :description, -> { String }, optional: true, nullable: false
15
+
16
+ field :website, -> { String }, optional: true, nullable: false
17
+
18
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
19
+
20
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
21
+
22
+ field :timezone, -> { String }, optional: true, nullable: false
23
+
24
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
25
+
26
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
27
+
28
+ field :business, -> { Payabli::Types::CreateBusinessRequest }, optional: false, nullable: false
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # A document the application asks for. A requirement comes from the application's template or from a Payabli
6
+ # business rule. For example, a business with an annual revenue of $1,000,000 or more needs bank statements.
7
+ #
8
+ # A person requirement appears once for each owner of the business, with that owner's `personReference`.
9
+ class DocumentRequirement < Internal::Types::Model
10
+ field :field_path, -> { String }, optional: false, nullable: false, api_name: "fieldPath"
11
+
12
+ field :label, -> { String }, optional: false, nullable: false
13
+
14
+ field :hint, -> { String }, optional: true, nullable: false
15
+
16
+ field :source, -> { Payabli::Types::DocumentRequirementSource }, optional: false, nullable: false
17
+
18
+ field :subject_types, -> { Internal::Types::Array[Payabli::Types::DocumentSubjectType] }, optional: false, nullable: false, api_name: "subjectTypes"
19
+
20
+ field :person_reference, -> { String }, optional: true, nullable: false, api_name: "personReference"
21
+
22
+ field :required, -> { Internal::Types::Boolean }, optional: false, nullable: false
23
+
24
+ field :max_uploads, -> { Integer }, optional: false, nullable: false, api_name: "maxUploads"
25
+
26
+ field :allowed_formats, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "allowedFormats"
27
+
28
+ field :uploaded_count, -> { Integer }, optional: false, nullable: false, api_name: "uploadedCount"
29
+ end
30
+ end
31
+ 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 document requirements.
6
+ class DocumentRequirementListEnvelope < 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, -> { Internal::Types::Array[Payabli::Types::DocumentRequirement] }, optional: false, nullable: false
14
+ end
15
+ end
16
+ end