checkout_sdk 1.2.2 → 1.3.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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/lib/checkout_sdk/accounts/account_holder.rb +10 -2
  3. data/lib/checkout_sdk/accounts/account_holder_corporate.rb +15 -0
  4. data/lib/checkout_sdk/accounts/account_holder_individual.rb +18 -0
  5. data/lib/checkout_sdk/accounts/accounts.rb +23 -0
  6. data/lib/checkout_sdk/accounts/additional_document.rb +11 -0
  7. data/lib/checkout_sdk/accounts/additional_info.rb +17 -0
  8. data/lib/checkout_sdk/accounts/articles_of_association_type.rb +10 -0
  9. data/lib/checkout_sdk/accounts/bank_verification.rb +14 -0
  10. data/lib/checkout_sdk/accounts/bank_verification_type.rb +9 -0
  11. data/lib/checkout_sdk/accounts/company.rb +7 -1
  12. data/lib/checkout_sdk/accounts/contact_details.rb +4 -1
  13. data/lib/checkout_sdk/accounts/date_of_incorporation.rb +14 -0
  14. data/lib/checkout_sdk/accounts/financial_verification.rb +14 -0
  15. data/lib/checkout_sdk/accounts/financial_verification_type.rb +9 -0
  16. data/lib/checkout_sdk/accounts/invitee.rb +11 -0
  17. data/lib/checkout_sdk/accounts/onboard_entity.rb +13 -4
  18. data/lib/checkout_sdk/accounts/onboard_sub_entity_documents.rb +31 -4
  19. data/lib/checkout_sdk/accounts/processing_details.rb +26 -0
  20. data/lib/checkout_sdk/accounts/proof_of_legality.rb +14 -0
  21. data/lib/checkout_sdk/accounts/proof_of_legality_type.rb +9 -0
  22. data/lib/checkout_sdk/accounts/proof_of_principal_address.rb +14 -0
  23. data/lib/checkout_sdk/accounts/proof_of_principal_address_type.rb +9 -0
  24. data/lib/checkout_sdk/accounts/shareholder_structure.rb +14 -0
  25. data/lib/checkout_sdk/accounts/shareholder_structure_type.rb +9 -0
  26. data/lib/checkout_sdk/api_client.rb +59 -50
  27. data/lib/checkout_sdk/client.rb +2 -3
  28. data/lib/checkout_sdk/common/account_change_indicator_type.rb +12 -0
  29. data/lib/checkout_sdk/common/account_holder.rb +12 -9
  30. data/lib/checkout_sdk/common/account_password_change_indicator_type.rb +13 -0
  31. data/lib/checkout_sdk/common/account_type_card_product_type.rb +11 -0
  32. data/lib/checkout_sdk/common/cardholder_account_age_indicator_type.rb +13 -0
  33. data/lib/checkout_sdk/common/common.rb +6 -0
  34. data/lib/checkout_sdk/common/customer_retry.rb +11 -0
  35. data/lib/checkout_sdk/common/destination.rb +38 -0
  36. data/lib/checkout_sdk/common/payment_source_type.rb +8 -0
  37. data/lib/checkout_sdk/common/product.rb +4 -1
  38. data/lib/checkout_sdk/error.rb +24 -8
  39. data/lib/checkout_sdk/payments/applepay.rb +14 -0
  40. data/lib/checkout_sdk/payments/{sessions/card.rb → card.rb} +4 -1
  41. data/lib/checkout_sdk/payments/exemption.rb +2 -0
  42. data/lib/checkout_sdk/payments/googlepay.rb +14 -0
  43. data/lib/checkout_sdk/payments/hosted/hosted_payment_instruction.rb +11 -0
  44. data/lib/checkout_sdk/payments/hosted/hosted_payments_session.rb +44 -23
  45. data/lib/checkout_sdk/payments/hosted/payment_purpose_type.rb +27 -0
  46. data/lib/checkout_sdk/payments/links/payment_link.rb +18 -0
  47. data/lib/checkout_sdk/payments/locale_type.rb +31 -0
  48. data/lib/checkout_sdk/payments/partial_authorization.rb +11 -0
  49. data/lib/checkout_sdk/payments/payment_method_configuration.rb +17 -0
  50. data/lib/checkout_sdk/payments/payment_request.rb +3 -0
  51. data/lib/checkout_sdk/payments/payments.rb +13 -3
  52. data/lib/checkout_sdk/payments/product.rb +3 -0
  53. data/lib/checkout_sdk/payments/refund_order.rb +53 -0
  54. data/lib/checkout_sdk/payments/refund_request.rb +11 -2
  55. data/lib/checkout_sdk/payments/sender/government_sender.rb +3 -0
  56. data/lib/checkout_sdk/payments/sender/individual_sender.rb +3 -0
  57. data/lib/checkout_sdk/payments/sessions/payment_sessions_request.rb +3 -0
  58. data/lib/checkout_sdk/payments/source/apm/ach_source.rb +27 -0
  59. data/lib/checkout_sdk/payments/source/apm/bizum_source.rb +15 -0
  60. data/lib/checkout_sdk/payments/source/apm/octopus_source.rb +11 -0
  61. data/lib/checkout_sdk/payments/source/apm/plaid_source.rb +17 -0
  62. data/lib/checkout_sdk/payments/source/apm/sequra_source.rb +15 -0
  63. data/lib/checkout_sdk/payments/source/card_source.rb +4 -1
  64. data/lib/checkout_sdk/payments/source/customer_source.rb +4 -1
  65. data/lib/checkout_sdk/payments/source/id_source.rb +4 -1
  66. data/lib/checkout_sdk/payments/source/network_token_source.rb +7 -1
  67. data/lib/checkout_sdk/payments/source/token_source.rb +4 -1
  68. data/lib/checkout_sdk/sessions/authentication_method.rb +3 -3
  69. data/lib/checkout_sdk/sessions/authentication_type.rb +3 -3
  70. data/lib/checkout_sdk/sessions/card_holder_account_info.rb +39 -3
  71. data/lib/checkout_sdk/sessions/channel/browser_session.rb +4 -1
  72. data/lib/checkout_sdk/sessions/channel/channel_data_type.rb +1 -0
  73. data/lib/checkout_sdk/sessions/channel/merchant_initiated_session.rb +15 -0
  74. data/lib/checkout_sdk/sessions/channel/request_type.rb +19 -0
  75. data/lib/checkout_sdk/sessions/channel/sdk_interface_type.rb +2 -2
  76. data/lib/checkout_sdk/sessions/initial_transaction.rb +23 -0
  77. data/lib/checkout_sdk/sessions/installment.rb +5 -0
  78. data/lib/checkout_sdk/sessions/merchant_risk_info.rb +20 -2
  79. data/lib/checkout_sdk/sessions/optimization.rb +19 -0
  80. data/lib/checkout_sdk/sessions/optimized_properties.rb +17 -0
  81. data/lib/checkout_sdk/sessions/pre_order_purchase_indicator_type.rb +10 -0
  82. data/lib/checkout_sdk/sessions/recurring.rb +5 -0
  83. data/lib/checkout_sdk/sessions/reorder_items_indicator_type.rb +10 -0
  84. data/lib/checkout_sdk/sessions/session_request.rb +25 -2
  85. data/lib/checkout_sdk/sessions/sessions.rb +9 -0
  86. data/lib/checkout_sdk/sessions/source/card_source.rb +2 -1
  87. data/lib/checkout_sdk/sessions/three_ds_method_completion_request.rb +3 -1
  88. data/lib/checkout_sdk/sessions/three_ds_req_auth_method.rb +16 -0
  89. data/lib/checkout_sdk/sessions/three_ds_requestor_authentication_info.rb +17 -0
  90. data/lib/checkout_sdk/sessions/transaction_type.rb +3 -3
  91. data/lib/checkout_sdk/version.rb +1 -1
  92. metadata +52 -7
  93. data/lib/checkout_sdk/payments/sessions/payment_method_configuration.rb +0 -11
