checkout_sdk 2.6.0 → 2.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 643ab11801801b6384afcf53088f20e10fd700aea656dd166f1355fd1f5d445e
4
- data.tar.gz: ebf1ad17a6f86067c740e66896ea79b49ff2a4433e690e4134f39b89d475bc5a
3
+ metadata.gz: 5cd5982ca215c9826f2e674ae220b9e8e543df849aa3a53f52bb6776d10640d7
4
+ data.tar.gz: db69647504e345b28e6b59984c7003f5af518857e5c1d5e272f286ef412f9640
5
5
  SHA512:
6
- metadata.gz: a2aec6348780a7fe62a67ff99cfe125a60b17285b4f4704ecdb32f950a218e7b2464124a54e1a485dcd4271ed3f253f7721ba663d638c8c6eb4eec2232201e48
7
- data.tar.gz: 6107aa6f953cfad64ad7a4c99a05530ee989b27843ebfcf27c4c0c5ce108b96aad2c4b105251a3d74ca68871c87655f373912be6a173da4199c1c03f0ddf9de5
6
+ metadata.gz: 37f9058e2c2201e2718792e701c23cc691f41219fbbd3b483475399d2de69c0ab26ba3c07f218ba5ea656da4ef37976f962c77e4d60d142c8c9c98c55b51da44
7
+ data.tar.gz: 4449ec19ac66472ce3a4f1d01eae9deb4f4535b2ed7c9c8060c26219245183d8beb8361ab8b7316f7d21041ac7d7af885581daf520b1dabd8aeab743c150c750
@@ -233,6 +233,12 @@ require 'checkout_sdk/payments/setups/blik_payment_method'
233
233
  require 'checkout_sdk/payments/setups/bacs_payment_method'
234
234
  require 'checkout_sdk/payments/setups/card_present_payment_method'
235
235
  require 'checkout_sdk/payments/setups/pay_by_bank_payment_method'
236
+ require 'checkout_sdk/payments/setups/cash_app_action_type'
237
+ require 'checkout_sdk/payments/setups/cash_app_payment_method'
238
+ require 'checkout_sdk/payments/setups/payment_setup_device_client'
239
+ require 'checkout_sdk/payments/setups/payment_setup_device_os'
240
+ require 'checkout_sdk/payments/setups/payment_setup_payment_method_initialization'
241
+ require 'checkout_sdk/payments/setups/payment_setup_payment_method_status'
236
242
  require 'checkout_sdk/payments/setups/stablecoin_payment_method'
237
243
  require 'checkout_sdk/payments/setups/payment_setups_client'
238
244
 
@@ -2,19 +2,55 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # The type of payment method that can be enabled or disabled for a payment session.
6
+ #
7
+ # This is a consolidated list covering every payment method the Flow API accepts for
8
+ # enabled_payment_methods / disabled_payment_methods. Constants marked deprecated are no
9
+ # longer part of the specification but are kept for backward compatibility.
5
10
  module PaymentMethodsType
11
+ ALIPAY_CN = 'alipay_cn'
12
+ ALIPAY_HK = 'alipay_hk'
13
+ ALMA = 'alma'
6
14
  APPLEPAY = 'applepay'
7
15
  BANCONTACT = 'bancontact'
16
+ BENEFIT = 'benefit'
17
+ BIZUM = 'bizum'
8
18
  CARD = 'card'
19
+ DANA = 'dana'
9
20
  EPS = 'eps'
21
+ # @deprecated No longer part of the specification.
10
22
  GIROPAY = 'giropay'
23
+ GCASH = 'gcash'
11
24
  GOOGLEPAY = 'googlepay'
12
25
  IDEAL = 'ideal'
26
+ KAKAOPAY = 'kakaopay'
27
+ KLARNA = 'klarna'
13
28
  KNET = 'knet'
29
+ MBWAY = 'mbway'
30
+ MOBILEPAY = 'mobilepay'
14
31
  MULTIBANCO = 'multibanco'
32
+ OCTOPUS = 'octopus'
15
33
  PRZELEWY24 = 'p24'
34
+ PAYNOW = 'paynow'
16
35
  PAYPAL = 'paypal'
