checkout_sdk 2.7.0 → 2.7.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cd5982ca215c9826f2e674ae220b9e8e543df849aa3a53f52bb6776d10640d7
4
- data.tar.gz: db69647504e345b28e6b59984c7003f5af518857e5c1d5e272f286ef412f9640
3
+ metadata.gz: 0ffa084c12fc5f4e0c765b41a3e4dd3e970ca006584c25623106e93dae1c6001
4
+ data.tar.gz: 8b69b0fff53b0eb662383c47f36af073aad85adca12d6d7edb46db9323859eb9
5
5
  SHA512:
6
- metadata.gz: 37f9058e2c2201e2718792e701c23cc691f41219fbbd3b483475399d2de69c0ab26ba3c07f218ba5ea656da4ef37976f962c77e4d60d142c8c9c98c55b51da44
7
- data.tar.gz: 4449ec19ac66472ce3a4f1d01eae9deb4f4535b2ed7c9c8060c26219245183d8beb8361ab8b7316f7d21041ac7d7af885581daf520b1dabd8aeab743c150c750
6
+ metadata.gz: c4d4935f79a0e91ce703cae0dbdf02e6445065525e501cba3401adf956de27d7ea399e75d52b230e7c3de5279e5e2d5936fff9fcc77f556b19aae6b80c7de801
7
+ data.tar.gz: a209f2204ed7275f7e9b880dc4fe0c55758eefbd3687d8c83eed8596c3c69f701f4aadd0193c5d79e4da241756eeb19eaf21f88feefc1f49de076df41d8c3b2d
@@ -3,7 +3,6 @@
3
3
  module CheckoutSdk
4
4
  module Payments
5
5
  # Client for Payment Flow API operations
6
- # [Beta]
7
6
  class FlowClient < Client
8
7
  PAYMENT_SESSIONS_PATH = 'payment-sessions'
9
8
  SUBMIT_PATH = 'submit'
@@ -17,7 +16,6 @@ module CheckoutSdk
17
16
 
18
17
  # Creates a Payment Session.
19
18
  # Use this endpoint to set up a payment session before collecting payment details from your customer.
20
- # [Beta]
21
19
  #
22
20
  # @param [Hash] request_payment_session_request
23
21
  def request_payment_session(request_payment_session_request)
@@ -30,7 +28,6 @@ module CheckoutSdk
30
28
 
31
29
  # Submits a Payment Session.
32
30
  # Use this endpoint to submit payment details and process the payment for an existing session.
33
- # [Beta]
34
31
  #
35
32
  # The request accepts `amount_allocations`: the sub-entities the payment is being
36
33
  # processed on behalf of, min 1 max 50 items. Each entry maps to
@@ -50,7 +47,6 @@ module CheckoutSdk
50
47
 
51
48
  # Creates and submits a Payment Session in a single request.
52
49
  # Use this endpoint to create a payment session and immediately process the payment.
53
- # [Beta]
54
50
  #
55
51
  # @param [Hash] request_payment_session_with_payment_request
56
52
  def request_payment_session_with_payment(request_payment_session_with_payment_request)
@@ -219,6 +219,7 @@ require 'checkout_sdk/payments/setups/payment_setup_account_funding_transaction'
219
219
  require 'checkout_sdk/payments/setups/payment_setup_billing_descriptor'
220
220
  require 'checkout_sdk/payments/setups/payment_setup_presentment_details'
221
221
  require 'checkout_sdk/payments/setups/payment_setup_terminal'
222
+ require 'checkout_sdk/payments/setups/payment_setup_risk'
222
223
  require 'checkout_sdk/payments/setups/payment_setup_accommodation_address'
223
224
  require 'checkout_sdk/payments/setups/payment_setup_accommodation_guest'
224
225
  require 'checkout_sdk/payments/setups/payment_setup_accommodation_room'