@@ -17,6 +17,7 @@ require 'checkout_sdk/payments/payment_instruction'
17
17
  require 'checkout_sdk/payments/payment_method_details'
18
18
  require 'checkout_sdk/payments/refund_request'
19
19
  require 'checkout_sdk/payments/product'
20
+ require 'checkout_sdk/payments/refund_order'
20
21
  require 'checkout_sdk/payments/capture_type'
21
22
  require 'checkout_sdk/payments/payment_type'
22
23
  require 'checkout_sdk/payments/merchant_initiated_reason'
@@ -42,6 +43,11 @@ require 'checkout_sdk/payments/billing_plan'
42
43
  require 'checkout_sdk/payments/billing_plan_type'
43
44
  require 'checkout_sdk/payments/billing_information'
44
45
  require 'checkout_sdk/payments/payments_query_filter'
46
+ require 'checkout_sdk/payments/payment_method_configuration'
47
+ require 'checkout_sdk/payments/card'
48
+ require 'checkout_sdk/payments/applepay'
49
+ require 'checkout_sdk/payments/googlepay'
50
+ require 'checkout_sdk/payments/locale_type'
45
51
 
46
52
  # Source
47
53
  require 'checkout_sdk/payments/source/payment_source'
@@ -82,7 +88,11 @@ require 'checkout_sdk/payments/source/apm/cv_connect_source'
82
88
  require 'checkout_sdk/payments/source/apm/trustly_source'
