checkout_sdk 2.5.0 → 2.6.0

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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/lib/checkout_sdk/accounts/accounts.rb +8 -0
  3. data/lib/checkout_sdk/accounts/accounts_client.rb +35 -9
  4. data/lib/checkout_sdk/accounts/additional_document.rb +6 -0
  5. data/lib/checkout_sdk/accounts/additional_info.rb +5 -0
  6. data/lib/checkout_sdk/accounts/agreed_terms.rb +14 -1
  7. data/lib/checkout_sdk/accounts/articles_of_association.rb +8 -1
  8. data/lib/checkout_sdk/accounts/articles_of_association_type.rb +1 -0
  9. data/lib/checkout_sdk/accounts/bank_verification.rb +8 -1
  10. data/lib/checkout_sdk/accounts/bank_verification_type.rb +1 -0
  11. data/lib/checkout_sdk/accounts/business_type.rb +2 -0
  12. data/lib/checkout_sdk/accounts/certified_authorised_signatory.rb +24 -0
  13. data/lib/checkout_sdk/accounts/certified_authorised_signatory_type.rb +10 -0
  14. data/lib/checkout_sdk/accounts/citizenship.rb +6 -1
  15. data/lib/checkout_sdk/accounts/company.rb +54 -1
  16. data/lib/checkout_sdk/accounts/company_position.rb +1 -0
  17. data/lib/checkout_sdk/accounts/company_verification.rb +9 -0
  18. data/lib/checkout_sdk/accounts/company_verification_type.rb +3 -0
  19. data/lib/checkout_sdk/accounts/contact_details.rb +18 -0
  20. data/lib/checkout_sdk/accounts/date_of_birth.rb +10 -0
  21. data/lib/checkout_sdk/accounts/date_of_incorporation.rb +10 -0
  22. data/lib/checkout_sdk/accounts/document.rb +12 -0
  23. data/lib/checkout_sdk/accounts/document_type.rb +1 -0
  24. data/lib/checkout_sdk/accounts/entity_document.rb +5 -0
  25. data/lib/checkout_sdk/accounts/entity_email_addresses.rb +12 -1
  26. data/lib/checkout_sdk/accounts/entity_files_request.rb +4 -3
  27. data/lib/checkout_sdk/accounts/entity_financial_details.rb +15 -0
  28. data/lib/checkout_sdk/accounts/entity_financial_documents.rb +5 -0
  29. data/lib/checkout_sdk/accounts/entity_roles.rb +1 -0
  30. data/lib/checkout_sdk/accounts/file_purpose.rb +24 -0
  31. data/lib/checkout_sdk/accounts/file_request.rb +7 -0
  32. data/lib/checkout_sdk/accounts/financial_statements.rb +9 -1
  33. data/lib/checkout_sdk/accounts/financial_statements_type.rb +2 -0
  34. data/lib/checkout_sdk/accounts/financial_verification.rb +11 -3
  35. data/lib/checkout_sdk/accounts/financial_verification_type.rb +2 -0
  36. data/lib/checkout_sdk/accounts/identification.rb +7 -0
  37. data/lib/checkout_sdk/accounts/individual.rb +26 -0
  38. data/lib/checkout_sdk/accounts/invitee.rb +6 -0
  39. data/lib/checkout_sdk/accounts/national_id_type.rb +1 -0
  40. data/lib/checkout_sdk/accounts/onboard_entity.rb +30 -3
  41. data/lib/checkout_sdk/accounts/onboard_sub_entity_documents.rb +38 -1
  42. data/lib/checkout_sdk/accounts/phone.rb +7 -1
  43. data/lib/checkout_sdk/accounts/place_of_birth.rb +4 -0
  44. data/lib/checkout_sdk/accounts/processing_details.rb +27 -0
  45. data/lib/checkout_sdk/accounts/processing_details_ach.rb +14 -1
  46. data/lib/checkout_sdk/accounts/processing_details_payments.rb +3 -1
  47. data/lib/checkout_sdk/accounts/profile.rb +14 -0
  48. data/lib/checkout_sdk/accounts/proof_of_legality.rb +8 -1
  49. data/lib/checkout_sdk/accounts/proof_of_legality_type.rb +1 -0
  50. data/lib/checkout_sdk/accounts/proof_of_principal_address.rb +10 -3
  51. data/lib/checkout_sdk/accounts/proof_of_principal_address_type.rb +3 -0
  52. data/lib/checkout_sdk/accounts/proof_of_registration.rb +22 -0
  53. data/lib/checkout_sdk/accounts/proof_of_registration_type.rb +11 -0
  54. data/lib/checkout_sdk/accounts/proof_of_residential_address.rb +22 -0
  55. data/lib/checkout_sdk/accounts/proof_of_residential_address_type.rb +12 -0
  56. data/lib/checkout_sdk/accounts/representative.rb +67 -4
  57. data/lib/checkout_sdk/accounts/representative_documents.rb +43 -0
  58. data/lib/checkout_sdk/accounts/representative_individual.rb +35 -2
  59. data/lib/checkout_sdk/accounts/shareholder_structure.rb +9 -1
  60. data/lib/checkout_sdk/accounts/shareholder_structure_type.rb +1 -0
  61. data/lib/checkout_sdk/accounts/submitter.rb +4 -3
  62. data/lib/checkout_sdk/accounts/tax_verification.rb +8 -0
  63. data/lib/checkout_sdk/accounts/tax_verification_type.rb +1 -0
  64. data/lib/checkout_sdk/accounts/update_payment_instrument_request.rb +13 -1
  65. data/lib/checkout_sdk/version.rb +1 -1
  66. metadata +10 -2