@@ -5,7 +5,8 @@ module CheckoutSdk
5
5
  # Bacs payment method configuration on a Payment Setup. Maps swagger `Bacs`.
6
6
  #
7
7
  # @!attribute status
8
- # @return [String] (response-only) Payment method status.
8
+ # @return [String] (response-only) Payment method status, one of
9
+ # {PaymentSetupPaymentMethodStatus} (e.g. "ready").
9
10
  # @!attribute flags
10
11
  # @return [Array(String)] (response-only) Diagnostic flags returned by the API.
11
12
  # @!attribute initialization
@@ -2,10 +2,11 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
- # Blik payment method configuration on a Payment Setup.
5
+ # Blik payment method configuration on a Payment Setup. Maps swagger `Blik`.
6
6
  #
7
7
  # @!attribute status
8
- # @return [String] (response-only) Payment method status (e.g. "available").
8
+ # @return [String] (response-only) Payment method status, one of
9
+ # {PaymentSetupPaymentMethodStatus} (e.g. "ready").
9
10
  # @!attribute flags
10
11
  # @return [Array(String)] (response-only) Diagnostic flags returned by the API.
11
12
  # @!attribute partner_code
@@ -5,7 +5,8 @@ module CheckoutSdk
5
5
  # Card Present payment method configuration on a Payment Setup. Maps swagger `CardPresent`.
6
6
  #
7
7
  # @!attribute status
8
- # @return [String] (response-only) Payment method status.
8
+ # @return [String] (response-only) Payment method status, one of
9
+ # {PaymentSetupPaymentMethodStatus} (e.g. "ready").
9
10
  # @!attribute flags
10
11
  # @return [Array(String)] (response-only) Diagnostic flags returned by the API.
11
12
  # @!attribute track2
@@ -2,23 +2,47 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
- # Pay by Bank (Open Banking) payment method configuration on a Payment Setup.
6
- # Maps swagger `PayByBank`.
5
+ # The Pay by Bank (Open Banking) payment method's details and configuration on a Payment Setup.
6
+ # Maps swagger `PayByBank`. Sent under the `payment_methods.paybybank` key (one lowercase word,
7
+ # not `pay_by_bank`; the API ignores `pay_by_bank` without an error).
7
8
  #
8
- # @!attribute status
9
- # @return [String] (response-only) Payment method status.
10
- # @!attribute flags
11
- # @return [Array(String)] (response-only) Diagnostic flags returned by the API.
12
- # @!attribute bank_id
13
- # @return [String] The identifier of the bank the customer has selected for the payment.
14
- # @!attribute action
15
- # @return [Hash] (response-only) The next available action for the payment method
16
- # (`type`, `banks`).
9
+ # The Payment Setup request is a Hash, and a Hash request is sent as is, so do not nest an
10
+ # instance of this class in it directly: it would not be serialized. Pass a Hash with these keys,
11
+ # or convert an instance first:
12
+ # pay_by_bank = CheckoutSdk::Payments::PayByBankPaymentMethod.new
13
+ # pay_by_bank.bank_id = 'ob-natwest'
14
+ # request[:payment_methods] = { paybybank: CheckoutSdk::JsonSerializer.to_custom_hash(pay_by_bank) }
15
+ # Responses are read with dot access, for example response.payment_methods.paybybank.action.banks.
17
16
  class PayByBankPaymentMethod