83
89
  require 'checkout_sdk/payments/source/apm/illicado_source'
84
90
  require 'checkout_sdk/payments/source/apm/sepa_source'
85
-
91
+ require 'checkout_sdk/payments/source/apm/ach_source'
92
+ require 'checkout_sdk/payments/source/apm/bizum_source'
93
+ require 'checkout_sdk/payments/source/apm/octopus_source'
94
+ require 'checkout_sdk/payments/source/apm/plaid_source'
95
+ require 'checkout_sdk/payments/source/apm/sequra_source'
86
96
  # Sender
87
97
  require 'checkout_sdk/payments/sender/sender'
88
98
  require 'checkout_sdk/payments/sender/sender_type'
@@ -152,6 +162,8 @@ require 'checkout_sdk/payments/previous/payments_client'
152
162
  # Hosted Payments
153
163
  require 'checkout_sdk/payments/hosted/hosted_payments_session'
154
164
  require 'checkout_sdk/payments/hosted/hosted_payments_client'
165
+ require 'checkout_sdk/payments/hosted/hosted_payment_instruction'
166
+ require 'checkout_sdk/payments/hosted/payment_purpose_type'
155
167
 
156
168
  # Payment Links
157
169
  require 'checkout_sdk/payments/links/payment_link'
@@ -164,6 +176,4 @@ require 'checkout_sdk/payments/contexts/payment_contexts_client'
164
176
  require 'checkout_sdk/payments/sessions/payment_sessions_client'
165
177
  require 'checkout_sdk/payments/sessions/payment_sessions_request'
166
178
  require 'checkout_sdk/payments/sessions/payment_methods_type'
167
- require 'checkout_sdk/payments/sessions/payment_method_configuration'
168
- require 'checkout_sdk/payments/sessions/card'
169
179
  require 'checkout_sdk/payments/sessions/store_payment_details_type'
@@ -18,6 +18,8 @@ module CheckoutSdk
18
18
  # @return [Integer]
19
19
  # @!attribute tax_amount
20
20
  # @return [Integer]
21
+ # @!attribute tax_rate
22
+ # @return [Integer]
21
23
  # @!attribute discount_amount
22
24
  # @return [Integer]
23
25
  # @!attribute wxpay_goods_id
@@ -37,6 +39,7 @@ module CheckoutSdk
37
39
  :unit_of_measure,
38
40
  :total_amount,
39
41
  :tax_amount,