@@ -2,32 +2,93 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # A representative of the sub-entity. One class covers every shape the Accounts API defines: the v3.0
6
+ # person of interest (individual, roles, company_position, ownership_percentage, documents), the v3.0
7
+ # controlling company of EEA and GB Company Full (company, ownership_percentage), and the v2.0 company
8
+ # representative (the flat person fields, roles, documents and, on the US variants, identification).
5
9
  # @!attribute id
10
+ # The representative's id.
11
+ # [Optional]
12
+ # ^rep_[a-z0-9]{26}$
13
+ # 30 characters
6
14
  # @return [String]
7
15
  # @!attribute individual
16
+ # Information about the individual representing the sub-entity.
17
+ # [Required] for every v3.0 person of interest.
8
18
  # @return [RepresentativeIndividual] Personal details (Accounts API v3.0).
9
19
  # @!attribute company_position
20
+ # The position of the representative within the company (required for the control_person role).
21
+ # [Optional] (EEA, GB and US Company Full (3.0) and US ISV Seller Company (3.0))
10
22
  # @return [String] {CompanyPosition}
11
23
  # @!attribute ownership_percentage
24
+ # The percentage ownership of the UBO or controlling company (required when over 25%).
25
+ # [Optional]
26
+ # min 25, max 100 on the EEA, GB and US Company Full (3.0) variants; min 0, max 100 on the US ISV
27
+ # Seller variants
12
28
  # @return [Integer]
29
+ # @!attribute roles
30
+ # The individual's roles within the company ({EntityRoles} values). For sole traders, must be ubo only.
31
+ # [Required] for every variant except EEA and US Company Lite (2.0), where it is [Optional].
32
+ # @return [Array(String)] {EntityRoles}
33
+ # @!attribute documents
34
+ # Verification documents for the individual representative. On the EEA, GB and US Company Full (3.0)
35
+ # and Sole Trader Full (3.0) variants the API validates this object strictly and rejects any key the
36
+ # variant does not define; the US ISV Seller (3.0) and v2.0 variants do not declare it strict. See
37
+ # {RepresentativeDocuments} for the keys each variant accepts.
38
+ # [Required] for the EEA, GB and US Sole Trader Full (3.0) variants and EEA Company Full (2.0);
39
+ # [Optional] otherwise.
40
+ # @return [RepresentativeDocuments]
41
+ # @!attribute company
42
+ # The controlling company, when the representative is a company rather than an individual.
43
+ # [Required] for a controlling company representative (EEA and GB Company Full (3.0) only).
44
+ # The API reads only three attributes here, all [Required]: legal_name, trading_name and
45
+ # registered_address. Leave the other {Company} attributes unset.
46
+ # @return [Company]
13
47
  # @!attribute first_name
48
+ # The representative's first name. Accounts API v2.0 only.
49
+ # [Required] (v2.0)
50
+ # min 2 characters, max 50 characters
51
+ # @deprecated Not used by the Accounts API v3.0 schema; use individual.
52
+ # @return [String]
53
+ # @!attribute middle_name
54
+ # The representative's middle name. Required if it appears in official documents. Accounts API v2.0
55
+ # only.
56
+ # [Optional]
57
+ # min 2 characters, max 50 characters
58
+ # @deprecated Not used by the Accounts API v3.0 schema; use individual.
14
59
  # @return [String]
15
60
  # @!attribute last_name
61
+ # The representative's last name. Accounts API v2.0 only.
62
+ # [Required] (v2.0)
63
+ # min 2 characters, max 50 characters
64
+ # @deprecated Not used by the Accounts API v3.0 schema; use individual.
16
65
  # @return [String]
