checkout_sdk 2.4.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 (82) 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/issuing/issuing_client.rb +4 -1
  66. data/lib/checkout_sdk/issuing/update_card_request.rb +13 -6
  67. data/lib/checkout_sdk/payments/accommodation_data.rb +160 -0
  68. data/lib/checkout_sdk/payments/ach_service_type.rb +14 -0
  69. data/lib/checkout_sdk/payments/aggregator.rb +28 -0
  70. data/lib/checkout_sdk/payments/airline_data.rb +37 -3
  71. data/lib/checkout_sdk/payments/flight_leg_details.rb +39 -13
  72. data/lib/checkout_sdk/payments/pan_processed_type.rb +15 -0
  73. data/lib/checkout_sdk/payments/partner_customer_risk_data.rb +23 -0
  74. data/lib/checkout_sdk/payments/passenger.rb +24 -7
  75. data/lib/checkout_sdk/payments/payments.rb +7 -1
  76. data/lib/checkout_sdk/payments/processing_card_type.rb +17 -0
  77. data/lib/checkout_sdk/payments/processing_data.rb +4 -4
  78. data/lib/checkout_sdk/payments/processing_settings.rb +249 -55
  79. data/lib/checkout_sdk/payments/ticket.rb +46 -0
  80. data/lib/checkout_sdk/version.rb +1 -1
  81. metadata +17 -3
  82. data/lib/checkout_sdk/payments/sender/ticket.rb +0 -23
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Accounts
5
+ # The purpose of an onboarding document upload ({AccountsClient#upload_file} and
6
+ # {AccountsClient#upload_entity_file}): the values PlatformsFileUpload defines.
7
+ module FilePurpose
8
+ ADDITIONAL_DOCUMENT = 'additional_document'
9
+ ARTICLES_OF_ASSOCIATION = 'articles_of_association'
10
+ BANK_VERIFICATION = 'bank_verification'
11
+ CERTIFIED_AUTHORISED_SIGNATORY = 'certified_authorised_signatory'
12
+ COMPANY_OWNERSHIP = 'company_ownership'
13
+ COMPANY_VERIFICATION = 'company_verification'
14
+ FINANCIAL_VERIFICATION = 'financial_verification'
15
+ IDENTITY_VERIFICATION = 'identity_verification'
16
+ PROOF_OF_LEGALITY = 'proof_of_legality'
17
+ PROOF_OF_PRINCIPAL_ADDRESS = 'proof_of_principal_address'
18
+ SHAREHOLDER_STRUCTURE = 'shareholder_structure'
19
+ TAX_VERIFICATION = 'tax_verification'
20
+ PROOF_OF_RESIDENTIAL_ADDRESS = 'proof_of_residential_address'
21
+ PROOF_OF_REGISTRATION = 'proof_of_registration'
22
+ end
23
+ end
24
+ end
@@ -2,6 +2,13 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # A file to upload with {AccountsClient#upload_file} (POST /files on the Files host), sent as a
6
+ # multipart request. The returned ID is what document front and back attributes take.
7
+ #
8
+ # The Files host POST /files is not in the API reference: the POST /files it documents is the disputes
9
+ # upload on the API host (purpose dispute_evidence or arbitration_evidence). For onboarding, set
10
+ # purpose to one of the PlatformsFileUpload purposes the API reference lists for the sub-entity upload
11
+ # (POST /entities/{entityId}/files), available as {FilePurpose} values.
5
12
  class FileRequest < CheckoutSdk::Common::FileRequest
6
13
  end
7
14
  end
@@ -2,9 +2,17 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # Audited or management-prepared financial statements (when applicable). US ISV Seller variants only.
6
+ # Not the same document as {FinancialVerification}, whose type is the singular financial_statement.
5
7
  # @!attribute type
6
- # @return [FinancialStatementsType]
8
+ # The type of document.
9
+ # [Required]
10
+ # @return [String] {FinancialStatementsType}
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 FinancialStatements
10
18
  attr_accessor :type,
@@ -2,6 +2,8 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The document type accepted as financial statements (US ISV Seller variants). Note the plural
6
+ # financial_statements; {FinancialVerificationType} is a different module.
5
7
  module FinancialStatementsType
6
8
  FINANCIAL_STATEMENTS = 'financial_statements'
7
9
  end