42
+ :tax_rate,
40
43
  :discount_amount,
41
44
  :wxpay_goods_id,
42
45
  :image_url,
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # @!attribute name
6
+ # @return [String]
7
+ # @!attribute quantity
8
+ # @return [Integer]
9
+ # @!attribute unit_price
10
+ # @return [Integer]
11
+ # @!attribute reference
12
+ # @return [String]
13
+ # @!attribute commodity_code
14
+ # @return [String]
15
+ # @!attribute unit_of_measure
16
+ # @return [String]
17
+ # @!attribute total_amount
18
+ # @return [Integer]
19
+ # @!attribute tax_amount
20
+ # @return [Integer]
21
+ # @!attribute tax_rate
22
+ # @return [Integer]
23
+ # @!attribute discount_amount
24
+ # @return [Integer]
25
+ # @!attribute wxpay_goods_id
26
+ # @return [String]
27
+ # @!attribute image_url
28
+ # @return [String]
29
+ # @!attribute url
30
+ # @return [String]
31
+ # @!attribute sku
32
+ # @return [String]
33
+ # @!attribute service_ends_on
34
+ # @return [Time]
35
+ class RefundOrder
36
+ attr_accessor :name,
37
+ :quantity,
38
+ :unit_price,
39
+ :reference,
40
+ :commodity_code,
41
+ :unit_of_measure,
42
+ :total_amount,
43
+ :tax_amount,
44
+ :tax_rate,
45
+ :discount_amount,
46
+ :wxpay_goods_id,
47
+ :image_url,
48
+ :url,
49
+ :sku,
50
+ :service_ends_on
51
+ end
52
+ end
53
+ end
@@ -9,12 +9,21 @@ module CheckoutSdk
9
9
  # @!attribute metadata
10
10
  # @return [Hash{String => Object}]
11
11
  # @!attribute amount_allocations
12
- # @return [Array(CheckoutSdk::Common::AmountAllocations)] - Not available on Previous.
12
+ # @return [Array(CheckoutSdk::Common::AmountAllocations)]
13
+ # @!attribute capture_action_id
14
+ # @return [String]
15
+ # @!attribute destination
16
+ # @return [CheckoutSdk::Common::Destination]
17
+ # @!attribute items
18
+ # @return [Array(CheckoutSdk::Payments::RefundOrder)]
13
19
  class RefundRequest
14
20
  attr_accessor :amount,
15
21
  :reference,
16
22
  :metadata,
17
- :amount_allocations
23
+ :amount_allocations,
24
+ :capture_action_id,
25
+ :destination,
26
+ :items
18
27
  end
19
28
  end
20
29
  end
@@ -6,6 +6,8 @@ module CheckoutSdk
6
6
  # @return [String]
7
7
  # @!attribute address
8
8
  # @return [CheckoutSdk::Common::Address]
9
+ # @!attribute reference
10
+ # @return [String]
9
11
  # @!attribute reference_type
10
12
  # @return [String]
11
13
  # @!attribute source_of_funds
@@ -15,6 +17,7 @@ module CheckoutSdk
15
17
  class GovernmentSender < Sender
16
18
  attr_accessor :company_name,
17
19
  :address,
20
+ :reference,
18
21
  :reference_type,
19
22
  :source_of_funds,
20
23
  :identification
@@ -14,6 +14,8 @@ module CheckoutSdk
14
14
  # @return [CheckoutSdk::Common::Address]
15
15
  # @!attribute identification
16
16
  # @return [CheckoutSdk::Common::AccountHolderIdentification]
17
+ # @!attribute reference
18
+ # @return [String]
17
19
  # @!attribute reference_type
18
20
  # @return [String]
19
21
  # @!attribute date_of_birth
@@ -31,6 +33,7 @@ module CheckoutSdk
31
33
  :dob,
32
34
  :address,
33
35
  :identification,
36
+ :reference,
34
37
  :reference_type,
35
38
  :date_of_birth,
36
39
  :source_of_funds,