17
66
  # @!attribute address
67
+ # The representative's address. Accounts API v2.0 only.
68
+ # [Required] (v2.0)
69
+ # @deprecated Not used by the Accounts API v3.0 schema; use individual.
18
70
  # @return [CheckoutSdk::Common::Address]
19
71
  # @!attribute identification
72
+ # The representative's identification. Accounts API v2.0 US Company variants only.
73
+ # [Required] for US Company Full (2.0); [Optional] for US Company Lite (2.0).
74
+ # @deprecated Not used by the Accounts API v3.0 schema.
20
75
  # @return [Identification]
21
76
  # @!attribute phone
77
+ # The representative's phone number. Accounts API v2.0 only.
78
+ # [Optional]
79
+ # @deprecated Not used by the Accounts API v3.0 schema; use individual.
22
80
  # @return [Phone]
23
81
  # @!attribute date_of_birth
82
+ # The date of birth of the person according to the Gregorian calendar. Accounts API v2.0 only.
83
+ # [Required] for the v2.0 Full variants; [Optional] for the v2.0 Lite variants.
84
+ # @deprecated Not used by the Accounts API v3.0 schema; use individual.
24
85
  # @return [DateOfBirth]
25
86
  # @!attribute place_of_birth
87
+ # The place of birth of the person. Accounts API v2.0 only.
88
+ # [Required] for EEA Company Full (2.0); [Optional] for EEA Company Lite (2.0). Not part of the other
89
+ # v2.0 variants.
90
+ # @deprecated Not used by the Accounts API v3.0 schema; use individual.
26
91
  # @return [PlaceOfBirth]
27
- # @!attribute roles
28
- # @return [Array(String)]
29
- # @!attribute documents
30
- # @return [OnboardSubEntityDocuments]
31
92
  class Representative
32
93
  attr_accessor :id,
33
94
  :individual,
@@ -35,8 +96,10 @@ module CheckoutSdk
35
96
  :ownership_percentage,
36
97
  :roles,
37
98
  :documents,
99
+ :company,
38
100
  # v2.0 only — deprecated; use `individual` for v3.0
39
101
  :first_name,
102
+ :middle_name,
40
103
  :last_name,
41
104
  :address,
42
105
  :identification,
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Accounts
5
+ # Verification documents for an individual representative, sent as company.representatives[].documents.
6
+ #
7
+ # On the EEA, GB and US Company Full (3.0) and the EEA, GB and US Sole Trader Full (3.0) variants the
8
+ # API validates this object strictly: a key it does not recognise is rejected, not ignored. The US ISV
9
+ # Seller variants (3.0) and the v2.0 variants do not declare it strict. These four are the only keys
10
+ # any variant defines, and which apply depends on the variant: EEA Sole Trader Full (3.0) requires
11
+ # identity_verification, proof_of_residential_address and proof_of_registration; GB and US Sole Trader
12
+ # Full (3.0) require identity_verification; the EEA, GB and US Company Full (3.0) variants and US ISV
13
+ # Seller Company (3.0) accept identity_verification and certified_authorised_signatory, both optional;
14
+ # US ISV Seller Sole Trader (3.0) accepts identity_verification, optional. The v2.0 company
15
+ # representatives use identity_verification only.
16
+ #
17
+ # Leave an attribute unset rather than assigning nil: an attribute set to nil is sent as null.
18
+ # Company-level documents such as bank_verification belong on {OnboardSubEntityDocuments}.
19
+ # @!attribute identity_verification
20
+ # The document to use to confirm the individual's identity.
21
+ # [Optional] (required for the sole trader full variants)
22
+ # @return [Document]
23
+ # @!attribute certified_authorised_signatory
24
+ # Certified authorised signatory document. Required when the legal representative or other role
25
+ # owner is not registered on the certificate of incorporation.
26
+ # [Optional] (EEA, GB and US Company Full (3.0) and US ISV Seller Company (3.0) only)
27
+ # @return [CertifiedAuthorisedSignatory]
28
+ # @!attribute proof_of_residential_address
29
+ # Proof of residential address of the representative.
30
+ # [Optional] (required for EEA Sole Trader Full (3.0), and only valid there)
31
+ # @return [ProofOfResidentialAddress]
32
+ # @!attribute proof_of_registration
33
+ # Proof of the sole trader's registration, for example an extract from a trade register.
34
+ # [Optional] (required for EEA Sole Trader Full (3.0), and only valid there)
35
+ # @return [ProofOfRegistration]
36
+ class RepresentativeDocuments
37
+ attr_accessor :identity_verification,
38
+ :certified_authorised_signatory,
39
+ :proof_of_residential_address,
40
+ :proof_of_registration
41
+ end
42
+ end
43
+ end
@@ -2,29 +2,62 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
- # The personal details of a company representative ("person of interest"), as required by the
6
- # Accounts API v3.0 schema.
5
+ # The personal details of a company representative (company.representatives[].individual), Accounts
6
+ # API v3.0.
7
7
  # @!attribute first_name