18
- attr_accessor :status,
19
- :flags,
20
- :bank_id,
21
- :action
17
+ # The payment method status.
18
+ # [Optional]
19
+ # Read only.
20
+ # Enum: "unavailable" "action_required" "ready" "initialization_required" "invalid"
21
+ # @return [String] One of {PaymentSetupPaymentMethodStatus}.
22
+ attr_accessor :status
23
+
24
+ # The list of error codes or indicators that highlight missing or invalid information.
25
+ # [Optional]
26
+ # Read only.
27
+ # @return [Array(String)]
28
+ attr_accessor :flags
29
+
30
+ # The identifier of the bank the customer has selected for the payment.
31
+ # [Optional]
32
+ # @return [String]
33
+ attr_accessor :bank_id
34
+
35
+ # The next available action for the payment method.
36
+ # [Optional]
37
+ # Read only.
38
+ # Keys:
39
+ # - `type` (String): The type of action. Enum: "select_bank".
40
+ # - `banks` (Array(Hash)): The list of banks available for the customer to select. Each item has
41
+ # `bank_id` (String, the unique identifier of the bank), `display_name` (String, the display
42
+ # name of the bank), `logo_url` (String, the URL of the bank's logo) and `available`
43
+ # (Boolean, whether the bank is currently available for selection).
44
+ # @return [Hash]
45
+ attr_accessor :action
22
46
  end
23
47
  end
24
48
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # Risk assessment settings for the Payment Setup.
6
+ # Maps the swagger `PaymentSetup.risk` object. Sent under the `risk` key.
7
+ #
8
+ # The Payment Setup request is a Hash, so pass { enabled: false } directly, or convert an
9
+ # instance first with CheckoutSdk::JsonSerializer.to_custom_hash(risk).
10
+ class PaymentSetupRisk
11
+ # Indicates whether a risk assessment should be performed.
12
+ # [Optional]
13
+ # Default: true
14
+ # @return [TrueClass, FalseClass]
15
+ attr_accessor :enabled
16
+ end
17
+ end
18
+ end
@@ -28,12 +28,51 @@ module CheckoutSdk
28
28
  # :industry {PaymentSetupIndustry} (containing :accommodation
29
29
  # {Array(PaymentSetupAccommodation)} and :airline {Array(PaymentSetupAirline)}).
30
30
  # A Hash request is sent as is, so every nested value must be a Hash too. To use one of the
31
- # typed classes above (or {CashAppPaymentMethod}), convert it first with
31
+ # typed classes above (or {CashAppPaymentMethod}, {PayByBankPaymentMethod} or
32
+ # {PaymentSetupRisk}), convert it first with
32
33
  # CheckoutSdk::JsonSerializer.to_custom_hash(object); a typed object nested directly in the
33
34
  # Hash is not serialized and is sent as "#<CheckoutSdk::...>".
34
35
  # :payment_methods may include :cashapp (the key is the single lowercase word `cashapp`), a Hash
35
36
  # with the keys documented on {CashAppPaymentMethod}; you send :initialization ("disabled" or
36
37
  # "enabled") and :customer_profile_sharing (Boolean).
