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,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class CreateBusinessAddressRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :type, -> { Payabli::Types::AddressType }, optional: false, nullable: false
10
+
11
+ field :location, -> { Payabli::Types::BusinessAddressLocation }, optional: true, nullable: false
12
+
13
+ field :address_line_1, -> { String }, optional: false, nullable: false, api_name: "addressLine1"
14
+
15
+ field :address_line_2, -> { String }, optional: true, nullable: false, api_name: "addressLine2"
16
+
17
+ field :city_locality, -> { String }, optional: false, nullable: false, api_name: "cityLocality"
18
+
19
+ field :state_province, -> { String }, optional: false, nullable: false, api_name: "stateProvince"
20
+
21
+ field :postal_code, -> { String }, optional: false, nullable: false, api_name: "postalCode"
22
+
23
+ field :country, -> { String }, optional: false, nullable: false
24
+
25
+ field :floor, -> { String }, optional: true, nullable: false
26
+
27
+ field :suite_apart_number, -> { String }, optional: true, nullable: false, api_name: "suiteApartNumber"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class DeactivateBusinessRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :reason, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class LinkBusinessPersonRequest < 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, -> { Payabli::Types::PersonType }, optional: true, nullable: false, api_name: "personType"
12
+
13
+ field :ownership_percentage, -> { Integer }, optional: true, nullable: false, api_name: "ownershipPercentage"
14
+
15
+ field :is_primary_controller, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPrimaryController"
16
+
17
+ field :is_signer, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSigner"
18
+
19
+ field :title, -> { String }, optional: true, nullable: false
20
+
21
+ field :primary_email, -> { String }, optional: true, nullable: false, api_name: "primaryEmail"
22
+
23
+ field :secondary_email, -> { String }, optional: true, nullable: false, api_name: "secondaryEmail"
24
+
25
+ field :primary_phone_number, -> { String }, optional: true, nullable: false, api_name: "primaryPhoneNumber"
26
+
27
+ field :secondary_phone_number, -> { String }, optional: true, nullable: false, api_name: "secondaryPhoneNumber"
28
+
29
+ field :billing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "billingAddress"
30
+
31
+ field :mailing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "mailingAddress"
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class ListBusinessesBusinessesRequest < Internal::Types::Model
7
+ field :status, -> { String }, optional: true, nullable: false
8
+
9
+ field :name, -> { String }, optional: true, nullable: false
10
+
11
+ field :merchant_cat_code, -> { String }, optional: true, nullable: false, api_name: "merchantCatCode"
12
+
13
+ field :legal_structure, -> { String }, optional: true, nullable: false, api_name: "legalStructure"
14
+
15
+ field :limit, -> { Integer }, optional: true, nullable: false
16
+
17
+ field :page, -> { Integer }, optional: true, nullable: false
18
+
19
+ field :sort_by, -> { String }, optional: true, nullable: false, api_name: "sortBy"
20
+
21
+ field :sort_order, -> { String }, optional: true, nullable: false, api_name: "sortOrder"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class UpdateBusinessAddressRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :business_address_reference, -> { String }, optional: false, nullable: false, api_name: "businessAddressReference"
10
+
11
+ field :type, -> { Payabli::Types::AddressType }, optional: true, nullable: false
12
+
13
+ field :location, -> { Payabli::Types::BusinessAddressLocation }, optional: true, nullable: false
14
+
15
+ field :address_line_1, -> { String }, optional: true, nullable: false, api_name: "addressLine1"
16
+
17
+ field :address_line_2, -> { String }, optional: true, nullable: false, api_name: "addressLine2"
18
+
19
+ field :city_locality, -> { String }, optional: true, nullable: false, api_name: "cityLocality"
20
+
21
+ field :state_province, -> { String }, optional: true, nullable: false, api_name: "stateProvince"
22
+
23
+ field :postal_code, -> { String }, optional: true, nullable: false, api_name: "postalCode"
24
+
25
+ field :country, -> { String }, optional: true, nullable: false
26
+
27
+ field :floor, -> { String }, optional: true, nullable: false
28
+
29
+ field :suite_apart_number, -> { String }, optional: true, nullable: false, api_name: "suiteApartNumber"
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class UpdateBusinessPersonRequest < 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, -> { Payabli::Types::PersonType }, optional: true, nullable: false, api_name: "personType"
12
+
13
+ field :ownership_percentage, -> { Integer }, optional: true, nullable: false, api_name: "ownershipPercentage"
14
+
15
+ field :is_primary_controller, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPrimaryController"
16
+
17
+ field :is_signer, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSigner"
18
+
19
+ field :title, -> { String }, optional: true, nullable: false
20
+
21
+ field :primary_email, -> { String }, optional: true, nullable: false, api_name: "primaryEmail"
22
+
23
+ field :secondary_email, -> { String }, optional: true, nullable: false, api_name: "secondaryEmail"
24
+
25
+ field :primary_phone_number, -> { String }, optional: true, nullable: false, api_name: "primaryPhoneNumber"
26
+
27
+ field :secondary_phone_number, -> { String }, optional: true, nullable: false, api_name: "secondaryPhoneNumber"
28
+
29
+ field :billing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "billingAddress"
30
+
31
+ field :mailing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "mailingAddress"
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class UpdateBusinessRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
10
+
11
+ field :legal_name, -> { String }, optional: true, nullable: false, api_name: "legalName"
12
+
13
+ field :description, -> { String }, optional: true, nullable: false
14
+
15
+ field :legal_structure, -> { Payabli::Businesses::Types::UpdateBusinessRequestLegalStructure }, optional: true, nullable: false, api_name: "legalStructure"
16
+
17
+ field :stock_symbol, -> { String }, optional: true, nullable: false, api_name: "stockSymbol"
18
+
19
+ field :incorporation_state, -> { String }, optional: true, nullable: false, api_name: "incorporationState"
20
+
21
+ field :tax_id_country, -> { String }, optional: true, nullable: false, api_name: "taxIdCountry"
22
+
23
+ field :established_date, -> { String }, optional: true, nullable: false, api_name: "establishedDate"
24
+
25
+ field :number_of_employees, -> { Integer }, optional: true, nullable: false, api_name: "numberOfEmployees"
26
+
27
+ field :annual_revenue, -> { Integer }, optional: true, nullable: false, api_name: "annualRevenue"
28
+
29
+ field :website, -> { String }, optional: true, nullable: false
30
+
31
+ field :merchant_cat_code, -> { String }, optional: true, nullable: false, api_name: "merchantCatCode"
32
+
33
+ field :timezone, -> { String }, optional: true, nullable: false
34
+
35
+ field :phone, -> { Internal::Types::Array[String] }, optional: true, nullable: false
36
+
37
+ field :emails, -> { Internal::Types::Array[String] }, optional: true, nullable: false
38
+
39
+ field :operating_seasons, -> { Internal::Types::Array[Payabli::Businesses::Types::UpdateBusinessRequestOperatingSeasonsItem] }, optional: true, nullable: false, api_name: "operatingSeasons"
40
+
41
+ field :address_details, -> { Internal::Types::Array[Payabli::Types::BusinessAddress] }, optional: true, nullable: false, api_name: "addressDetails"
42
+
43
+ field :payment_methods, -> { Internal::Types::Array[Payabli::Types::BusinessPaymentMethod] }, optional: true, nullable: false, api_name: "paymentMethods"
44
+
45
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
46
+
47
+ field :is_foreign_owned, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isForeignOwned"
48
+
49
+ field :is_tax_exempt, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isTaxExempt"
50
+
51
+ field :tax_exempt_classification, -> { String }, optional: true, nullable: false, api_name: "taxExemptClassification"
52
+
53
+ field :processing_metrics, -> { Payabli::Types::ProcessingMetrics }, optional: true, nullable: false, api_name: "processingMetrics"
54
+
55
+ field :payout_metrics, -> { Payabli::Types::PayoutMetrics }, optional: true, nullable: false, api_name: "payoutMetrics"
56
+
57
+ field :license, -> { String }, optional: true, nullable: false
58
+
59
+ field :license_state, -> { String }, optional: true, nullable: false, api_name: "licenseState"
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ module UpdateBusinessRequestLegalStructure
7
+ extend Payabli::Internal::Types::Enum
8
+
9
+ LIMITED_LIABILITY_COMPANY = "limited-liability-company"
10
+ LLC = "llc"
11
+ CORPORATION = "corporation"
12
+ PARTNERSHIP = "partnership"
13
+ SOLE_PROPRIETORSHIP = "sole-proprietorship"
14
+ NON_PROFIT = "non-profit"
15
+ GOVERNMENT = "government"
16
+ S_CORP = "s-corp"
17
+ S_CORPORATION = "s-corporation"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ module UpdateBusinessRequestOperatingSeasonsItem
7
+ extend Payabli::Internal::Types::Enum
8
+
9
+ SPRING = "Spring"
10
+ SUMMER = "Summer"
11
+ FALL = "Fall"
12
+ WINTER = "Winter"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -32,7 +32,7 @@ module Payabli
32
32
  @raw_client = Payabli::Internal::Http::RawClient.new(
33
33
  base_url: base_url || Payabli::Environment::SANDBOX,
34
34
  headers: {
35
- "User-Agent" => "payabli/3.0.19",
35
+ "User-Agent" => "payabli/3.0.20",
36
36
  "X-Fern-Language" => "Ruby"
37
37
  },
38
38
  auth_provider: Payabli::Internal::RoutingAuthProvider.new(
@@ -143,6 +143,36 @@ module Payabli
143
143
  @line_item ||= Payabli::LineItem::Client.new(client: @raw_client)
144
144
  end
145
145
 
146
+ # @return [Payabli::Businesses::Client]
147
+ def businesses
148
+ @businesses ||= Payabli::Businesses::Client.new(client: @raw_client)
149
+ end
150
+
151
+ # @return [Payabli::People::Client]
152
+ def people
153
+ @people ||= Payabli::People::Client.new(client: @raw_client)
154
+ end
155
+
156
+ # @return [Payabli::Paypoints::Client]
157
+ def paypoints
158
+ @paypoints ||= Payabli::Paypoints::Client.new(client: @raw_client)
159
+ end
160
+
161
+ # @return [Payabli::PaymentMethods::Client]
162
+ def payment_methods
163
+ @payment_methods ||= Payabli::PaymentMethods::Client.new(client: @raw_client)
164
+ end
165
+
166
+ # @return [Payabli::BoardingTemplates::Client]
167
+ def boarding_templates
168
+ @boarding_templates ||= Payabli::BoardingTemplates::Client.new(client: @raw_client)
169
+ end
170
+
171
+ # @return [Payabli::Applications::Client]
172
+ def applications
173
+ @applications ||= Payabli::Applications::Client.new(client: @raw_client)
174
+ end
175
+
146
176
  # @return [Payabli::Boarding::Client]
147
177
  def boarding
148
178
  @boarding ||= Payabli::Boarding::Client.new(client: @raw_client)
@@ -11,9 +11,8 @@ module Payabli
11
11
  end
12
12
 
13
13
  # <Warning>
14
- # This endpoint is deprecated. To export this data, use [List all apps for
15
- # org](/developers/api-reference/boarding/get-list-of-applications-for-an-organization) with the `exportFormat`
16
- # query parameter instead.
14
+ # Legacy boarding is deprecated and will be sunset in Q2 2027. Use [List
15
+ # applications](/developers/api-reference/applications/list-applications) instead. It doesn't export files.
17
16
  # </Warning>
18
17
  #
19
18
  # Export a list of boarding applications for an organization. Use filters to limit results.
@@ -0,0 +1,254 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module PaymentMethods
5
+ class Client
6
+ # @param client [Payabli::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Lists payment methods with optional filtering and pagination.
14
+ #
15
+ # @param request_options [Hash]
16
+ # @param params [Hash]
17
+ # @option request_options [String] :base_url
18
+ # @option request_options [Hash{String => Object}] :additional_headers
19
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
20
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
21
+ # @option request_options [Integer] :timeout_in_seconds
22
+ # @option params [String, nil] :account_owner
23
+ # @option params [Payabli::Types::PaymentMethodOwnerType, nil] :owner_type
24
+ # @option params [String, nil] :status
25
+ # @option params [String, nil] :type
26
+ # @option params [Integer, nil] :limit
27
+ # @option params [Integer, nil] :page
28
+ # @option params [String, nil] :sort_by
29
+ # @option params [String, nil] :sort_order
30
+ #
31
+ # @example
32
+ # client.payment_methods.list_payment_methods(
33
+ # limit: 1,
34
+ # page: 1
35
+ # )
36
+ #
37
+ # @return [Payabli::Types::ListPaymentMethodsEnvelope]
38
+ def list_payment_methods(request_options: {}, **params)
39
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
40
+ query_params = {}
41
+ query_params["accountOwner"] = params[:account_owner] if params.key?(:account_owner)
42
+ query_params["ownerType"] = params[:owner_type] if params.key?(:owner_type)
43
+ query_params["status"] = params[:status] if params.key?(:status)
44
+ query_params["type"] = params[:type] if params.key?(:type)
45
+ query_params["limit"] = params[:limit] if params.key?(:limit)
46
+ query_params["page"] = params[:page] if params.key?(:page)
47
+ query_params["sortBy"] = params[:sort_by] if params.key?(:sort_by)
48
+ query_params["sortOrder"] = params[:sort_order] if params.key?(:sort_order)
49
+
50
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
51
+ request = Payabli::Internal::JSON::Request.new(
52
+ base_url: request_options[:base_url],
53
+ method: "GET",
54
+ path: "v2/payment-methods",
55
+ headers: headers,
56
+ query: query_params,
57
+ request_options: request_options
58
+ )
59
+ begin
60
+ response = @client.send(request)
61
+ rescue Net::HTTPRequestTimeout
62
+ raise Payabli::Errors::TimeoutError
63
+ end
64
+ code = response.code.to_i
65
+ if code.between?(200, 299)
66
+ Payabli::Types::ListPaymentMethodsEnvelope.load(response.body)
67
+ else
68
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
69
+ raise error_class.new(response.body, code: code)
70
+ end
71
+ end
72
+
73
+ # Creates one or more payment methods for an entity in a single call.
74
+ # Set each payment method's `accountOwner` to the entity it belongs to.
75
+ #
76
+ # @param request_options [Hash]
77
+ # @param params [Payabli::PaymentMethods::Types::CreatePaymentMethodsRequest]
78
+ # @option request_options [String] :base_url
79
+ # @option request_options [Hash{String => Object}] :additional_headers
80
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
81
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
82
+ # @option request_options [Integer] :timeout_in_seconds
83
+ #
84
+ # @example
85
+ # client.payment_methods.create_payment_methods(data: [{
86
+ # type: "bank_account",
87
+ # account_owner: "019fed1a-3d6e-75d3-a81e-cba3874b0a55",
88
+ # owner_type: "business",
89
+ # account_type: "checking",
90
+ # account_number: "123456789",
91
+ # routing_number: "021000021",
92
+ # nickname: "Operating account",
93
+ # financial_institution: "Bank of Example",
94
+ # usage: %w[deposits billing]
95
+ # }])
96
+ #
97
+ # @return [Payabli::Types::PaymentMethodsCreatedEnvelope]
98
+ def create_payment_methods(request_options: {}, **params)
99
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
100
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
101
+ request = Payabli::Internal::JSON::Request.new(
102
+ base_url: request_options[:base_url],
103
+ method: "POST",
104
+ path: "v2/payment-methods",
105
+ headers: headers,
106
+ body: Payabli::PaymentMethods::Types::CreatePaymentMethodsRequest.new(params).to_h,
107
+ request_options: request_options
108
+ )
109
+ begin
110
+ response = @client.send(request)
111
+ rescue Net::HTTPRequestTimeout
112
+ raise Payabli::Errors::TimeoutError
113
+ end
114
+ code = response.code.to_i
115
+ if code.between?(200, 299)
116
+ Payabli::Types::PaymentMethodsCreatedEnvelope.load(response.body)
117
+ else
118
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
119
+ raise error_class.new(response.body, code: code)
120
+ end
121
+ end
122
+
123
+ # Retrieves a payment method by reference. Sensitive fields such as the account and routing numbers are masked.
124
+ #
125
+ # @param request_options [Hash]
126
+ # @param params [Hash]
127
+ # @option request_options [String] :base_url
128
+ # @option request_options [Hash{String => Object}] :additional_headers
129
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
130
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
131
+ # @option request_options [Integer] :timeout_in_seconds
132
+ # @option params [String] :payment_method_reference
133
+ #
134
+ # @example
135
+ # client.payment_methods.get_payment_method(payment_method_reference: "019ff142-454b-7721-96a3-c8628b9d568f")
136
+ #
137
+ # @return [Payabli::Types::PaymentMethodDetailEnvelope]
138
+ def get_payment_method(request_options: {}, **params)
139
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
140
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
141
+ request = Payabli::Internal::JSON::Request.new(
142
+ base_url: request_options[:base_url],
143
+ method: "GET",
144
+ path: "v2/payment-methods/#{URI.encode_uri_component(params[:payment_method_reference].to_s)}",
145
+ headers: headers,
146
+ request_options: request_options
147
+ )
148
+ begin
149
+ response = @client.send(request)
150
+ rescue Net::HTTPRequestTimeout
151
+ raise Payabli::Errors::TimeoutError
152
+ end
153
+ code = response.code.to_i
154
+ if code.between?(200, 299)
155
+ Payabli::Types::PaymentMethodDetailEnvelope.load(response.body)
156
+ else
157
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
158
+ raise error_class.new(response.body, code: code)
159
+ end
160
+ end
161
+
162
+ # Deactivates a payment method. This is a soft delete: the payment
163
+ # method moves to `INACTIVE` and the record is kept.
164
+ #
165
+ # @param request_options [Hash]
166
+ # @param params [Hash]
167
+ # @option request_options [String] :base_url
168
+ # @option request_options [Hash{String => Object}] :additional_headers
169
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
170
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
171
+ # @option request_options [Integer] :timeout_in_seconds
172
+ # @option params [String] :payment_method_reference
173
+ #
174
+ # @example
175
+ # client.payment_methods.deactivate_payment_method(payment_method_reference: "019ff142-454b-7721-96a3-c8628b9d568f")
176
+ #
177
+ # @return [Payabli::Types::PaymentMethodDeactivatedEnvelope]
178
+ def deactivate_payment_method(request_options: {}, **params)
179
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
180
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
181
+ request = Payabli::Internal::JSON::Request.new(
182
+ base_url: request_options[:base_url],
183
+ method: "DELETE",
184
+ path: "v2/payment-methods/#{URI.encode_uri_component(params[:payment_method_reference].to_s)}",
185
+ headers: headers,
186
+ request_options: request_options
187
+ )
188
+ begin
189
+ response = @client.send(request)
190
+ rescue Net::HTTPRequestTimeout
191
+ raise Payabli::Errors::TimeoutError
192
+ end
193
+ code = response.code.to_i
194
+ if code.between?(200, 299)
195
+ Payabli::Types::PaymentMethodDeactivatedEnvelope.load(response.body)
196
+ else
197
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
198
+ raise error_class.new(response.body, code: code)
199
+ end
200
+ end
201
+
202
+ # Applies a partial update to a payment method. Send only the fields you
203
+ # want to change. Only payment methods in `PENDING` status can be updated.
204
+ # Once a payment method is active, change it through the bank account
205
+ # change process instead.
206
+ #
207
+ # @param request_options [Hash]
208
+ # @param params [Payabli::PaymentMethods::Types::UpdatePaymentMethodRequest]
209
+ # @option request_options [String] :base_url
210
+ # @option request_options [Hash{String => Object}] :additional_headers
211
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
212
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
213
+ # @option request_options [Integer] :timeout_in_seconds
214
+ # @option params [String] :payment_method_reference
215
+ #
216
+ # @example
217
+ # client.payment_methods.update_payment_method(
218
+ # payment_method_reference: "019ff142-454b-7721-96a3-c8628b9d568f",
219
+ # nickname: "Primary operating account",
220
+ # usage: %w[deposits billing]
221
+ # )
222
+ #
223
+ # @return [Payabli::Types::PaymentMethodUpdatedEnvelope]
224
+ def update_payment_method(request_options: {}, **params)
225
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
226
+ request_data = Payabli::PaymentMethods::Types::UpdatePaymentMethodRequest.new(params).to_h
227
+ non_body_param_names = %w[paymentMethodReference]
228
+ body = request_data.except(*non_body_param_names)
229
+
230
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
231
+ request = Payabli::Internal::JSON::Request.new(
232
+ base_url: request_options[:base_url],
233
+ method: "PATCH",
234
+ path: "v2/payment-methods/#{URI.encode_uri_component(params[:payment_method_reference].to_s)}",
235
+ headers: headers,
236
+ body: body,
237
+ request_options: request_options
238
+ )
239
+ begin
240
+ response = @client.send(request)
241
+ rescue Net::HTTPRequestTimeout
242
+ raise Payabli::Errors::TimeoutError
243
+ end
244
+ code = response.code.to_i
245
+ if code.between?(200, 299)
246
+ Payabli::Types::PaymentMethodUpdatedEnvelope.load(response.body)
247
+ else
248
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
249
+ raise error_class.new(response.body, code: code)
250
+ end
251
+ end
252
+ end
253
+ end
254
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module PaymentMethods
5
+ module Types
6
+ class CreatePaymentMethodsRequest < Internal::Types::Model
7
+ field :data, -> { Internal::Types::Array[Payabli::Types::CreatePaymentMethodRequest] }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module PaymentMethods
5
+ module Types
6
+ class ListPaymentMethodsPaymentMethodsRequest < Internal::Types::Model
7
+ field :account_owner, -> { String }, optional: true, nullable: false, api_name: "accountOwner"
8
+
9
+ field :owner_type, -> { Payabli::Types::PaymentMethodOwnerType }, optional: true, nullable: false, api_name: "ownerType"
10
+
11
+ field :status, -> { String }, optional: true, nullable: false
12
+
13
+ field :type, -> { String }, optional: true, nullable: false
14
+
15
+ field :limit, -> { Integer }, optional: true, nullable: false
16
+
17
+ field :page, -> { Integer }, optional: true, nullable: false
18
+
19
+ field :sort_by, -> { String }, optional: true, nullable: false, api_name: "sortBy"
20
+
21
+ field :sort_order, -> { String }, optional: true, nullable: false, api_name: "sortOrder"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module PaymentMethods
5
+ module Types
6
+ class UpdatePaymentMethodRequest < Internal::Types::Model
7
+ field :payment_method_reference, -> { String }, optional: false, nullable: false, api_name: "paymentMethodReference"
8
+
9
+ field :nickname, -> { String }, optional: true, nullable: false
10
+
11
+ field :financial_institution, -> { String }, optional: true, nullable: false, api_name: "financialInstitution"
12
+
13
+ field :account_type, -> { String }, optional: true, nullable: false, api_name: "accountType"
14
+
15
+ field :account_number, -> { String }, optional: true, nullable: false, api_name: "accountNumber"
16
+
17
+ field :routing_number, -> { String }, optional: true, nullable: false, api_name: "routingNumber"
18
+
19
+ field :usage, -> { Internal::Types::Array[Payabli::Types::PaymentMethodUsage] }, optional: true, nullable: false
20
+ end
21
+ end
22
+ end
23
+ end