8
+ # The representative's first name.
9
+ # [Required]
10
+ # min 2 characters, max 50 characters
8
11
  # @return [String]
9
12
  # @!attribute middle_name
13
+ # The representative's middle name. Required if it appears in official documents.
14
+ # [Optional]
15
+ # min 2 characters, max 50 characters
10
16
  # @return [String]
11
17
  # @!attribute last_name
18
+ # The representative's last name.
19
+ # [Required]
20
+ # min 2 characters, max 50 characters
12
21
  # @return [String]
13
22
  # @!attribute date_of_birth
23
+ # The date of birth of the person according to the Gregorian calendar.
24
+ # [Required]
14
25
  # @return [DateOfBirth]
15
26
  # @!attribute place_of_birth
27
+ # The place of birth of the person.
28
+ # [Required]
16
29
  # @return [PlaceOfBirth]
17
30
  # @!attribute citizenships
31
+ # The list of citizenships or legal statuses for the representative.
32
+ # [Required] for the US ISV Seller variants only; not part of the other v3.0 schemas, leave unset for
33
+ # them.
18
34
  # @return [Array(Citizenship)]
19
35
  # @!attribute national_id_type
36
+ # The classification of the national identification number provided.
37
+ # [Required] for the US ISV Seller variants only; not part of the other v3.0 schemas, leave unset for
38
+ # them.
20
39
  # @return [String] {NationalIdType}
21
40
  # @!attribute national_id_number
41
+ # The representative's national identification number.
42
+ # [Required] for the US ISV Seller variants; [Optional] for the other v3.0 variants.
43
+ # The format depends on the variant:
44
+ # US ISV Seller: the number for the national_id_type given. ^[a-zA-Z0-9\-]+$, min 5 characters, max
45
+ # 16 characters.
46
+ # Other v3.0 variants: a Social Security Number (SSN) or Individual Taxpayer Identification Number
47
+ # (ITIN), US residents only. ^\d{9}$, 9 characters.
22
48
  # @return [String]
23
49
  # @!attribute email_address
50
+ # The representative's personal email address.
51
+ # [Required] for the US ISV Seller variants; [Optional] for the other v3.0 variants.
52
+ # Format: email
24
53
  # @return [String]
25
54
  # @!attribute phone
55
+ # The representative's phone number.
56
+ # [Required] for the US ISV Seller variants; [Optional] for the other v3.0 variants.
26
57
  # @return [Phone]
27
58
  # @!attribute address
59
+ # The representative's address.
60
+ # [Required]
28
61
  # @return [CheckoutSdk::Common::Address]
29
62
  class RepresentativeIndividual
30
63
  attr_accessor :first_name,
@@ -2,9 +2,17 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # Shareholder structure chart (including % of shares) certified by a competent authority individual and
6
+ # dated within the last 3 months.
5
7
  # @!attribute type
6
- # @return [ShareholderStructureType]
8
+ # The type of document.
9
+ # [Required]
10
+ # @return [String] {ShareholderStructureType}
7
11
  # @!attribute front
12
+ # The ID of the front side of the document as represented within Checkout.com systems.
13
+ # [Required]
14
+ # ^file_[a-z2-7]{26}$
15
+ # 31 characters
8
16
  # @return [String]
9
17
  class ShareholderStructure
10
18
  attr_accessor :type,
@@ -2,6 +2,7 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The document type accepted as a certified shareholder structure.
5
6
  module ShareholderStructureType
6
7
  CERTIFIED_SHAREHOLDER_STRUCTURE = 'certified_shareholder_structure'
7
8
  end
@@ -2,10 +2,11 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
- # Captures evidence of the end-user's consent to onboarding.
6
- #
5
+ # Not defined by any Accounts API onboarding schema.
6
+ # @deprecated Not part of any Accounts API onboarding schema; the API does not read it.
7
7
  # @!attribute ip_address
8
- # @return [String] IP address of the end-user submitting the onboarding request.
8
+ # @deprecated Not defined by any Accounts API onboarding schema.
9
+ # @return [String]
9
10
  class Submitter