38
+ # :payment_methods may also include :paybybank (the key is the single lowercase word
39
+ # `paybybank`; the API ignores `pay_by_bank` without an error), a Hash with the keys documented
40
+ # on {PayByBankPaymentMethod}; you send :bank_id (the identifier of the bank the customer has
41
+ # selected for the payment).
42
+ # :payment_methods may also include (every key is optional unless marked required):
43
+ # - :card - :token (a Hash with :id, String, the Checkout.com card token), :details (the card
44
+ # data: :number (String, write-only), :expiry_month (Integer), :expiry_year (Integer), :name
45
+ # (String, write-only), :cvv (String, write-only), :stored (Boolean, write-only) and
46
+ # :allow_update (Boolean)), :store_for_future_use (Boolean, write-only), :phone
47
+ # (:country_code, String, min 1 character, max 7 characters, and :number, String, min 6
48
+ # characters, max 25 characters), :account_holder (:type, one of "individual", "government"
49
+ # or "corporate", :first_name, :last_name, :middle_name, :company_name (Strings) and
50
+ # :account_name_inquiry (Boolean)) and :preferred_scheme ("visa", "mastercard" or
51
+ # "cartes_bancaires"). The card data goes under :details; the API ignores it at the top level
52
+ # of :card.
53
+ # - :applepay - :token_data (write-only: :version, :data and :signature (Strings) and :header,
54
+ # a Hash with :ephemeral_public_key, :public_key_hash and :transaction_id (Strings)), :token (a
55
+ # Hash with :id, String, required, pattern ^(tok)_(\w{26})$, and :expires_on, date-time,
56
+ # ISO 8601; a String token is not accepted), :store_for_future_use (Boolean, write-only),
57
+ # :phone and :account_holder as on :card, and :preferred_scheme ("visa", "mastercard" or
58
+ # "cartes_bancaires"). Apple Pay has no :details.
59
+ # - :googlepay - :token_data (write-only: :protocol_version, :signature, :signed_message and
60
+ # :tokenization_key (Strings)), :token, :store_for_future_use, :phone and :account_holder as
61
+ # on :applepay, and :preferred_scheme ("visa" or "mastercard" only). Google Pay has no
62
+ # :details.
63
+ # - :instrument - :id (String, the unique identifier of the instrument to use).
64
+ # - :auto_confirm - String, the payment method that automatically confirms the payment when it
65
+ # is ready, for example "card".
66
+ # :settings may include :success_url and :failure_url (String, format uri, max 255
67
+ # characters), :capture (Boolean, whether to capture the payment immediately, default true) and
68
+ # :excluded_payment_methods (Array of Strings, payment method names, for example ["klarna"]).
69
+ # :order may include :sub_merchants, an Array of Hashes with :id (String), :product_category
70
+ # (String), :number_of_sales (Integer; the API does not define number_of_trades) and
71
+ # :registration_date (String, format date, yyyy-MM-dd).
72
+ # :metadata - A Hash of key/value pairs to attach to the payment (max 20 keys); each value is a
73
+ # String (max 255 characters), a Number or a Boolean.
74
+ # :risk {PaymentSetupRisk} - Risk assessment settings for the Payment Setup: :enabled
75
+ # (Boolean, whether a risk assessment should be performed, default true).
37
76
  # :customer may include:
38
77
  # - :id - The unique identifier of the customer.
39
78
  # - :country - The two-letter ISO country code of the customer for this payment
@@ -58,7 +97,11 @@ module CheckoutSdk
58
97
  # customer's device, one of {PaymentSetupDeviceOs}).
59
98
  # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
60
99
  # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
61
- # payment_methods.cashapp.customer_profile.
100
+ # payment_methods.cashapp.customer_profile. For Pay by Bank, read
101
+ # payment_methods.paybybank.action.banks. Card, Apple Pay and Google Pay return the read-only
102
+ # :schemes (supported card scheme names; Google Pay never lists cartes_bancaires) and card
103
+ # details :last4, :bin, :scheme (Strings) and :expires_on (date-time); instrument returns the
104
+ # read-only :type (String) and :action (:type, "set_instrument").
62
105
  def create_payment_setup(payment_setups_request)