@@ -60,6 +60,8 @@ module CheckoutSdk
60
60
  # @return [TrueClass, FalseClass]
61
61
  # @!attribute ip_address
62
62
  # @return [String]
63
+ # @!attribute capture_on
64
+ # @return [Time]
63
65
  # @!attribute tax_amount
64
66
  # @return [Integer]
65
67
  class PaymentSessionsRequest
@@ -92,6 +94,7 @@ module CheckoutSdk
92
94
  :sender,
93
95
  :capture,
94
96
  :ip_address,
97
+ :capture_on,
95
98
  :tax_amount
96
99
  end
97
100
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # @!attribute account_type
6
+ # @return [CheckoutSdk::Common::AccountType]
7
+ # @!attribute country
8
+ # @return [CheckoutSdk::Common::Country]
9
+ # @!attribute account_number
10
+ # @return [String]
11
+ # @!attribute bank_code
12
+ # @return [String]
13
+ # @!attribute account_holder
14
+ # @return [CheckoutSdk::Common::AccountHolder]
15
+ class AchSource < PaymentSource
16
+ attr_accessor :account_type,
17
+ :country,
18
+ :account_number,
19
+ :bank_code,
20
+ :account_holder
21
+
22
+ def initialize
23
+ super CheckoutSdk::Common::PaymentSourceType::ACH
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # @!attribute mobile_number
6
+ # @return [String]
7
+ class BizumSource < PaymentSource
8
+ attr_accessor :mobile_number
9
+
10
+ def initialize
11
+ super CheckoutSdk::Common::PaymentSourceType::BIZUM
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ class OctopusSource < PaymentSource
6
+ def initialize
7
+ super CheckoutSdk::Common::PaymentSourceType::OCTOPUS
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # @!attribute token
6
+ # @return [String]
7
+ # @!attribute account_holder
8
+ # @return [CheckoutSdk::Common::AccountHolder]
9
+ class PlaidSource < PaymentSource
10
+ attr_accessor :token, :account_holder
11
+
12
+ def initialize
13
+ super CheckoutSdk::Common::PaymentSourceType::PLAID
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # @!attribute billing_address
6
+ # @return [CheckoutSdk::Common::Address]
7
+ class SequraSource < PaymentSource
8
+ attr_accessor :billing_address
9
+
10
+ def initialize
11
+ super CheckoutSdk::Common::PaymentSourceType::SEQURA
12
+ end
13
+ end
14
+ end
15
+ end
@@ -20,6 +20,8 @@ module CheckoutSdk
20
20
  # @return [CheckoutSdk::Common::Address]
21
21
  # @!attribute phone
22
22
  # @return [CheckoutSdk::Common::Phone]
23
+ # @!attribute account_holder
24
+ # @return [CheckoutSdk::Common::AccountHolder]
23
25
  class CardSource < PaymentSource
24
26
  attr_accessor :number,
25
27
  :expiry_month,
@@ -29,7 +31,8 @@ module CheckoutSdk
29
31
  :stored,
30
32
  :store_for_future_use,
31
33
  :billing_address,
32
- :phone
34
+ :phone,
35
+ :account_holder
33
36
 
34
37
  def initialize
35
38
  super CheckoutSdk::Common::PaymentSourceType::CARD
@@ -4,8 +4,11 @@ module CheckoutSdk
4
4
  module Payments
5
5
  # @!attribute id
6
6
  # @return [String]
7
+ # @!attribute account_holder
8
+ # @return [CheckoutSdk::Common::AccountHolder]
7
9
  class CustomerSource < PaymentSource
8
- attr_accessor :id
10
+ attr_accessor :id,
11
+ :account_holder
9
12
 
10
13
  def initialize
11
14
  super CheckoutSdk::Common::PaymentSourceType::CUSTOMER
@@ -12,12 +12,15 @@ module CheckoutSdk
12
12
  # @return [TrueClass, FalseClass]
13
13
  # @!attribute store_for_future_use
14
14
  # @return [TrueClass, FalseClass]