36
+ PLAID = 'plaid'
37
+ QPAY = 'qpay'
38
+ # Fully supported by the API but deliberately unlisted in the public specification, so
39
+ # that merchants do not disable Remember Me en masse. Do not remove it as an unspecified
40
+ # value.
41
+ REMEMBER_ME = 'remember_me'
42
+ SEPA = 'sepa'
43
+ # @deprecated No longer part of the specification.
17
44
  SOFORT = 'sofort'
45
+ STCPAY = 'stcpay'
46
+ STORED_CARD = 'stored_card'
47
+ TABBY = 'tabby'
48
+ TAMARA = 'tamara'
49
+ TNG = 'tng'
50
+ TRUEMONEY = 'truemoney'
51
+ TWINT = 'twint'
52
+ VIPPS = 'vipps'
53
+ WECHATPAY = 'wechatpay'
18
54
  end
19
55
  end
20
56
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # The type of the next available action for the Cash App Pay payment method on a
6
+ # Payment Setup. Maps swagger `CashApp.action.type`.
7
+ module CashAppActionType
8
+ REDIRECT = 'redirect'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # The Cash App payment method's details and configuration on a Payment Setup.
6
+ # Maps swagger `CashApp`. Sent under the `payment_methods.cashapp` key (one lowercase word,
7
+ # not `cash_app`).
8
+ #
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
+ # cash_app = CheckoutSdk::Payments::CashAppPaymentMethod.new
13
+ # cash_app.initialization = 'enabled'
14
+ # cash_app.customer_profile_sharing = true
15
+ # request[:payment_methods] = { cashapp: CheckoutSdk::JsonSerializer.to_custom_hash(cash_app) }
16
+ # Responses are read with dot access, for example response.payment_methods.cashapp.action.redirect_url.
17
+ class CashAppPaymentMethod
18
+ # The payment method status.
19
+ # [Optional]
20
+ # Read only.
21
+ # Enum: "unavailable" "action_required" "ready" "initialization_required" "invalid"
22
+ # @return [String] One of {PaymentSetupPaymentMethodStatus}.
23
+ attr_accessor :status
24
+
25
+ # The list of error codes or indicators that highlight missing or invalid information.
26
+ # [Optional]
27
+ # Read only.
28
+ # @return [Array(String)]
29
+ attr_accessor :flags
30
+
31
+ # The initialization state of the payment method.
32
+ # When you create a Payment Setup, this defaults to `disabled`.
33
+ # [Optional]
34
+ # Default: "disabled"
35
+ # Enum: "disabled" "enabled"
36
+ # @return [String] One of {PaymentSetupPaymentMethodInitialization}.
37
+ attr_accessor :initialization
38
+
39
+ # Indicates whether the customer consents to share their Cash App customer profile with Checkout.com.
40
+ # [Optional]
41
+ # @return [TrueClass, FalseClass]
42
+ attr_accessor :customer_profile_sharing
43
+
44
+ # The customer's Cash App profile that they consented to share. Included in the response when
45
+ # `customer_profile_sharing` is enabled.
46
+ # Cash App releases this profile only once. It's present in the first successful response when you
47
+ # get the Payment Setup after the customer authorizes the payment. Every subsequent response omits it.
48
+ # [Optional]
49
+ # Read only.
50
+ # Keys (all strings, all optional):
51
+ # - `customer_id`: Cash App's identifier for the customer. This is not a Checkout.com customer identifier.
52
+ # - `cashtag`: The customer's $Cashtag.
53
+ # - `reference_id`: Cash App's reference for the customer profile.
54
+ # - `full_name`: The customer's full name.
55
+ # - `given_name`: The customer's given name.
56
+ # - `middle_name`: The customer's middle name.
57
+ # - `family_name`: The customer's family name.
58
+ # - `suffix`: The suffix of the customer's name.
59
+ # - `birth_date`: The customer's date of birth. Format: date (the API example carries a time part,
60
+ # so the value is kept as a string).
61
+ # - `address` (Hash): The customer's address, with Cash App's own key names (not the Checkout.com
62
+ # common address): `address_line_1` (the first line of the address), `address_line_2` (the second
63
+ # line of the address), `address_line_3` (the third line of the address), `locality` (the address
64
+ # locality, such as the city or town), `sublocality` (the address sublocality, such as the district
65
+ # or neighborhood), `administrative_district_level_1` (the address's top-level administrative
66
+ # district, such as the state or province), `postal_code` (the postal or zip code) and `country`
67
+ # (the address country, in ISO 3166-1 alpha-2 format, max 2 characters).
68
+ # - `phone_number`: The customer's phone number.
69
+ # - `email_address`: The customer's email address.
70
+ # - `customer_since`: The date and time the customer's Cash App account was created.
71
+ # Format: date-time (kept as a string).
72
+ # @return [Hash]
73
+ attr_accessor :customer_profile
74
+
75
+ # A reference for the Cash App Pay transaction, returned by the provider.
76
+ # [Optional]
77
+ # Read only.
78
+ # max 80 characters
79
+ # @return [String]
80
+ attr_accessor :reference
81
+
82
+ # The next available action for the payment method.
83
+ # [Optional]
84
+ # Read only.
85
+ # Keys:
86
+ # - `type` (String): The type of action. One of {CashAppActionType}.
87
+ # - `redirect_url` (String): The URL to redirect the customer to so they can authorize the payment
88
+ # with Cash App. Format: uri
89
+ # @return [Hash]
90
+ attr_accessor :action
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # The type of client the customer uses to initiate the payment.
6
+ # Maps swagger `PaymentSetup.customer.device.client`.
7
+ module PaymentSetupDeviceClient
8
+ WEB = 'web'
9
+ MOBILE_WEB = 'mobile_web'
10
+ APP = 'app'
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # The operating system of the customer's device.
6
+ # Maps swagger `PaymentSetup.customer.device.os`.
7
+ module PaymentSetupDeviceOs
8
+ ANDROID = 'android'
9
+ IOS = 'ios'
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # The initialization state of a payment method on a Payment Setup.
6
+ # Maps swagger `PaymentMethodInitialization.initialization`.
7
+ module PaymentSetupPaymentMethodInitialization
8
+ DISABLED = 'disabled'
9
+ ENABLED = 'enabled'
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # The payment method status on a Payment Setup.
6
+ # Maps swagger `PaymentMethodStatus`.
7
+ module PaymentSetupPaymentMethodStatus
8
+ UNAVAILABLE = 'unavailable'
9
+ ACTION_REQUIRED = 'action_required'
10
+ READY = 'ready'
11
+ INITIALIZATION_REQUIRED = 'initialization_required'
12
+ INVALID = 'invalid'
13
+ end
14
+ end
15
+ end
@@ -16,9 +16,9 @@ module CheckoutSdk
16
16
  end