10
11
  attr_accessor :ip_address
11
12
  end
@@ -2,9 +2,17 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # IRS-issued Employer Identification Number document used to verify the entity's tax identification
6
+ # (US variants).
5
7
  # @!attribute type
8
+ # The type of IRS-issued document used for tax verification.
9
+ # [Required]
6
10
  # @return [String] {TaxVerificationType}
7
11
  # @!attribute front
12
+ # The ID of the front side of the document as represented within Checkout.com systems.
13
+ # [Required]
14
+ # ^file_[a-z2-7]{26}$
15
+ # 31 characters
8
16
  # @return [String]
9
17
  class TaxVerification
10
18
  attr_accessor :type,
@@ -2,6 +2,7 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The document type accepted as tax verification: an IRS-issued Employer Identification Number letter.
5
6
  module TaxVerificationType
6
7
  EIN_LETTER = 'ein_letter'
7
8
  end
@@ -2,12 +2,24 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # Request for PATCH /accounts/entities/{entityId}/payment-instruments/{id}
6
+ # (PlatformsPaymentInstrumentUpdate).
5
7
  # @!attribute label
8
+ # A reference that you can use to identify the payment instrument.
9
+ # [Optional]
10
+ # min 1 character, max 50 characters
6
11
  # @return [String]
7
12
  # @!attribute default
13
+ # Deprecated by the API: for scheduled payouts the first payment instrument created for a currency
14
+ # is used; to change it, update the payout schedule.
15
+ # [Optional]
8
16
  # @return [TrueClass, FalseClass]
9
17
  # @!attribute headers
10
- # @return [Headers]
18
+ # The payment instrument ETag, as returned in the ETag header of the GET, in headers.if_match.
19
+ # {AccountsClient#update_payment_instrument} sends it as the If-Match HTTP header; the API
20
+ # answers 428 without it and 412 when it does not match.
21
+ # [Required] by the API.
22
+ # @return [CheckoutSdk::Common::Headers]
11
23
  class UpdatePaymentInstrumentRequest
12
24
  attr_accessor :label,
13
25
  :default,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CheckoutSdk
4
- VERSION = '2.5.0'
4
+ VERSION = '2.6.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkout_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Checkout
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-30 00:00:00.000000000 Z
11
+ date: 2026-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -155,6 +155,8 @@ files:
155
155
  - lib/checkout_sdk/accounts/bank_verification.rb
156
156
  - lib/checkout_sdk/accounts/bank_verification_type.rb
157
157
  - lib/checkout_sdk/accounts/business_type.rb
158
+ - lib/checkout_sdk/accounts/certified_authorised_signatory.rb
159
+ - lib/checkout_sdk/accounts/certified_authorised_signatory_type.rb
158
160
  - lib/checkout_sdk/accounts/citizenship.rb
159
161
  - lib/checkout_sdk/accounts/company.rb
160
162
  - lib/checkout_sdk/accounts/company_position.rb
@@ -175,6 +177,7 @@ files:
175
177
  - lib/checkout_sdk/accounts/entity_requirement_update_request.rb
176
178
  - lib/checkout_sdk/accounts/entity_requirement_update_status.rb
177
179
  - lib/checkout_sdk/accounts/entity_roles.rb
180
+ - lib/checkout_sdk/accounts/file_purpose.rb
178
181
  - lib/checkout_sdk/accounts/file_request.rb
179
182
  - lib/checkout_sdk/accounts/financial_statements.rb
180
183
  - lib/checkout_sdk/accounts/financial_statements_type.rb
@@ -206,7 +209,12 @@ files:
206
209
  - lib/checkout_sdk/accounts/proof_of_legality_type.rb
207
210
  - lib/checkout_sdk/accounts/proof_of_principal_address.rb
208
211
  - lib/checkout_sdk/accounts/proof_of_principal_address_type.rb
212
+ - lib/checkout_sdk/accounts/proof_of_registration.rb
213
+ - lib/checkout_sdk/accounts/proof_of_registration_type.rb
214
+ - lib/checkout_sdk/accounts/proof_of_residential_address.rb
215
+ - lib/checkout_sdk/accounts/proof_of_residential_address_type.rb
209
216
  - lib/checkout_sdk/accounts/representative.rb
217
+ - lib/checkout_sdk/accounts/representative_documents.rb
210
218
  - lib/checkout_sdk/accounts/representative_individual.rb
211
219
  - lib/checkout_sdk/accounts/reserve_rule_create_request.rb
212
220
  - lib/checkout_sdk/accounts/reserve_rule_holding_duration.rb