@@ -2,13 +2,21 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # Financial statement document. Becomes mandatory depending on the answer provided for
6
+ # annual_processing_volume; the sub-entity's status changes to requirements_due when it is needed.
5
7
  # @!attribute type
6
- # @return [FinancialVerificationType]
8
+ # The type of the file.
9
+ # [Required]
10
+ # @return [String] {FinancialVerificationType}
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 FinancialVerification
10
- attr_reader :type,
11
- :front
18
+ attr_accessor :type,
19
+ :front
12
20
  end
13
21
  end
14
22
  end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The document type accepted as financial verification. Note the singular financial_statement;
6
+ # {FinancialStatementsType} is a different module.
5
7
  module FinancialVerificationType
6
8
  FINANCIAL_STATEMENT = 'financial_statement'
7
9
  end
@@ -2,9 +2,16 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The identification of a representative or individual on the Accounts API v2.0 US variants.
5
6
  # @!attribute national_id_number
7
+ # Social Security Number (SSN), or Individual Taxpayer Identification Number (ITIN) for non-US
8
+ # citizens.
9
+ # [Required]
10
+ # ^\d{9}$
11
+ # 9 characters
6
12
  # @return [String]
7
13
  # @!attribute document
14
+ # @deprecated Not defined by the Accounts API: the identification object carries national_id_number only.
8
15
  # @return [Document]
9
16
  class Identification
10
17
  attr_accessor :national_id_number,
@@ -2,27 +2,53 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The top-level individual of the Accounts API v2.0 sole trader variants. On v3.0 a sole trader is
6
+ # onboarded as a {Company} with one {Representative}.
5
7
  # @!attribute first_name
8
+ # The individual's first name.
9
+ # [Required]
10
+ # min 2 characters, max 50 characters
6
11
  # @return [String]
7
12
  # @!attribute middle_name
13
+ # The individual's middle name. Required if it appears in official documents.
14
+ # [Optional]
15
+ # min 2 characters, max 50 characters
8
16
  # @return [String]
9
17
  # @!attribute last_name
18
+ # The individual's last name.
19
+ # [Required]
20
+ # min 2 characters, max 50 characters
10
21
  # @return [String]
11
22
  # @!attribute legal_name
23
+ # @deprecated Not defined by the Accounts API for an individual; legal_name exists on the company only.
12
24
  # @return [String]
13
25
  # @!attribute trading_name
26
+ # The trading name of the sub-entity, also referred to as 'doing business as'.
27
+ # [Required]
28
+ # min 2 characters, max 300 characters
14
29
  # @return [String]
15
30
  # @!attribute national_tax_id
31
+ # @deprecated Not defined by any Accounts API schema; the API does not read it.
16
32
  # @return [String]
17
33
  # @!attribute registered_address
34
+ # The registered address of the sole trader's business.
35
+ # [Required]
18
36
  # @return [CheckoutSdk::Common::Address]
19
37
  # @!attribute date_of_birth
38
+ # The date of birth of the person according to the Gregorian calendar.
39
+ # [Required], except on GB Sole Trader Lite (2.0) where it is [Optional].
20
40
  # @return [DateOfBirth]
21
41
  # @!attribute place_of_birth
42
+ # The place of birth of the person.
43
+ # [Required] for EEA Sole Trader Full and Lite (2.0); not part of the other v2.0 variants.
22
44
  # @return [PlaceOfBirth]
23
45
  # @!attribute identification
46
+ # The individual's identification. US Sole Trader (2.0) only.
47
+ # [Required] for US Sole Trader Full (2.0); [Optional] for US Sole Trader Lite (2.0).
24
48
  # @return [Identification]
25
49
  # @!attribute financial_details
50
+ # Seller financial questions. US Sole Trader (2.0) only.
51
+ # [Required] for US Sole Trader Full (2.0); [Optional] for US Sole Trader Lite (2.0).
26
52
  # @return [EntityFinancialDetails]
27
53
  class Individual
28
54
  attr_accessor :first_name,
@@ -2,7 +2,13 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The details of the user responsible for onboarding the sub-entity.
5
6
  # @!attribute email
7
+ # The main email address for this sub-entity. Despite the spec's wording, this is the address of the
8
+ # invitee, the user responsible for onboarding the sub-entity.
9
+ # [Required] in the hosted onboarding invite request; [Optional] in the Full and Lite onboarding
10
+ # variants; not part of the US ISV Seller variants.
11
+ # Format: email
6
12
  # @return [String]
7
13
  class Invitee