63
106
  api_client.invoke_post(
64
107
  build_path(PAYMENTS_PATH, SETUPS_PATH),
@@ -81,12 +124,51 @@ module CheckoutSdk
81
124
  # :industry {PaymentSetupIndustry} (containing :accommodation
82
125
  # {Array(PaymentSetupAccommodation)} and :airline {Array(PaymentSetupAirline)}).
83
126
  # A Hash request is sent as is, so every nested value must be a Hash too. To use one of the
84
- # typed classes above (or {CashAppPaymentMethod}), convert it first with
127
+ # typed classes above (or {CashAppPaymentMethod}, {PayByBankPaymentMethod} or
128
+ # {PaymentSetupRisk}), convert it first with
85
129
  # CheckoutSdk::JsonSerializer.to_custom_hash(object); a typed object nested directly in the
86
130
  # Hash is not serialized and is sent as "#<CheckoutSdk::...>".
87
131
  # :payment_methods may include :cashapp (the key is the single lowercase word `cashapp`), a Hash
88
132
  # with the keys documented on {CashAppPaymentMethod}; you send :initialization ("disabled" or
89
133
  # "enabled") and :customer_profile_sharing (Boolean).
134
+ # :payment_methods may also include :paybybank (the key is the single lowercase word
135
+ # `paybybank`; the API ignores `pay_by_bank` without an error), a Hash with the keys documented
136
+ # on {PayByBankPaymentMethod}; you send :bank_id (the identifier of the bank the customer has
137
+ # selected for the payment).
138
+ # :payment_methods may also include (every key is optional unless marked required):
139
+ # - :card - :token (a Hash with :id, String, the Checkout.com card token), :details (the card
140
+ # data: :number (String, write-only), :expiry_month (Integer), :expiry_year (Integer), :name
141
+ # (String, write-only), :cvv (String, write-only), :stored (Boolean, write-only) and
142
+ # :allow_update (Boolean)), :store_for_future_use (Boolean, write-only), :phone
143
+ # (:country_code, String, min 1 character, max 7 characters, and :number, String, min 6
144
+ # characters, max 25 characters), :account_holder (:type, one of "individual", "government"
145
+ # or "corporate", :first_name, :last_name, :middle_name, :company_name (Strings) and
146
+ # :account_name_inquiry (Boolean)) and :preferred_scheme ("visa", "mastercard" or
147
+ # "cartes_bancaires"). The card data goes under :details; the API ignores it at the top level
148
+ # of :card.
149
+ # - :applepay - :token_data (write-only: :version, :data and :signature (Strings) and :header,
150
+ # a Hash with :ephemeral_public_key, :public_key_hash and :transaction_id (Strings)), :token (a
151
+ # Hash with :id, String, required, pattern ^(tok)_(\w{26})$, and :expires_on, date-time,
152
+ # ISO 8601; a String token is not accepted), :store_for_future_use (Boolean, write-only),
153
+ # :phone and :account_holder as on :card, and :preferred_scheme ("visa", "mastercard" or
154
+ # "cartes_bancaires"). Apple Pay has no :details.
155
+ # - :googlepay - :token_data (write-only: :protocol_version, :signature, :signed_message and
156
+ # :tokenization_key (Strings)), :token, :store_for_future_use, :phone and :account_holder as
157
+ # on :applepay, and :preferred_scheme ("visa" or "mastercard" only). Google Pay has no
158
+ # :details.
159
+ # - :instrument - :id (String, the unique identifier of the instrument to use).
160
+ # - :auto_confirm - String, the payment method that automatically confirms the payment when it
161
+ # is ready, for example "card".
162
+ # :settings may include :success_url and :failure_url (String, format uri, max 255
163
+ # characters), :capture (Boolean, whether to capture the payment immediately, default true) and
164
+ # :excluded_payment_methods (Array of Strings, payment method names, for example ["klarna"]).
165
+ # :order may include :sub_merchants, an Array of Hashes with :id (String), :product_category
166
+ # (String), :number_of_sales (Integer; the API does not define number_of_trades) and
167
+ # :registration_date (String, format date, yyyy-MM-dd).
168
+ # :metadata - A Hash of key/value pairs to attach to the payment (max 20 keys); each value is a
169
+ # String (max 255 characters), a Number or a Boolean.
170
+ # :risk {PaymentSetupRisk} - Risk assessment settings for the Payment Setup: :enabled
171
+ # (Boolean, whether a risk assessment should be performed, default true).
90
172
  # :customer may include:
91
173
  # - :id - The unique identifier of the customer.
92
174
  # - :country - The two-letter ISO country code of the customer for this payment
@@ -111,7 +193,11 @@ module CheckoutSdk
111
193
  # customer's device, one of {PaymentSetupDeviceOs}).
112
194
  # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
113
195
  # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
114
- # payment_methods.cashapp.customer_profile.
196
+ # payment_methods.cashapp.customer_profile. For Pay by Bank, read
197
+ # payment_methods.paybybank.action.banks. Card, Apple Pay and Google Pay return the read-only
198
+ # :schemes (supported card scheme names; Google Pay never lists cartes_bancaires) and card
199
+ # details :last4, :bin, :scheme (Strings) and :expires_on (date-time); instrument returns the
200
+ # read-only :type (String) and :action (:type, "set_instrument").
115
201
  def update_payment_setup(id, payment_setups_request)
116
202
  api_client.invoke_put(
117
203
  build_path(PAYMENTS_PATH, SETUPS_PATH, id),
@@ -126,7 +212,11 @@ module CheckoutSdk
126
212
  # @param [String] id - The unique identifier of the Payment Setup to retrieve
127
213
  # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
128
214
  # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
129
- # payment_methods.cashapp.customer_profile.
215
+ # payment_methods.cashapp.customer_profile. For Pay by Bank, read
216
+ # payment_methods.paybybank.action.banks. Card, Apple Pay and Google Pay return the read-only
217
+ # :schemes (supported card scheme names; Google Pay never lists cartes_bancaires) and card
218
+ # details :last4, :bin, :scheme (Strings) and :expires_on (date-time); instrument returns the
219
+ # read-only :type (String) and :action (:type, "set_instrument").
130
220
  def get_payment_setup(id)
131
221
  api_client.invoke_get(
132
222
  build_path(PAYMENTS_PATH, SETUPS_PATH, id),
@@ -143,7 +233,11 @@ module CheckoutSdk
143
233
  # payment with (for example, "tabby", "klarna", "card" or "cashapp")
144
234
  # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
145
235
  # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
146
- # payment_methods.cashapp.customer_profile.
236
+ # payment_methods.cashapp.customer_profile. For Pay by Bank, read
237
+ # payment_methods.paybybank.action.banks. Card, Apple Pay and Google Pay return the read-only
238
+ # :schemes (supported card scheme names; Google Pay never lists cartes_bancaires) and card
239
+ # details :last4, :bin, :scheme (Strings) and :expires_on (date-time); instrument returns the
240
+ # read-only :type (String) and :action (:type, "set_instrument").
147
241
  def confirm_payment_setup(id, payment_method_name)
148
242
  api_client.invoke_post(
149
243
  build_path(PAYMENTS_PATH, SETUPS_PATH, id, CONFIRM_PATH, payment_method_name),
@@ -5,7 +5,8 @@ module CheckoutSdk
5
5
  # Stablecoin payment method configuration on a Payment Setup. Maps swagger `Stablecoin`.
6
6
  #
7
7
  # @!attribute status
8
- # @return [String] (response-only) Payment method status.
8
+ # @return [String] (response-only) Payment method status, one of
9
+ # {PaymentSetupPaymentMethodStatus} (e.g. "ready").
9
10
  # @!attribute flags
10
11
  # @return [Array(String)] (response-only) Diagnostic flags returned by the API.
11
12
  class StablecoinPaymentMethod
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CheckoutSdk
4
- VERSION = '2.7.0'
4
+ VERSION = '2.7.1'
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.7.0
4
+ version: 2.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Checkout
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-10-08 00:00:00.000000000 Z
11
+ date: 2026-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -613,6 +613,7 @@ files:
613
613
  - lib/checkout_sdk/payments/setups/payment_setup_payment_method_initialization.rb
614
614
  - lib/checkout_sdk/payments/setups/payment_setup_payment_method_status.rb
615
615
  - lib/checkout_sdk/payments/setups/payment_setup_presentment_details.rb
616
+ - lib/checkout_sdk/payments/setups/payment_setup_risk.rb
616
617
  - lib/checkout_sdk/payments/setups/payment_setup_terminal.rb
617
618
  - lib/checkout_sdk/payments/setups/payment_setups_client.rb
618
619
  - lib/checkout_sdk/payments/setups/stablecoin_payment_method.rb