17
17
 
18
18
  # Creates a Payment Setup.
19
- # To maximize the amount of information the payment setup can use, we recommend that you create
20
- # a payment setup as early as possible in the customer's journey. For example, the first time
21
- # they land on the basket page.
19
+ # To maximize the information available to the payment setup, create a Payment Setup as early as
20
+ # possible in the customer's journey. For example, create it the first time they land on the
21
+ # basket page.
22
22
  # [Beta]
23
23
  #
24
24
  # @param [Hash] payment_setups_request
@@ -27,6 +27,38 @@ module CheckoutSdk
27
27
  # :terminal {PaymentSetupTerminal} and
28
28
  # :industry {PaymentSetupIndustry} (containing :accommodation
29
29
  # {Array(PaymentSetupAccommodation)} and :airline {Array(PaymentSetupAirline)}).
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
32
+ # CheckoutSdk::JsonSerializer.to_custom_hash(object); a typed object nested directly in the
33
+ # Hash is not serialized and is sent as "#<CheckoutSdk::...>".
34
+ # :payment_methods may include :cashapp (the key is the single lowercase word `cashapp`), a Hash
35
+ # with the keys documented on {CashAppPaymentMethod}; you send :initialization ("disabled" or
36
+ # "enabled") and :customer_profile_sharing (Boolean).
37
+ # :customer may include:
38
+ # - :id - The unique identifier of the customer.
39
+ # - :country - The two-letter ISO country code of the customer for this payment
40
+ # (min 2 characters, max 2 characters).
41
+ # - :email - Details of the customer's email: :address (the customer's email address) and
42
+ # :verified (Boolean, whether the customer's email address is verified).
43
+ # - :name - The customer's full name (max 100 characters).
44
+ # - :tax_number - The customer's tax identification number.
45
+ # - :phone - The customer's phone number: :country_code (the international country calling
46
+ # code, min 1 character, max 7 characters) and :number (the phone number, min 6 characters,
47
+ # max 25 characters).
48
+ # - :merchant_account - Details of the account the customer holds with the merchant: :id,
49
+ # :registration_date, :last_modified, :first_transaction_date and :last_transaction_date
50
+ # (dates, yyyy-MM-dd), :returning_customer (Boolean), :total_order_count (Integer) and
51
+ # :last_payment_amount (Number).
52
+ # - :device - Details of the customer's device: :locale (the locale of the device),
53
+ # :fingerprint (a unique identifier for the customer's device), :ipv4 and :ipv6 (the
54
+ # customer's device IPv4 or IPv6 address, used by some payment methods for risk and
55
+ # eligibility checks), :client (the type of client the customer uses to initiate the
56
+ # payment, one of {PaymentSetupDeviceClient}; Cash App Pay requires it, although the API
57
+ # reference does not mark it as required) and :os (the operating system of the
58
+ # customer's device, one of {PaymentSetupDeviceOs}).
59
+ # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
60
+ # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
61
+ # payment_methods.cashapp.customer_profile.
30
62
  def create_payment_setup(payment_setups_request)