8
14
  attr_accessor :email
@@ -2,6 +2,7 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The classification of a representative's national identification number (US ISV Seller variants).
5
6
  module NationalIdType
6
7
  SSN = 'ssn'
7
8
  ITIN = 'itin'
@@ -2,33 +2,60 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The request body of POST /accounts/entities and PUT /accounts/entities/{id}. Which attributes are
6
+ # required depends on the onboarding variant.
5
7
  # @!attribute reference
8
+ # A unique reference you can later use to identify the sub-entity.
9
+ # [Required]
10
+ # min 1 character, max 50 characters
6
11
  # @return [String]
7
12
  # @!attribute is_draft
13
+ # Whether the sub-entity should remain in draft on PUT, skipping due diligence checks. POST always
14
+ # creates the entity in draft.
15
+ # [Optional]
8
16
  # @return [Boolean]
9
17
  # @!attribute profile
18
+ # Information about the profile of the sub-entity.
19
+ # [Required]
10
20
  # @return [Profile]
11
21
  # @!attribute contact_details
22
+ # Contact details of this sub-entity.
23
+ # [Required], except on EEA Company Full (3.0) where it is [Optional].
12
24
  # @return [ContactDetails]
13
25
  # @!attribute company
26
+ # Information about the company represented by the sub-entity.
27
+ # [Required] for every company and v3.0 sole trader variant.
14
28
  # @return [Company]
15
29
  # @!attribute processing_details
30
+ # Information about the sub-entity's expected processing.
31
+ # [Required] for every v3.0 variant.
16
32
  # @return [ProcessingDetails]
17
33
  # @!attribute individual
34
+ # Information about the individual represented by the sub-entity. Accounts API v2.0 sole traders only.
35
+ # [Required] for the v2.0 sole trader variants.
36
+ # @deprecated Not used by the Accounts API v3.0 schema, where a sole trader is onboarded as a company with a
37
+ # representative.
18
38
  # @return [Individual]
19
39
  # @!attribute documents
40
+ # The top-level documents used to support the verification of the sub-entity's details.
41
+ # [Required] on the EEA, GB and US Company and Sole Trader Full (3.0) variants, EEA Company Full (2.0)
42
+ # and EEA Sole Trader Full (2.0); [Optional] otherwise.
20
43
  # @return [OnboardSubEntityDocuments]
21
44
  # @!attribute additional_info
45
+ # @deprecated Not defined by any Accounts API schema; the API does not read it.
22
46
  # @return [AdditionalInfo]
23
47
  # @!attribute seller_category
48
+ # The identifier of a seller category set up for your platform. Seller categories define the pricing,
49
+ # capabilities and risk profile applied to sub-entities.
50
+ # [Required] for the US ISV Seller variants only.
24
51
  # @return [String] Identifier of a seller category configured on the platform
25
- # during onboarding. Used for US ISV onboarding variants.
26
52
  # @!attribute agreed_terms
53
+ # Details of the person who agreed to the terms and conditions on behalf of the sub-entity.
54
+ # [Required] for the US ISV Seller variants only.
27
55
  # @return [AgreedTerms] Details of the person who agreed to the terms and
28
- # conditions (Accounts API v3.0 SaaS onboarding).
29
56
  # @!attribute submitter
57
+ # @deprecated Not defined by any Accounts API schema; the API does not read it.
30
58
  # @return [Submitter] Captures evidence of the end-user's consent to onboarding.
31
- # Used for US ISV onboarding variants.
32
59
  class OnboardEntity
33
60
  attr_accessor :reference,
34
61
  :is_draft,