15
+ # @!attribute account_holder
16
+ # @return [CheckoutSdk::Common::AccountHolder]
15
17
  class IdSource < PaymentSource
16
18
  attr_accessor :id,
17
19
  :cvv,
18
20
  :payment_method,
19
21
  :stored,
20
- :store_for_future_use
22
+ :store_for_future_use,
23
+ :account_holder
21
24
 
22
25
  def initialize
23
26
  super CheckoutSdk::Common::PaymentSourceType::ID
@@ -16,6 +16,8 @@ module CheckoutSdk
16
16
  # @return [String]
17
17
  # @!attribute stored
18
18
  # @return [TrueClass, FalseClass]
19
+ # @!attribute store_for_future_use
20
+ # @return [TrueClass, FalseClass]
19
21
  # @!attribute name
20
22
  # @return [String]
21
23
  # @!attribute cvv
@@ -24,6 +26,8 @@ module CheckoutSdk
24
26
  # @return [CheckoutSdk::Common::Address]
25
27
  # @!attribute phone
26
28
  # @return [CheckoutSdk::Common::Phone]
29
+ # @!attribute account_holder
30
+ # @return [CheckoutSdk::Common::AccountHolder]
27
31
  class NetworkTokenSource < PaymentSource
28
32
  attr_accessor :token,
29
33
  :expiry_month,
@@ -32,10 +36,12 @@ module CheckoutSdk
32
36
  :cryptogram,
33
37
  :eci,
34
38
  :stored,
39
+ :store_for_future_use,
35
40
  :name,
36
41
  :cvv,
37
42
  :billing_address,
38
- :phone
43
+ :phone,
44
+ :account_holder
39
45
 
40
46
  def initialize
41
47
  super CheckoutSdk::Common::PaymentSourceType::NETWORK_TOKEN
@@ -12,12 +12,15 @@ module CheckoutSdk
12
12
  # @return [TrueClass, FalseClass]
13
13
  # @!attribute store_for_future_use
14
14
  # @return [TrueClass, FalseClass]
15
+ # @!attribute account_holder
16
+ # @return [CheckoutSdk::Common::AccountHolder]
15
17
  class TokenSource < PaymentSource
16
18
  attr_accessor :token,
17
19
  :billing_address,
18
20
  :phone,
19
21
  :stored,
20
- :store_for_future_use
22
+ :store_for_future_use,
23
+ :account_holder
21
24
 
22
25
  def initialize
23
26
  super CheckoutSdk::Common::PaymentSourceType::TOKEN
@@ -3,12 +3,12 @@
3
3
  module CheckoutSdk
4
4
  module Sessions
5
5
  module AuthenticationMethod
6
- NO_AUTHENTICATION = 'no_authentication'
7
- OWN_CREDENTIALS = 'own_credentials'
8
6
  FEDERATED_ID = 'federated_id'
7
+ FIDO = 'fido'
9
8
  ISSUER_CREDENTIALS = 'issuer_credentials'
9
+ NO_AUTHENTICATION = 'no_authentication'
10
+ OWN_CREDENTIALS = 'own_credentials'
10
11
  THIRD_PARTY_AUTHENTICATION = 'third_party_authentication'
11
- FIDO = 'fido'
12
12
  end
13
13
  end
14
14
  end
@@ -3,11 +3,11 @@
3
3
  module CheckoutSdk
4
4
  module Sessions
5
5
  module AuthenticationType
6
- REGULAR = 'regular'
7
- RECURRING = 'recurring'
6
+ ADD_CARD = 'add_card'
8
7
  INSTALLMENT = 'installment'
9
8
  MAINTAIN_CARD = 'maintain_card'
10
- ADD_CARD = 'add_card'
9
+ RECURRING = 'recurring'
10
+ REGULAR = 'regular'
11
11
  end
12
12
  end
13
13
  end
@@ -17,8 +17,32 @@ module CheckoutSdk
17
17
  # @!attribute transactions_today
18
18
  # @return [Integer]