31
63
  api_client.invoke_post(
32
64
  build_path(PAYMENTS_PATH, SETUPS_PATH),
@@ -36,9 +68,9 @@ module CheckoutSdk
36
68
  end
37
69
 
38
70
  # Updates a Payment Setup.
39
- # You should update the payment setup whenever there are significant changes in the data relevant
40
- # to the customer's transaction. For example, when the customer makes a change that impacts the
41
- # total payment amount.
71
+ # Update the Payment Setup whenever there are significant changes in the data relevant to the
72
+ # customer's transaction. For example, when the customer makes a change that impacts the total
73
+ # payment amount.
42
74
  # [Beta]
43
75
  #
44
76
  # @param [String] id - The unique identifier of the Payment Setup to update
@@ -48,6 +80,38 @@ module CheckoutSdk
48
80
  # :terminal {PaymentSetupTerminal} and
49
81
  # :industry {PaymentSetupIndustry} (containing :accommodation
50
82
  # {Array(PaymentSetupAccommodation)} and :airline {Array(PaymentSetupAirline)}).
83
+ # 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
85
+ # CheckoutSdk::JsonSerializer.to_custom_hash(object); a typed object nested directly in the
86
+ # Hash is not serialized and is sent as "#<CheckoutSdk::...>".
87
+ # :payment_methods may include :cashapp (the key is the single lowercase word `cashapp`), a Hash
88
+ # with the keys documented on {CashAppPaymentMethod}; you send :initialization ("disabled" or
89
+ # "enabled") and :customer_profile_sharing (Boolean).
90
+ # :customer may include:
91
+ # - :id - The unique identifier of the customer.
92
+ # - :country - The two-letter ISO country code of the customer for this payment
93
+ # (min 2 characters, max 2 characters).
94
+ # - :email - Details of the customer's email: :address (the customer's email address) and
95
+ # :verified (Boolean, whether the customer's email address is verified).
96
+ # - :name - The customer's full name (max 100 characters).
97
+ # - :tax_number - The customer's tax identification number.
98
+ # - :phone - The customer's phone number: :country_code (the international country calling
99
+ # code, min 1 character, max 7 characters) and :number (the phone number, min 6 characters,
100
+ # max 25 characters).
101
+ # - :merchant_account - Details of the account the customer holds with the merchant: :id,
102
+ # :registration_date, :last_modified, :first_transaction_date and :last_transaction_date
103
+ # (dates, yyyy-MM-dd), :returning_customer (Boolean), :total_order_count (Integer) and
104
+ # :last_payment_amount (Number).
105
+ # - :device - Details of the customer's device: :locale (the locale of the device),
106
+ # :fingerprint (a unique identifier for the customer's device), :ipv4 and :ipv6 (the
107
+ # customer's device IPv4 or IPv6 address, used by some payment methods for risk and
108
+ # eligibility checks), :client (the type of client the customer uses to initiate the
109
+ # payment, one of {PaymentSetupDeviceClient}; Cash App Pay requires it, although the API
110
+ # reference does not mark it as required) and :os (the operating system of the
111
+ # customer's device, one of {PaymentSetupDeviceOs}).
112
+ # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
113
+ # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
114
+ # payment_methods.cashapp.customer_profile.
51
115
  def update_payment_setup(id, payment_setups_request)
52
116
  api_client.invoke_put(
53
117
  build_path(PAYMENTS_PATH, SETUPS_PATH, id),
@@ -56,10 +120,13 @@ module CheckoutSdk
56
120
  )
57
121
  end
58
122
 
59
- # Retrieves a Payment Setup.
123
+ # Retrieves a Payment Setup by its unique identifier.
60
124
  # [Beta]
61
125
  #
62
126
  # @param [String] id - The unique identifier of the Payment Setup to retrieve
127
+ # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
128
+ # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
129
+ # payment_methods.cashapp.customer_profile.
63
130
  def get_payment_setup(id)
64
131
  api_client.invoke_get(
65
132
  build_path(PAYMENTS_PATH, SETUPS_PATH, id),
@@ -73,7 +140,10 @@ module CheckoutSdk
73
140
  #
74
141
  # @param [String] id - The unique identifier of the Payment Setup
75
142
  # @param [String] payment_method_name - The name of the payment method to process the
76
- # payment with (for example, "tabby", "klarna", "card")
143
+ # payment with (for example, "tabby", "klarna", "card" or "cashapp")
144
+ # @return [Hash] The Payment Setup (swagger `PaymentSetup`, 200). For Cash App Pay, read
145
+ # payment_methods.cashapp.action.redirect_url, payment_methods.cashapp.reference and, once only,
146
+ # payment_methods.cashapp.customer_profile.
77
147
  def confirm_payment_setup(id, payment_method_name)
78
148
  api_client.invoke_post(
79
149
  build_path(PAYMENTS_PATH, SETUPS_PATH, id, CONFIRM_PATH, payment_method_name),
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CheckoutSdk
4
- VERSION = '2.6.0'
4
+ VERSION = '2.7.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.6.0
4
+ version: 2.7.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-10-06 00:00:00.000000000 Z
11
+ date: 2026-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -593,6 +593,8 @@ files:
593
593
  - lib/checkout_sdk/payments/setups/bacs_payment_method.rb
594
594
  - lib/checkout_sdk/payments/setups/blik_payment_method.rb
595
595
  - lib/checkout_sdk/payments/setups/card_present_payment_method.rb
596
+ - lib/checkout_sdk/payments/setups/cash_app_action_type.rb
597
+ - lib/checkout_sdk/payments/setups/cash_app_payment_method.rb
596
598
  - lib/checkout_sdk/payments/setups/pay_by_bank_payment_method.rb
597
599
  - lib/checkout_sdk/payments/setups/payment_setup_accommodation.rb
598
600
  - lib/checkout_sdk/payments/setups/payment_setup_accommodation_address.rb
@@ -605,7 +607,11 @@ files:
605
607
  - lib/checkout_sdk/payments/setups/payment_setup_airline_passenger.rb
606
608
  - lib/checkout_sdk/payments/setups/payment_setup_airline_ticket.rb
607
609
  - lib/checkout_sdk/payments/setups/payment_setup_billing_descriptor.rb
610
+ - lib/checkout_sdk/payments/setups/payment_setup_device_client.rb
611
+ - lib/checkout_sdk/payments/setups/payment_setup_device_os.rb
608
612
  - lib/checkout_sdk/payments/setups/payment_setup_industry.rb
613
+ - lib/checkout_sdk/payments/setups/payment_setup_payment_method_initialization.rb
614
+ - lib/checkout_sdk/payments/setups/payment_setup_payment_method_status.rb
609
615
  - lib/checkout_sdk/payments/setups/payment_setup_presentment_details.rb
610
616
  - lib/checkout_sdk/payments/setups/payment_setup_terminal.rb
611
617
  - lib/checkout_sdk/payments/setups/payment_setups_client.rb