payabli 3.0.19 → 3.0.21

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 (185) 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 +36 -1
  24. data/lib/payabli/export/client.rb +2 -3
  25. data/lib/payabli/organization/client.rb +5 -5
  26. data/lib/payabli/organizations/client.rb +214 -0
  27. data/lib/payabli/organizations/types/create_organization_organizations_request.rb +17 -0
  28. data/lib/payabli/organizations/types/list_organizations_organizations_request.rb +19 -0
  29. data/lib/payabli/organizations/types/update_organization_request.rb +27 -0
  30. data/lib/payabli/payment_methods/client.rb +254 -0
  31. data/lib/payabli/payment_methods/types/create_payment_methods_request.rb +11 -0
  32. data/lib/payabli/payment_methods/types/list_payment_methods_payment_methods_request.rb +25 -0
  33. data/lib/payabli/payment_methods/types/update_payment_method_request.rb +23 -0
  34. data/lib/payabli/paypoints/client.rb +204 -0
  35. data/lib/payabli/paypoints/types/create_paypoint_paypoints_request.rb +17 -0
  36. data/lib/payabli/paypoints/types/list_paypoints_paypoints_request.rb +19 -0
  37. data/lib/payabli/paypoints/types/update_paypoint_request.rb +29 -0
  38. data/lib/payabli/people/client.rb +428 -0
  39. data/lib/payabli/people/types/create_person_request.rb +47 -0
  40. data/lib/payabli/people/types/list_people_people_request.rb +23 -0
  41. data/lib/payabli/people/types/search_people_request.rb +15 -0
  42. data/lib/payabli/people/types/search_people_unmasked_request.rb +15 -0
  43. data/lib/payabli/people/types/update_person_request.rb +41 -0
  44. data/lib/payabli/templates/client.rb +25 -0
  45. data/lib/payabli/types/address_type.rb +16 -0
  46. data/lib/payabli/types/application.rb +46 -0
  47. data/lib/payabli/types/application_common.rb +42 -0
  48. data/lib/payabli/types/application_document.rb +26 -0
  49. data/lib/payabli/types/application_document_envelope.rb +16 -0
  50. data/lib/payabli/types/application_document_error.rb +16 -0
  51. data/lib/payabli/types/application_document_list_envelope.rb +16 -0
  52. data/lib/payabli/types/application_envelope.rb +16 -0
  53. data/lib/payabli/types/application_links.rb +12 -0
  54. data/lib/payabli/types/application_list_item.rb +52 -0
  55. data/lib/payabli/types/bank_account_services.rb +2 -2
  56. data/lib/payabli/types/boarding_warning.rb +12 -0
  57. data/lib/payabli/types/business_address.rb +28 -0
  58. data/lib/payabli/types/business_address_create.rb +28 -0
  59. data/lib/payabli/types/business_address_deleted_envelope.rb +16 -0
  60. data/lib/payabli/types/business_address_deleted_response.rb +16 -0
  61. data/lib/payabli/types/business_address_envelope.rb +16 -0
  62. data/lib/payabli/types/business_address_links.rb +12 -0
  63. data/lib/payabli/types/business_address_list_envelope.rb +16 -0
  64. data/lib/payabli/types/business_address_location.rb +15 -0
  65. data/lib/payabli/types/business_address_response.rb +32 -0
  66. data/lib/payabli/types/business_created_envelope.rb +18 -0
  67. data/lib/payabli/types/business_created_response.rb +16 -0
  68. data/lib/payabli/types/business_deactivated_envelope.rb +18 -0
  69. data/lib/payabli/types/business_deactivated_response.rb +18 -0
  70. data/lib/payabli/types/business_detail_envelope.rb +18 -0
  71. data/lib/payabli/types/business_detail_response.rb +76 -0
  72. data/lib/payabli/types/business_detail_response_legal_structure.rb +17 -0
  73. data/lib/payabli/types/business_detail_response_operating_seasons_item.rb +14 -0
  74. data/lib/payabli/types/business_links.rb +10 -0
  75. data/lib/payabli/types/business_payment_method.rb +36 -0
  76. data/lib/payabli/types/business_person_envelope.rb +16 -0
  77. data/lib/payabli/types/business_person_link.rb +42 -0
  78. data/lib/payabli/types/business_person_links.rb +14 -0
  79. data/lib/payabli/types/business_person_list_envelope.rb +16 -0
  80. data/lib/payabli/types/business_relationship_request.rb +35 -0
  81. data/lib/payabli/types/business_relationship_response.rb +36 -0
  82. data/lib/payabli/types/business_summary_response.rb +22 -0
  83. data/lib/payabli/types/business_updated_envelope.rb +18 -0
  84. data/lib/payabli/types/business_updated_response.rb +14 -0
  85. data/lib/payabli/types/case_management_money_in_service.rb +17 -0
  86. data/lib/payabli/types/case_management_money_out_service.rb +17 -0
  87. data/lib/payabli/types/certification_detail.rb +18 -0
  88. data/lib/payabli/types/create_business_request.rb +64 -0
  89. data/lib/payabli/types/create_business_request_legal_structure.rb +19 -0
  90. data/lib/payabli/types/create_business_request_operating_seasons_item.rb +14 -0
  91. data/lib/payabli/types/create_organization_all_fields.rb +30 -0
  92. data/lib/payabli/types/create_organization_with_business_reference.rb +29 -0
  93. data/lib/payabli/types/create_organization_with_inline_business.rb +29 -0
  94. data/lib/payabli/types/create_payment_method_request.rb +28 -0
  95. data/lib/payabli/types/create_payment_method_request_type.rb +11 -0
  96. data/lib/payabli/types/create_paypoint_all_fields.rb +32 -0
  97. data/lib/payabli/types/create_paypoint_with_business_reference.rb +31 -0
  98. data/lib/payabli/types/create_paypoint_with_inline_business.rb +31 -0
  99. data/lib/payabli/types/document_requirement.rb +31 -0
  100. data/lib/payabli/types/document_requirement_list_envelope.rb +16 -0
  101. data/lib/payabli/types/document_requirement_source.rb +12 -0
  102. data/lib/payabli/types/document_subject_type.rb +13 -0
  103. data/lib/payabli/types/enablement_envelope.rb +16 -0
  104. data/lib/payabli/types/enablement_result.rb +24 -0
  105. data/lib/payabli/types/enablement_service.rb +18 -0
  106. data/lib/payabli/types/get_basic_organization_response.rb +15 -0
  107. data/lib/payabli/types/identification_document_request.rb +18 -0
  108. data/lib/payabli/types/identification_document_response.rb +18 -0
  109. data/lib/payabli/types/instrument_response.rb +22 -0
  110. data/lib/payabli/types/list_applications_envelope.rb +16 -0
  111. data/lib/payabli/types/list_applications_response.rb +16 -0
  112. data/lib/payabli/types/list_businesses_envelope.rb +18 -0
  113. data/lib/payabli/types/list_businesses_response.rb +12 -0
  114. data/lib/payabli/types/list_payment_methods_envelope.rb +16 -0
  115. data/lib/payabli/types/list_payment_methods_response.rb +12 -0
  116. data/lib/payabli/types/list_paypoints_envelope.rb +16 -0
  117. data/lib/payabli/types/list_paypoints_response.rb +16 -0
  118. data/lib/payabli/types/list_people_envelope.rb +16 -0
  119. data/lib/payabli/types/list_people_response.rb +12 -0
  120. data/lib/payabli/types/list_templates_response.rb +12 -0
  121. data/lib/payabli/types/methods_list_out.rb +4 -0
  122. data/lib/payabli/types/organization_query_record.rb +23 -21
  123. data/lib/payabli/types/organization_writable_fields.rb +28 -0
  124. data/lib/payabli/types/pagination.rb +20 -0
  125. data/lib/payabli/types/payabli_credentials_pascal.rb +2 -2
  126. data/lib/payabli/types/payment_method_deactivated_envelope.rb +16 -0
  127. data/lib/payabli/types/payment_method_detail.rb +38 -0
  128. data/lib/payabli/types/payment_method_detail_envelope.rb +16 -0
  129. data/lib/payabli/types/payment_method_links.rb +12 -0
  130. data/lib/payabli/types/payment_method_owner_type.rb +12 -0
  131. data/lib/payabli/types/payment_method_result.rb +40 -0
  132. data/lib/payabli/types/payment_method_updated_envelope.rb +16 -0
  133. data/lib/payabli/types/payment_method_usage.rb +16 -0
  134. data/lib/payabli/types/payment_methods_created_envelope.rb +16 -0
  135. data/lib/payabli/types/payout_metrics.rb +16 -0
  136. data/lib/payabli/types/paypoint_created_envelope.rb +16 -0
  137. data/lib/payabli/types/paypoint_created_response.rb +22 -0
  138. data/lib/payabli/types/paypoint_detail_envelope.rb +16 -0
  139. data/lib/payabli/types/paypoint_detail_response.rb +40 -0
  140. data/lib/payabli/types/paypoint_links.rb +12 -0
  141. data/lib/payabli/types/paypoint_summary_response.rb +40 -0
  142. data/lib/payabli/types/paypoint_updated_envelope.rb +16 -0
  143. data/lib/payabli/types/paypoint_updated_response.rb +14 -0
  144. data/lib/payabli/types/paypoint_writable_fields.rb +28 -0
  145. data/lib/payabli/types/people_search_envelope.rb +16 -0
  146. data/lib/payabli/types/people_search_request.rb +12 -0
  147. data/lib/payabli/types/people_search_result_response.rb +38 -0
  148. data/lib/payabli/types/people_search_results_response.rb +14 -0
  149. data/lib/payabli/types/person_address_request.rb +22 -0
  150. data/lib/payabli/types/person_address_response.rb +22 -0
  151. data/lib/payabli/types/person_address_type.rb +17 -0
  152. data/lib/payabli/types/person_detail_envelope.rb +18 -0
  153. data/lib/payabli/types/person_detail_response.rb +56 -0
  154. data/lib/payabli/types/person_links.rb +12 -0
  155. data/lib/payabli/types/person_summary_response.rb +24 -0
  156. data/lib/payabli/types/person_type.rb +16 -0
  157. data/lib/payabli/types/person_updated_envelope.rb +16 -0
  158. data/lib/payabli/types/person_updated_response.rb +14 -0
  159. data/lib/payabli/types/processing_metrics.rb +30 -0
  160. data/lib/payabli/types/representative_input.rb +20 -0
  161. data/lib/payabli/types/representative_response.rb +20 -0
  162. data/lib/payabli/types/requested_services.rb +13 -0
  163. data/lib/payabli/types/signature_type.rb +13 -0
  164. data/lib/payabli/types/status_history_entry.rb +22 -0
  165. data/lib/payabli/types/status_history_envelope.rb +16 -0
  166. data/lib/payabli/types/status_history_result.rb +12 -0
  167. data/lib/payabli/types/submit_application_error.rb +16 -0
  168. data/lib/payabli/types/submit_signer.rb +32 -0
  169. data/lib/payabli/types/template.rb +38 -0
  170. data/lib/payabli/types/template_status.rb +12 -0
  171. data/lib/payabli/types/template_version.rb +79 -0
  172. data/lib/payabli/types/templates_summary.rb +14 -0
  173. data/lib/payabli/types/transition_result.rb +14 -0
  174. data/lib/payabli/types/transition_result_envelope.rb +16 -0
  175. data/lib/payabli/types/underwriting_mode.rb +13 -0
  176. data/lib/payabli/types/validation_missing_field.rb +14 -0
  177. data/lib/payabli/types/validation_result.rb +14 -0
  178. data/lib/payabli/types/validation_result_envelope.rb +16 -0
  179. data/lib/payabli/types/validation_section.rb +12 -0
  180. data/lib/payabli/types/validation_sections.rb +16 -0
  181. data/lib/payabli/version.rb +1 -1
  182. data/lib/payabli.rb +173 -4
  183. data/reference.md +5643 -221
  184. data/wiremock/wiremock-mappings.json +1727 -8
  185. metadata +171 -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,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # All fields accepted when creating an organization. Provide exactly one of `business` or `businessReference`.