19
19
  # @!attribute authentication_method
20
- # @return [String] {AuthenticationMethod}
21
- class CardHolderAccountInfo
20
+ # @return [AuthenticationMethod] @deprecated This property will be removed in the future, and should not be used.
21
+ # @!attribute cardholder_account_age_indicator
22
+ # @return [CheckoutSdk::Common::CardholderAccountAgeIndicatorType]
23
+ # @!attribute account_change
24
+ # @return [Time]
25
+ # @!attribute account_change_indicator
26
+ # @return [CheckoutSdk::Common::AccountChangeIndicatorType]
27
+ # @!attribute account_date
28
+ # @return [Time]
29
+ # @!attribute account_password_change
30
+ # @return [String]
31
+ # @!attribute account_password_change_indicator
32
+ # @return [CheckoutSdk::Common::AccountPasswordChangeIndicatorType]
33
+ # @!attribute transactions_per_year
34
+ # @return [Integer]
35
+ # @!attribute payment_account_age
36
+ # @return [Time]
37
+ # @!attribute shipping_address_usage
38
+ # @return [Time]
39
+ # @!attribute account_type
40
+ # @return [CheckoutSdk::Common::AccountTypeCardProductType]
41
+ # @!attribute account_id
42
+ # @return [String]
43
+ # @!attribute three_ds_requestor_authentication_info
44
+ # @return [ThreeDsRequestorAuthenticationInfo]
45
+ class CardholderAccountInfo
22
46
  attr_accessor :purchase_count,
23
47
  :account_age,
24
48
  :add_card_attempts,
@@ -26,7 +50,19 @@ module CheckoutSdk
26
50
  :account_name_matches_shipping_name,
27
51
  :suspicious_account_activity,
28
52
  :transactions_today,
29
- :authentication_method
53
+ :authentication_method, # @deprecated
54
+ :cardholder_account_age_indicator,
55
+ :account_change,
56
+ :account_change_indicator,
57
+ :account_date,
58
+ :account_password_change,
59
+ :account_password_change_indicator,
60
+ :transactions_per_year,
61
+ :payment_account_age,
62
+ :shipping_address_usage,
63
+ :account_type,
64
+ :account_id,
65
+ :three_ds_requestor_authentication_info
30
66
  end
31
67
  end
32
68
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'checkout_sdk/sessions/channel/three_ds_method_completion'
4
+
3
5
  module CheckoutSdk
4
6
  module Sessions
5
7
  # @!attribute three_ds_method_completion
@@ -37,8 +39,9 @@ module CheckoutSdk
37
39
  :user_agent,
38
40
  :ip_address
39
41
 
40
- def initialize
42
+ def initialize(three_ds_method_completion: CheckoutSdk::Sessions::ThreeDsMethodCompletion::U)
41
43
  super ChannelDataType::BROWSER
44
+ @three_ds_method_completion = three_ds_method_completion
42
45
  end
43
46
  end
44
47
  end
@@ -5,6 +5,7 @@ module CheckoutSdk
5
5
  module ChannelDataType
6
6
  APP = 'app'
7
7
  BROWSER = 'browser'
8
+ MERCHANT_INITIATED = 'merchant_initiated'
8
9
  end
9
10
  end
10
11
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Sessions
5
+ # @!attribute request_type
6
+ # @return [RequestType]
7
+ class MerchantInitiatedSession < ChannelData
8
+ attr_accessor :request_type
9
+
10
+ def initialize
11
+ super ChannelDataType::MERCHANT_INITIATED
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Sessions
5
+ module RequestType
6
+ ACCOUNT_VERIFICATION = 'account_verification'
7
+ ADD_CARD = 'add_card'
8
+ INSTALLMENT_TRANSACTION = 'installment_transaction'
9
+ MAIL_ORDER = 'mail_order'
10
+ MAINTAIN_CARD_INFORMATION = 'maintain_card_information'
11
+ OTHER_PAYMENT = 'other_payment'
12
+ RECURRING_TRANSACTION = 'recurring_transaction'
13
+ SPLIT_OR_DELAYED_SHIPMENT = 'split_or_delayed_shipment'
14
+ TELEPHONE_ORDER = 'telephone_order'
15
+ TOP_UP = 'top_up'
16
+ WHITELIST_STATUS_CHECK = 'whitelist_status_check'
17
+ end
18
+ end
19
+ end
@@ -3,9 +3,9 @@
3
3
  module CheckoutSdk