@@ -2,31 +2,68 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The top-level request documents ({OnboardEntity#documents}). The API ignores keys it does not
6
+ # recognise here rather than rejecting them, so a misplaced document is dropped silently. The
7
+ # representative's own documents go on {Representative#documents} ({RepresentativeDocuments}).
5
8
  # @!attribute identity_verification
6
- # @return [EntityIdentificationDocument]
9
+ # The document to use to confirm the individual's identity.
10
+ # [Required] for the six sole trader variants of Accounts API v2.0 (EEA, GB and US, Full and Lite), the
11
+ # only variants that take it at this level. On v3.0 it belongs on the representative.
12
+ # @return [Document]
7
13
  # @!attribute company_verification
14
+ # The document to use to confirm the company's identity (certified by a power of attorney within the
15
+ # last 3 months).
16
+ # [Required] for EEA Company Full (2.0 and 3.0) and GB Company Full (2.0); [Optional] for the other
17
+ # company variants and the US ISV Seller variants.
8
18
  # @return [CompanyVerification]
9
19
  # @!attribute articles_of_association
20
+ # Memorandum or Articles of Association document.
21
+ # [Required] for EEA and GB Company Full (3.0); [Optional] for US Company Full (3.0) and the US ISV
22
+ # Seller variants.
10
23
  # @return [ArticlesOfAssociation]
11
24
  # @!attribute bank_verification
25
+ # A document showing transactions from the last 3 months.
26
+ # [Required] for EEA Company Full (3.0) and the EEA, GB and US Sole Trader Full (3.0) variants;
27
+ # [Optional] for GB and US Company Full (3.0) and EEA Company Full and Lite (2.0).
12
28
  # @return [BankVerification]
13
29
  # @!attribute shareholder_structure
30
+ # Shareholder structure chart (including % of shares) certified by a competent authority individual and
31
+ # dated within the last 3 months.
32
+ # [Required] for EEA and GB Company Full (3.0); [Optional] for US Company Full (3.0) and US ISV Seller
33
+ # Company (3.0).
14
34
  # @return [ShareholderStructure]
15
35
  # @!attribute proof_of_legality
36
+ # A regulatory licence document required for the company to operate (when applicable).
37
+ # [Optional] (EEA, GB and US Company Full (3.0) and the US ISV Seller variants)
16
38
  # @return [ProofOfLegality]
17
39
  # @!attribute proof_of_principal_address
40
+ # Proof of the company's principal place of business.
41
+ # [Optional] (EEA, GB and US Company Full (3.0) and the US ISV Seller variants)
18
42
  # @return [ProofOfPrincipalAddress]
19
43
  # @!attribute additional_document1
44
+ # Additional space for documents to be provided when requested.
45
+ # [Optional] (EEA, GB and US Company and Sole Trader Full (3.0); not the US ISV Seller variants)
20
46
  # @return [AdditionalDocument]
21
47
  # @!attribute additional_document2
48
+ # Additional space for documents to be provided when requested.
49
+ # [Optional] (EEA, GB and US Company and Sole Trader Full (3.0); not the US ISV Seller variants)
22
50
  # @return [AdditionalDocument]
23
51
  # @!attribute additional_document3
52
+ # Additional space for documents to be provided when requested.
53
+ # [Optional] (EEA, GB and US Company and Sole Trader Full (3.0); not the US ISV Seller variants)
24
54
  # @return [AdditionalDocument]
25
55
  # @!attribute tax_verification
56
+ # IRS-issued Employer Identification Number document used to verify the entity's tax identification.
57
+ # [Optional] (US Company variants and the US ISV Seller variants only)
26
58
  # @return [TaxVerification]
27
59
  # @!attribute financial_verification
60
+ # Financial statement document. Becomes mandatory depending on the answer provided for
61
+ # annual_processing_volume.
62
+ # [Optional] (EEA Company Full and Lite (2.0) only)
28
63
  # @return [FinancialVerification]
29
64
  # @!attribute financial_statements
65
+ # Audited or management-prepared financial statements (when applicable).
66
+ # [Optional] (US ISV Seller variants only)
30
67
  # @return [FinancialStatements]
31
68
  class OnboardSubEntityDocuments
32
69
  attr_accessor :identity_verification,
@@ -2,9 +2,15 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # A phone number on the Accounts API: the sub-entity's contact phone, or a representative's phone. See
6
+ # {ContactDetails#phone} for the per-variant number format.
5
7
  # @!attribute country_code
6
- # @return [String] ISO 3166-1 alpha-2 country code (Accounts API v3.0), e.g. "GB".
8
+ # The ISO 3166-1 alpha-2 country where the number is registered, not the dialling code.
9
+ # [Required] on Accounts API v3.0; not part of the v2.0 schemas.
10
+ # @return [String]
7
11
  # @!attribute number
12
+ # The phone number, without the country calling code.
13
+ # [Required]
8
14
  # @return [String]
9
15
  class Phone
10
16
  attr_accessor :country_code,
@@ -2,7 +2,11 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The place of birth of the person.
5
6
  # @!attribute country
7
+ # The country code (iso-3166-1 alpha-2).
8
+ # [Required]
9
+ # Format: iso-3166-1-alpha-2
6
10
  # @return [String] {CheckoutSdk::Common::Country}
7
11
  class PlaceOfBirth
8
12
  attr_accessor :country
@@ -2,21 +2,48 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The sub-entity's expected processing (processing_details, Accounts API v3.0).
5
6
  # @!attribute settlement_country
7
+ # The country code (iso-3166-1 alpha-2) where the settlement bank account is located.
8
+ # [Required] on the EEA, GB and US Company and Sole Trader Full (3.0) variants; not part of the US ISV
9
+ # Seller variants.
10
+ # Format: iso-3166-1-alpha-2
11
+ # 2 characters
6
12
  # @return [String]
7
13
  # @!attribute target_countries
14
+ # Target country codes (iso-3166-1 alpha-2) with more than 10% expected volume processing with
15
+ # Checkout.com.
16
+ # [Required]
17
+ # min 1 item, max 10 items
8
18
  # @return [Array(String)]
9
19
  # @!attribute annual_processing_volume
20
+ # The estimated annual processing volume. In minor units without decimals.
21
+ # [Required]
22
+ # min 0
10
23
  # @return [Integer]
11
24
  # @!attribute average_transaction_value
25
+ # The expected average transaction value. In minor units without decimals.
26
+ # [Required]
27
+ # min 0
12
28
  # @return [Integer]
13
29
  # @!attribute average_order_fulfillment_time
30
+ # The average time in days between accepting payment and fulfilling the order.
31
+ # [Required] on the US ISV Seller variants only.
32
+ # min 0
14
33
  # @return [Integer]
15
34
  # @!attribute highest_transaction_value
35
+ # The expected highest transaction value. In minor units without decimals.
36
+ # [Required] on the EEA, GB and US Company and Sole Trader Full (3.0) variants; not part of the US ISV
37
+ # Seller variants.
38
+ # min 0
16
39
  # @return [Integer]
17
40
  # @!attribute currency
41
+ # The currency used for the processing details provided.
42
+ # [Required]
18
43
  # @return [CheckoutSdk::Common::Currency]
19
44
  # @!attribute payments
45
+ # Payment method-specific processing details.
46
+ # [Required] on the US ISV Seller variants only.
20
47
  # @return [ProcessingDetailsPayments]
21
48
  class ProcessingDetails
22
49
  attr_accessor :settlement_country,
@@ -2,14 +2,27 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
- # ACH-specific processing details (Accounts API v3.0). All values in minor units without decimals.
5
+ # The expected ACH processing (US ISV Seller variants). All amounts are in minor units without
6
+ # decimals.
6
7
  # @!attribute annual_ach_volume
8
+ # The estimated annual ACH processing volume.
9
+ # [Required]
10
+ # min 0
7
11
  # @return [Integer]
8
12
  # @!attribute average_ach_transaction_size
13
+ # The expected average ACH transaction size.
14
+ # [Required]
15
+ # min 0
9
16
  # @return [Integer]
10
17
  # @!attribute estimated_monthly_credit_volume
18
+ # The estimated monthly volume of ACH credit transactions (for example, refunds issued to customers).
19
+ # [Required]
20
+ # min 0
11
21
  # @return [Integer]
12
22
  # @!attribute average_credit_amount
23
+ # The average value of an ACH credit transaction (for example, a refund).
24
+ # [Required]
25
+ # min 0
13
26
  # @return [Integer]
14
27
  class ProcessingDetailsAch
15
28
  attr_accessor :annual_ach_volume,
@@ -2,8 +2,10 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
- # Payment method-specific processing details (Accounts API v3.0).
5
+ # Payment method-specific processing details (US ISV Seller variants).
6
6
  # @!attribute ach
7
+ # The ACH processing details.
8
+ # [Required]
7
9
  # @return [ProcessingDetailsAch]
8
10
  class ProcessingDetailsPayments
9
11
  attr_accessor :ach
@@ -2,13 +2,27 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # Information about the profile of the sub-entity, primarily regarding the products and services
6
+ # offered.
5
7
  # @!attribute urls
8
+ # A collection of website URLs the sub-entity accepts payments on.
9
+ # [Required]
10
+ # max 100 items; each ^(http|https):\/\/\S{2,293}$, Format: uri
6
11
  # @return [Array(String)]
7
12
  # @!attribute mccs
13
+ # The merchant category codes (4-digit ISO 18245) that most closely describe the business.
14
+ # [Required]
15
+ # min 1 item, max 5 items; each ^[0-9]{4}$
8
16
  # @return [Array(String)]
9
17
  # @!attribute default_holding_currency
18
+ # The default holding currency (ISO 4217).
19
+ # [Required] on every v3.0 variant; [Optional] on the v2.0 variants.
20
+ # Format: iso-4217
10
21
  # @return [String] {CheckoutSdk::Common::Currency}
11
22
  # @!attribute holding_currencies
23
+ # The currencies incoming funds are held in.
24
+ # [Required] on every v3.0 variant; [Optional] on the v2.0 variants.
25
+ # min 1 item on v3.0; USD only on the US variants
12
26
  # @return [Array(CheckoutSdk::Common::Currency)]
13
27
  class Profile
14
28
  attr_accessor :urls,
@@ -2,9 +2,16 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # A regulatory licence document required for the company to operate (when applicable).
5
6
  # @!attribute type
6
- # @return [ProofOfLegalityType]
7
+ # The type of document used for proof of legality.
8
+ # [Required]
9
+ # @return [String] {ProofOfLegalityType}
7
10
  # @!attribute front
11
+ # The ID of the front side of the document as represented within Checkout.com systems.
12
+ # [Required]
13
+ # ^file_[a-z2-7]{26}$
14
+ # 31 characters
8
15
  # @return [String]
9
16
  class ProofOfLegality
10
17
  attr_accessor :type,
@@ -2,6 +2,7 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The document type accepted as proof of legality.
5
6
  module ProofOfLegalityType
6
7
  PROOF_OF_LEGALITY = 'proof_of_legality'
7
8
  end
@@ -2,13 +2,20 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # Proof of the company's principal place of business.
5
6
  # @!attribute type
6
- # @return [ProofOfPrincipalAddressType]
7
+ # The type of document being used as address verification.
8
+ # [Required]
9
+ # @return [String] {ProofOfPrincipalAddressType}
7
10
  # @!attribute front
11
+ # The ID of the front side of the document as represented within Checkout.com systems.
12
+ # [Required]
13
+ # ^file_[a-z2-7]{26}$
14
+ # 31 characters
8
15
  # @return [String]
9
16
  class ProofOfPrincipalAddress
10
- attr_reader :type,
11
- :front
17
+ attr_accessor :type,
18
+ :front
12
19
  end
13
20
  end
14
21
  end
@@ -2,6 +2,9 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Accounts
5
+ # The document type accepted as proof of the company's principal place of business. Same
6
+ # proof_of_address value as {ProofOfResidentialAddressType}, but the API defines the two as separate
7
+ # enums on separate documents.
5
8
  module ProofOfPrincipalAddressType
6
9
  PROOF_OF_ADDRESS = 'proof_of_address'
7
10
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Accounts
5
+ # Proof of the sole trader's registration, for example an extract from a trade register.
6
+ # Representative documents only (company.representatives[].documents), EEA Sole Trader Full (3.0).
7
+ # @!attribute type
8
+ # The type of document being used as proof of registration.
9
+ # [Required]
10
+ # @return [String] {ProofOfRegistrationType}
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
16
+ # @return [String]
17
+ class ProofOfRegistration
18
+ attr_accessor :type,
19
+ :front
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Accounts
5
+ # The document types accepted as a sole trader's proof of registration (EEA Sole Trader Full (3.0)).
6
+ module ProofOfRegistrationType
7
+ EXTRACT_FROM_TRADE_REGISTER = 'extract_from_trade_register'
8
+ OTHER = 'other'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Accounts
5
+ # Proof of residential address of the representative. Representative documents only
6
+ # (company.representatives[].documents), EEA Sole Trader Full (3.0).
7
+ # @!attribute type
8
+ # The type of document being used as address verification.
9
+ # [Required]
10
+ # @return [String] {ProofOfResidentialAddressType}
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
16
+ # @return [String]
17
+ class ProofOfResidentialAddress
18
+ attr_accessor :type,
19
+ :front
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Accounts
5
+ # The document type accepted as a representative's proof of residential address (EEA Sole Trader Full
6
+ # (3.0)). Same proof_of_address value as {ProofOfPrincipalAddressType}, but the API defines the two as
7
+ # separate enums on separate documents.
8
+ module ProofOfResidentialAddressType
9
+ PROOF_OF_ADDRESS = 'proof_of_address'
10
+ end
11
+ end
12
+ end