6
+ class CreateOrganizationAllFields < Internal::Types::Model
7
+ field :parent_paypoint_reference, -> { String }, optional: true, nullable: false, api_name: "parentPaypointReference"
8
+
9
+ field :doing_business_as, -> { String }, optional: false, nullable: false, api_name: "doingBusinessAs"
10
+
11
+ field :description, -> { String }, optional: true, nullable: false
12
+
13
+ field :website, -> { String }, optional: true, nullable: false
14
+
15
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
16
+
17
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
18
+
19
+ field :timezone, -> { String }, optional: true, nullable: false
20
+
21
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
22
+
23
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
24
+
25
+ field :business, -> { Payabli::Types::CreateBusinessRequest }, optional: true, nullable: false
26
+
27
+ field :business_reference, -> { String }, optional: true, nullable: false, api_name: "businessReference"
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Create an organization under an existing business. Provide `businessReference` plus `doingBusinessAs`. All other
6
+ # fields are optional.
7
+ class CreateOrganizationWithBusinessReference < Internal::Types::Model
8
+ field :parent_paypoint_reference, -> { String }, optional: true, nullable: false, api_name: "parentPaypointReference"
9
+
10
+ field :doing_business_as, -> { String }, optional: false, nullable: false, api_name: "doingBusinessAs"
11
+
12
+ field :description, -> { String }, optional: true, nullable: false
13
+
14
+ field :website, -> { String }, optional: true, nullable: false
15
+
16
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
17
+
18
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
19
+
20
+ field :timezone, -> { String }, optional: true, nullable: false
21
+
22
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
23
+
24
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
25
+
26
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Types
5
+ # Create an organization and its business together. Provide `business` plus `doingBusinessAs`. All other fields are
6
+ # optional.
7
+ class CreateOrganizationWithInlineBusiness < Internal::Types::Model
8
+ field :parent_paypoint_reference, -> { String }, optional: true, nullable: false, api_name: "parentPaypointReference"
9
+
10
+ field :doing_business_as, -> { String }, optional: false, nullable: false, api_name: "doingBusinessAs"
11
+
12
+ field :description, -> { String }, optional: true, nullable: false
13
+
14
+ field :website, -> { String }, optional: true, nullable: false
15
+
16
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
17
+
18
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
19
+
20
+ field :timezone, -> { String }, optional: true, nullable: false
21
+
22
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
23
+
24
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
25
+
26
+ field :business, -> { Payabli::Types::CreateBusinessRequest }, optional: false, nullable: false
27
+ end
28
+ end
29
+ 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