4
4
  module Sessions
5
5
  module SdkInterfaceType
6
- NATIVE = 'native'
7
- HTML = 'html'
8
6
  BOTH = 'both'
7
+ HTML = 'html'
8
+ NATIVE = 'native'
9
9
  end
10
10
  end
11
11
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Sessions
5
+ # @!attribute acs_transaction_id
6
+ # @return [String]
7
+ # @!attribute authentication_method
8
+ # @return [String]
9
+ # @!attribute authentication_timestamp
10
+ # @return [String]
11
+ # @!attribute authentication_data
12
+ # @return [String]
13
+ # @!attribute initial_session_id
14
+ # @return [String]
15
+ class InitialTransaction
16
+ attr_accessor :acs_transaction_id,
17
+ :authentication_method,
18
+ :authentication_timestamp,
19
+ :authentication_data,
20
+ :initial_session_id
21
+ end
22
+ end
23
+ end
@@ -12,6 +12,11 @@ module CheckoutSdk
12
12
  attr_accessor :number_of_payments,
13
13
  :days_between_payments,
14
14
  :expiry
15
+
16
+ def initialize(days_between_payments: 1, expiry: '99991231')
17
+ @days_between_payments = days_between_payments
18
+ @expiry = expiry
19
+ end
15
20
  end
16
21
  end
17
22
  end
@@ -5,19 +5,37 @@ module CheckoutSdk
5
5
  # @!attribute delivery_email
6
6
  # @return [String]
7
7
  # @!attribute delivery_timeframe
8
- # @return [String] {DeliveryTimeframe}
8
+ # @return [String] {}DeliveryTimeframe}
9
9
  # @!attribute is_preorder
10
10
  # @return [TrueClass, FalseClass]
11
11
  # @!attribute is_reorder
12
12
  # @return [TrueClass, FalseClass]
13
13
  # @!attribute shipping_indicator
14
14
  # @return [String] {ShippingIndicator}
15
+ # @!attribute reorder_items_indicator
16
+ # @return [String] {ReorderItemsIndicatorType}
17
+ # @!attribute pre_order_purchase_indicator
18
+ # @return [String] {PreOrderPurchaseIndicatorType}
19
+ # @!attribute pre_order_date
20
+ # @return [Time]
21
+ # @!attribute gift_card_amount
22
+ # @return [String]
23
+ # @!attribute gift_card_currency
24
+ # @return [String]
25
+ # @!attribute gift_card_count
26
+ # @return [String]
15
27
  class MerchantRiskInfo
16
28
  attr_accessor :delivery_email,
17
29
  :delivery_timeframe,
18
30
  :is_preorder,
19
31
  :is_reorder,
20
- :shipping_indicator
32
+ :shipping_indicator,
33
+ :reorder_items_indicator,
34
+ :pre_order_purchase_indicator,
35
+ :pre_order_date,
36
+ :gift_card_amount,
37
+ :gift_card_currency,
38
+ :gift_card_count
21
39
  end
22
40
  end
23
41
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'checkout_sdk/sessions/optimized_properties'
4
+
5
+ module CheckoutSdk
6
+ module Sessions
7
+ # @!attribute optimized
8
+ # @return [TrueClass, FalseClass]
9
+ # @!attribute framework
10
+ # @return [String]
11
+ # @!attribute optimized_properties
12
+ # @return [Array(OptimizedProperties)]
13
+ class Optimization
14
+ attr_accessor :optimized,
15
+ :framework,
16
+ :optimized_properties
17
+ end
18
+ end
19
+ end