checkout_sdk 1.8.1 → 1.9.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 +4 -4
- data/lib/checkout_sdk/accounts/accounts.rb +1 -0
- data/lib/checkout_sdk/accounts/instrument_details_ach.rb +21 -0
- data/lib/checkout_sdk/checkout_api.rb +6 -0
- data/lib/checkout_sdk/environment.rb +8 -1
- data/lib/checkout_sdk/environment_subdomain.rb +1 -1
- data/lib/checkout_sdk/issuing/amend_dispute_request.rb +31 -0
- data/lib/checkout_sdk/issuing/create_dispute_request.rb +4 -1
- data/lib/checkout_sdk/issuing/escalate_dispute_request.rb +5 -1
- data/lib/checkout_sdk/issuing/issuing.rb +4 -2
- data/lib/checkout_sdk/issuing/issuing_client.rb +29 -22
- data/lib/checkout_sdk/issuing/issuing_dispute_fraud_details.rb +18 -0
- data/lib/checkout_sdk/issuing/issuing_dispute_fraud_type.rb +21 -0
- data/lib/checkout_sdk/issuing/submit_dispute_request.rb +21 -0
- data/lib/checkout_sdk/issuing/update_card_request.rb +9 -1
- data/lib/checkout_sdk/issuing/update_cardholder_request.rb +1 -4
- data/lib/checkout_sdk/oauth_scopes.rb +2 -0
- data/lib/checkout_sdk/payments/payments.rb +4 -0
- data/lib/checkout_sdk/payments/setups/bacs_payment_method.rb +41 -0
- data/lib/checkout_sdk/payments/setups/card_present_payment_method.rb +35 -0
- data/lib/checkout_sdk/payments/setups/pay_by_bank_payment_method.rb +24 -0
- data/lib/checkout_sdk/payments/setups/stablecoin_payment_method.rb +16 -0
- data/lib/checkout_sdk/version.rb +1 -1
- metadata +11 -4
- data/lib/checkout_sdk/issuing/identification_document.rb +0 -18
- data/lib/checkout_sdk/issuing/schedule_revocation_request.rb +0 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7bbc37199396a629e90ac6e153ee17fd57ae6d8f66b378a0bc43b71130b9fa2e
|
|
4
|
+
data.tar.gz: 04771c9af135d78ef7c4392aac336f94573c17edc95cd10944ec0b2dce899b68
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e96638baf4e1087672db55136ed636a93e3f492d073f007370b1f5dbf0b808327e0c12278a0b7167be0009f8e2e74007c85b8607eb1f94518600bfdc83333bef
|
|
7
|
+
data.tar.gz: 5fa519ec4adc2cbe5965c00cc646630bfef486035c66b9ec6041f1c0822d5d4b555dd5e3c0710fbe34d4a46032a1bb637ae631539dabf97a2727b3a139d08aec
|
|
@@ -34,6 +34,7 @@ require 'checkout_sdk/accounts/instrument_details'
|
|
|
34
34
|
require 'checkout_sdk/accounts/instrument_details_faster_payments'
|
|
35
35
|
require 'checkout_sdk/accounts/instrument_details_sepa'
|
|
36
36
|
require 'checkout_sdk/accounts/instrument_details_card_token'
|
|
37
|
+
require 'checkout_sdk/accounts/instrument_details_ach'
|
|
37
38
|
require 'checkout_sdk/accounts/payment_instrument_request'
|
|
38
39
|
require 'checkout_sdk/accounts/payment_instruments_query'
|
|
39
40
|
require 'checkout_sdk/accounts/update_payment_instrument_request'
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Accounts
|
|
5
|
+
# ACH bank-account instrument details. Maps swagger `PlatformsInstrumentDetailsAch`.
|
|
6
|
+
# All three attributes are required.
|
|
7
|
+
#
|
|
8
|
+
# @!attribute account_number
|
|
9
|
+
# @return [String] The alphanumeric value that identifies the account.
|
|
10
|
+
# @!attribute routing_number
|
|
11
|
+
# @return [String] The 9-digit American Bankers Association (ABA) routing number that
|
|
12
|
+
# identifies the financial institution.
|
|
13
|
+
# @!attribute account_type
|
|
14
|
+
# @return [String] The type of bank account. One of `savings`, `checking`.
|
|
15
|
+
class InstrumentDetailsAch < InstrumentDetails
|
|
16
|
+
attr_accessor :account_number,
|
|
17
|
+
:routing_number,
|
|
18
|
+
:account_type
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -190,5 +190,11 @@ module CheckoutSdk
|
|
|
190
190
|
def transfers_client(configuration)
|
|
191
191
|
ApiClient.new(configuration, configuration.environment.transfers_uri)
|
|
192
192
|
end
|
|
193
|
+
|
|
194
|
+
# @param [CheckoutConfiguration] configuration
|
|
195
|
+
# @return [ApiClient]
|
|
196
|
+
def forward_client(configuration)
|
|
197
|
+
ApiClient.new(configuration, configuration.environment.forward_uri)
|
|
198
|
+
end
|
|
193
199
|
end
|
|
194
200
|
end
|
|
@@ -11,6 +11,8 @@ module CheckoutSdk
|
|
|
11
11
|
# @return [String]
|
|
12
12
|
# @!attribute balances_uri
|
|
13
13
|
# @return [String]
|
|
14
|
+
# @!attribute forward_uri
|
|
15
|
+
# @return [String]
|
|
14
16
|
# @!attribute is_sandbox
|
|
15
17
|
# @return [String]
|
|
16
18
|
class Environment
|
|
@@ -19,6 +21,7 @@ module CheckoutSdk
|
|
|
19
21
|
:files_uri,
|
|
20
22
|
:transfers_uri,
|
|
21
23
|
:balances_uri,
|
|
24
|
+
:forward_uri,
|
|
22
25
|
:is_sandbox
|
|
23
26
|
|
|
24
27
|
# @param [String] base_uri
|
|
@@ -26,13 +29,15 @@ module CheckoutSdk
|
|
|
26
29
|
# @param [String] files_uri
|
|
27
30
|
# @param [String] transfers_uri
|
|
28
31
|
# @param [String] balances_uri
|
|
32
|
+
# @param [String] forward_uri
|
|
29
33
|
# @param [TrueClass, FalseClass] is_sandbox
|
|
30
|
-
def initialize(base_uri, authorization_uri, files_uri, transfers_uri, balances_uri, is_sandbox)
|
|
34
|
+
def initialize(base_uri, authorization_uri, files_uri, transfers_uri, balances_uri, forward_uri, is_sandbox)
|
|
31
35
|
@base_uri = base_uri
|
|
32
36
|
@authorization_uri = authorization_uri
|
|
33
37
|
@files_uri = files_uri
|
|
34
38
|
@transfers_uri = transfers_uri
|
|
35
39
|
@balances_uri = balances_uri
|
|
40
|
+
@forward_uri = forward_uri
|
|
36
41
|
@is_sandbox = is_sandbox
|
|
37
42
|
end
|
|
38
43
|
|
|
@@ -43,6 +48,7 @@ module CheckoutSdk
|
|
|
43
48
|
'https://files.sandbox.checkout.com/',
|
|
44
49
|
'https://transfers.sandbox.checkout.com/',
|
|
45
50
|
'https://balances.sandbox.checkout.com/',
|
|
51
|
+
'https://forward.sandbox.checkout.com/',
|
|
46
52
|
true)
|
|
47
53
|
end
|
|
48
54
|
|
|
@@ -53,6 +59,7 @@ module CheckoutSdk
|
|
|
53
59
|
'https://files.checkout.com/',
|
|
54
60
|
'https://transfers.checkout.com/',
|
|
55
61
|
'https://balances.checkout.com/',
|
|
62
|
+
'https://forward.checkout.com/',
|
|
56
63
|
false)
|
|
57
64
|
end
|
|
58
65
|
end
|
|
@@ -33,7 +33,7 @@ module CheckoutSdk
|
|
|
33
33
|
def create_url_with_subdomain(original_url, subdomain)
|
|
34
34
|
new_environment = original_url
|
|
35
35
|
|
|
36
|
-
if subdomain =~ /^[
|
|
36
|
+
if subdomain =~ /^(?:pl-)?[a-z0-9]+$/
|
|
37
37
|
url_parts = URI.parse(original_url)
|
|
38
38
|
new_host = "#{subdomain}.#{url_parts.host}"
|
|
39
39
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Issuing
|
|
5
|
+
# Request body for POST /issuing/disputes/{disputeId}/amend.
|
|
6
|
+
# Submit an amendment to a dispute that is currently blocked from proceeding. Maps swagger
|
|
7
|
+
# `amend-dispute-request`. All fields are optional.
|
|
8
|
+
#
|
|
9
|
+
# @!attribute reason
|
|
10
|
+
# @return [String] The updated four-digit scheme-specific reason code. If not provided, the
|
|
11
|
+
# existing reason code is retained.
|
|
12
|
+
# @!attribute amount
|
|
13
|
+
# @return [Numeric] The updated disputed amount, in the minor unit of the transaction currency.
|
|
14
|
+
# If not provided, the existing amount is retained.
|
|
15
|
+
# @!attribute evidence
|
|
16
|
+
# @return [Array<Hash>] Evidence supporting the dispute (maps `IssuingDisputeEvidence`).
|
|
17
|
+
# @!attribute fraud_details
|
|
18
|
+
# @return [IssuingDisputeFraudDetails] Fraud-related details. Required if `reason` specifies a
|
|
19
|
+
# fraud-related dispute.
|
|
20
|
+
# @!attribute reason_change_justification
|
|
21
|
+
# @return [String] Justification for changing the reason at the escalation stage. Max 13000
|
|
22
|
+
# characters.
|
|
23
|
+
# @!attribute action_response
|
|
24
|
+
# @return [String] Free-form text explaining your choices or asking questions about the
|
|
25
|
+
# requested changes. Max 1000 characters.
|
|
26
|
+
class AmendDisputeRequest
|
|
27
|
+
attr_accessor :reason, :amount, :evidence, :fraud_details,
|
|
28
|
+
:reason_change_justification, :action_response
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -14,11 +14,14 @@ module CheckoutSdk
|
|
|
14
14
|
# @return [Numeric]
|
|
15
15
|
# @!attribute presentment_message_id
|
|
16
16
|
# @return [String]
|
|
17
|
+
# @!attribute fraud_details
|
|
18
|
+
# @return [IssuingDisputeFraudDetails] Fraud-related information to send with the chargeback.
|
|
19
|
+
# Required if the dispute has a fraud-related reason code.
|
|
17
20
|
# @!attribute justification
|
|
18
21
|
# @return [String]
|
|
19
22
|
class CreateDisputeRequest
|
|
20
23
|
attr_accessor :transaction_id, :reason, :evidence, :amount,
|
|
21
|
-
:presentment_message_id, :justification
|
|
24
|
+
:presentment_message_id, :fraud_details, :justification
|
|
22
25
|
end
|
|
23
26
|
end
|
|
24
27
|
end
|
|
@@ -10,10 +10,14 @@ module CheckoutSdk
|
|
|
10
10
|
# @return [Numeric]
|
|
11
11
|
# @!attribute reason_change
|
|
12
12
|
# @return [String]
|
|
13
|
+
# @!attribute fraud_details
|
|
14
|
+
# @return [IssuingDisputeFraudDetails] Fraud-related details. Required if the dispute has a
|
|
15
|
+
# fraud-related reason code at the escalation stage, or after a reason-code change to a
|
|
16
|
+
# fraud code.
|
|
13
17
|
# @!attribute justification
|
|
14
18
|
# @return [String] Required.
|
|
15
19
|
class EscalateDisputeRequest
|
|
16
|
-
attr_accessor :additional_evidence, :amount, :reason_change, :justification
|
|
20
|
+
attr_accessor :additional_evidence, :amount, :reason_change, :fraud_details, :justification
|
|
17
21
|
end
|
|
18
22
|
end
|
|
19
23
|
end
|
|
@@ -8,10 +8,8 @@ require 'checkout_sdk/issuing/oob_authentication_request'
|
|
|
8
8
|
# Cardholders / Cards updates
|
|
9
9
|
require 'checkout_sdk/issuing/issuing_phone_number'
|
|
10
10
|
require 'checkout_sdk/issuing/issuing_address'
|
|
11
|
-
require 'checkout_sdk/issuing/identification_document'
|
|
12
11
|
require 'checkout_sdk/issuing/update_cardholder_request'
|
|
13
12
|
require 'checkout_sdk/issuing/update_card_request'
|
|
14
|
-
require 'checkout_sdk/issuing/schedule_revocation_request'
|
|
15
13
|
|
|
16
14
|
# Simulations
|
|
17
15
|
require 'checkout_sdk/issuing/simulate_refund_request'
|
|
@@ -22,7 +20,11 @@ require 'checkout_sdk/issuing/add_control_profile_request'
|
|
|
22
20
|
require 'checkout_sdk/issuing/update_control_profile_request'
|
|
23
21
|
|
|
24
22
|
# Disputes
|
|
23
|
+
require 'checkout_sdk/issuing/issuing_dispute_fraud_type'
|
|
24
|
+
require 'checkout_sdk/issuing/issuing_dispute_fraud_details'
|
|
25
25
|
require 'checkout_sdk/issuing/create_dispute_request'
|
|
26
26
|
require 'checkout_sdk/issuing/escalate_dispute_request'
|
|
27
|
+
require 'checkout_sdk/issuing/amend_dispute_request'
|
|
28
|
+
require 'checkout_sdk/issuing/submit_dispute_request'
|
|
27
29
|
|
|
28
30
|
require 'checkout_sdk/issuing/issuing_client'
|
|
@@ -20,10 +20,11 @@ module CheckoutSdk
|
|
|
20
20
|
REVERSALS = 'reversals'
|
|
21
21
|
REFUNDS = 'refunds'
|
|
22
22
|
RENEW = 'renew'
|
|
23
|
-
SCHEDULE_REVOCATION = 'schedule-revocation'
|
|
24
23
|
DISPUTES = 'disputes'
|
|
25
24
|
CANCEL = 'cancel'
|
|
26
25
|
ESCALATE = 'escalate'
|
|
26
|
+
AMEND = 'amend'
|
|
27
|
+
SUBMIT = 'submit'
|
|
27
28
|
TRANSACTIONS = 'transactions'
|
|
28
29
|
DIGITAL_CARDS = 'digital-cards'
|
|
29
30
|
ADD = 'add'
|
|
@@ -36,7 +37,7 @@ module CheckoutSdk
|
|
|
36
37
|
private_constant :ISSUING, :CARDHOLDERS, :CARDS, :THREE_DS, :ACTIVATE, :CREDENTIALS,
|
|
37
38
|
:REVOKE, :SUSPEND, :CONTROLS, :CONTROL_GROUPS, :CONTROL_PROFILES,
|
|
38
39
|
:SIMULATE, :AUTHORIZATIONS, :PRESENTMENTS, :REVERSALS, :REFUNDS,
|
|
39
|
-
:RENEW, :
|
|
40
|
+
:RENEW, :DISPUTES, :CANCEL, :ESCALATE, :AMEND, :SUBMIT,
|
|
40
41
|
:TRANSACTIONS, :DIGITAL_CARDS, :ADD, :REMOVE
|
|
41
42
|
|
|
42
43
|
# @param [ApiClient] api_client
|
|
@@ -145,26 +146,6 @@ module CheckoutSdk
|
|
|
145
146
|
)
|
|
146
147
|
end
|
|
147
148
|
|
|
148
|
-
# Schedule a card revocation. POST /issuing/cards/{cardId}/schedule-revocation.
|
|
149
|
-
# @param [String] card_id
|
|
150
|
-
# @param [Hash, ScheduleRevocationRequest] schedule_revocation_request
|
|
151
|
-
def schedule_card_revocation(card_id, schedule_revocation_request)
|
|
152
|
-
api_client.invoke_post(
|
|
153
|
-
build_path(ISSUING, CARDS, card_id, SCHEDULE_REVOCATION),
|
|
154
|
-
sdk_authorization,
|
|
155
|
-
schedule_revocation_request
|
|
156
|
-
)
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
# Cancel a scheduled card revocation. DELETE /issuing/cards/{cardId}/schedule-revocation.
|
|
160
|
-
# @param [String] card_id
|
|
161
|
-
def cancel_scheduled_card_revocation(card_id)
|
|
162
|
-
api_client.invoke_delete(
|
|
163
|
-
build_path(ISSUING, CARDS, card_id, SCHEDULE_REVOCATION),
|
|
164
|
-
sdk_authorization
|
|
165
|
-
)
|
|
166
|
-
end
|
|
167
|
-
|
|
168
149
|
# ====== Controls (legacy single endpoint) ======
|
|
169
150
|
|
|
170
151
|
# @param [Hash] control_request
|
|
@@ -317,6 +298,32 @@ module CheckoutSdk
|
|
|
317
298
|
)
|
|
318
299
|
end
|
|
319
300
|
|
|
301
|
+
# Submit an Issuing dispute. POST /issuing/disputes/{disputeId}/submit.
|
|
302
|
+
# @param [String] dispute_id
|
|
303
|
+
# @param [Hash, SubmitDisputeRequest] submit_dispute_request
|
|
304
|
+
# @deprecated Use {#create_issuing_dispute} to create and submit a dispute in one step, or
|
|
305
|
+
# {#amend_issuing_dispute} when the dispute status is `action_required`.
|
|
306
|
+
def submit_issuing_dispute(dispute_id, submit_dispute_request = nil)
|
|
307
|
+
api_client.invoke_post(
|
|
308
|
+
build_path(ISSUING, DISPUTES, dispute_id, SUBMIT),
|
|
309
|
+
sdk_authorization,
|
|
310
|
+
submit_dispute_request
|
|
311
|
+
)
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
# Amend an Issuing dispute. POST /issuing/disputes/{disputeId}/amend.
|
|
315
|
+
# Submit an amendment to a dispute that is currently blocked from proceeding. Handles both
|
|
316
|
+
# chargeback-stage and escalation-stage amendments using the same payload.
|
|
317
|
+
# @param [String] dispute_id
|
|
318
|
+
# @param [Hash, AmendDisputeRequest] amend_dispute_request
|
|
319
|
+
def amend_issuing_dispute(dispute_id, amend_dispute_request = nil)
|
|
320
|
+
api_client.invoke_post(
|
|
321
|
+
build_path(ISSUING, DISPUTES, dispute_id, AMEND),
|
|
322
|
+
sdk_authorization,
|
|
323
|
+
amend_dispute_request
|
|
324
|
+
)
|
|
325
|
+
end
|
|
326
|
+
|
|
320
327
|
# ====== Transactions ======
|
|
321
328
|
|
|
322
329
|
# @param [Hash] transactions_query
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Issuing
|
|
5
|
+
# Fraud-related information required when the dispute reason code is fraud-related.
|
|
6
|
+
# Maps swagger `IssuingDisputeFraudDetails`. Reused by create, escalate and amend dispute
|
|
7
|
+
# requests.
|
|
8
|
+
#
|
|
9
|
+
# @!attribute fraud_type
|
|
10
|
+
# @return [String] {IssuingDisputeFraudType} The type of fraud the cardholder is asserting.
|
|
11
|
+
# [Required]
|
|
12
|
+
# @!attribute description
|
|
13
|
+
# @return [String] Optional free-form description of the fraud.
|
|
14
|
+
class IssuingDisputeFraudDetails
|
|
15
|
+
attr_accessor :fraud_type, :description
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Issuing
|
|
5
|
+
# The type of fraud the cardholder is asserting on an Issuing dispute.
|
|
6
|
+
# Maps swagger `IssuingDisputeFraudDetails.fraud_type`.
|
|
7
|
+
module IssuingDisputeFraudType
|
|
8
|
+
CARD_LOST = 'card_lost'
|
|
9
|
+
CARD_STOLEN = 'card_stolen'
|
|
10
|
+
CARD_NEVER_RECEIVED = 'card_never_received'
|
|
11
|
+
FRAUDULENT_ACCOUNT = 'fraudulent_account'
|
|
12
|
+
COUNTERFEIT_CARD = 'counterfeit_card'
|
|
13
|
+
ACCOUNT_TAKEOVER = 'account_takeover'
|
|
14
|
+
CARD_NOT_PRESENT_FRAUD = 'card_not_present_fraud'
|
|
15
|
+
MERCHANT_MISREPRESENTATION = 'merchant_misrepresentation'
|
|
16
|
+
CARDHOLDER_MANIPULATION = 'cardholder_manipulation'
|
|
17
|
+
INCORRECT_PROCESSING = 'incorrect_processing'
|
|
18
|
+
OTHER = 'other'
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Issuing
|
|
5
|
+
# Request body for POST /issuing/disputes/{disputeId}/submit. Maps swagger
|
|
6
|
+
# `submit-dispute-request`. All fields are optional.
|
|
7
|
+
#
|
|
8
|
+
# @!attribute reason
|
|
9
|
+
# @return [String] The updated four-digit scheme-specific reason code. If not provided, the
|
|
10
|
+
# existing reason code is used.
|
|
11
|
+
# @!attribute evidence
|
|
12
|
+
# @return [Array<Hash>] Evidence for the chargeback, if updated since you created the dispute
|
|
13
|
+
# (maps `IssuingDisputeEvidence`).
|
|
14
|
+
# @!attribute amount
|
|
15
|
+
# @return [Numeric] The updated disputed amount, in the minor unit of the transaction currency.
|
|
16
|
+
# If not provided, the existing disputed amount is used.
|
|
17
|
+
class SubmitDisputeRequest
|
|
18
|
+
attr_accessor :reason, :evidence, :amount
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -12,8 +12,16 @@ module CheckoutSdk
|
|
|
12
12
|
# @return [Integer]
|
|
13
13
|
# @!attribute expiry_year
|
|
14
14
|
# @return [Integer]
|
|
15
|
+
# @!attribute activation_date
|
|
16
|
+
# @return [String] ISO-8601 date scheduling the card's activation. Supported formats:
|
|
17
|
+
# date only `yyyy-mm-dd` (treated as midnight UTC) or date with round hour
|
|
18
|
+
# `yyyy-mm-ddTHH:mmZ` / `yyyy-mm-ddTHH:mm±HH:mm`. Maps swagger `IssuingActivationDate`.
|
|
19
|
+
# @!attribute revocation_date
|
|
20
|
+
# @return [String] Date for the card to be automatically revoked, in the form `yyyy-mm-dd`.
|
|
21
|
+
# Must be after the current date. Maps swagger `IssuingRevocationDate`.
|
|
15
22
|
class UpdateCardRequest
|
|
16
|
-
attr_accessor :reference, :metadata, :expiry_month, :expiry_year
|
|
23
|
+
attr_accessor :reference, :metadata, :expiry_month, :expiry_year,
|
|
24
|
+
:activation_date, :revocation_date
|
|
17
25
|
end
|
|
18
26
|
end
|
|
19
27
|
end
|
|
@@ -21,12 +21,9 @@ module CheckoutSdk
|
|
|
21
21
|
# @return [IssuingAddress]
|
|
22
22
|
# @!attribute residency_address
|
|
23
23
|
# @return [IssuingAddress]
|
|
24
|
-
# @!attribute document
|
|
25
|
-
# @return [IdentificationDocument]
|
|
26
24
|
class UpdateCardholderRequest
|
|
27
25
|
attr_accessor :first_name, :middle_name, :last_name, :date_of_birth,
|
|
28
|
-
:phone_number, :email, :billing_address, :residency_address
|
|
29
|
-
:document
|
|
26
|
+
:phone_number, :email, :billing_address, :residency_address
|
|
30
27
|
end
|
|
31
28
|
end
|
|
32
29
|
end
|
|
@@ -192,6 +192,10 @@ require 'checkout_sdk/payments/setups/account_funding_transaction_sender'
|
|
|
192
192
|
require 'checkout_sdk/payments/setups/account_funding_transaction_recipient'
|
|
193
193
|
require 'checkout_sdk/payments/setups/payment_setup_account_funding_transaction'
|
|
194
194
|
require 'checkout_sdk/payments/setups/blik_payment_method'
|
|
195
|
+
require 'checkout_sdk/payments/setups/bacs_payment_method'
|
|
196
|
+
require 'checkout_sdk/payments/setups/card_present_payment_method'
|
|
197
|
+
require 'checkout_sdk/payments/setups/pay_by_bank_payment_method'
|
|
198
|
+
require 'checkout_sdk/payments/setups/stablecoin_payment_method'
|
|
195
199
|
require 'checkout_sdk/payments/setups/payment_setups_client'
|
|
196
200
|
|
|
197
201
|
# Payment Flow
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Bacs payment method configuration on a Payment Setup. Maps swagger `Bacs`.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute status
|
|
8
|
+
# @return [String] (response-only) Payment method status.
|
|
9
|
+
# @!attribute flags
|
|
10
|
+
# @return [Array(String)] (response-only) Diagnostic flags returned by the API.
|
|
11
|
+
# @!attribute initialization
|
|
12
|
+
# @return [String] The initialization type for the payment method.
|
|
13
|
+
# @!attribute instrument_id
|
|
14
|
+
# @return [String] (response-only) The ID of the Bacs instrument used for the payment.
|
|
15
|
+
# @!attribute account_holder
|
|
16
|
+
# @return [Hash] The account holder details (`type`, `first_name`, `last_name`,
|
|
17
|
+
# `company_name`, `email`).
|
|
18
|
+
# @!attribute account_number
|
|
19
|
+
# @return [String] The account number of the Bacs Direct Debit account.
|
|
20
|
+
# @!attribute bank_code
|
|
21
|
+
# @return [String] The bank code (sort code) of the Bacs Direct Debit account.
|
|
22
|
+
# @!attribute country
|
|
23
|
+
# @return [String] {CheckoutSdk::Common::Country}
|
|
24
|
+
# @!attribute currency
|
|
25
|
+
# @return [String] {CheckoutSdk::Common::Currency}
|
|
26
|
+
# @!attribute allow_partial_match
|
|
27
|
+
# @return [TrueClass, FalseClass] Whether to allow a partial match of the account holder details.
|
|
28
|
+
class BacsPaymentMethod
|
|
29
|
+
attr_accessor :status,
|
|
30
|
+
:flags,
|
|
31
|
+
:initialization,
|
|
32
|
+
:instrument_id,
|
|
33
|
+
:account_holder,
|
|
34
|
+
:account_number,
|
|
35
|
+
:bank_code,
|
|
36
|
+
:country,
|
|
37
|
+
:currency,
|
|
38
|
+
:allow_partial_match
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Card Present payment method configuration on a Payment Setup. Maps swagger `CardPresent`.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute status
|
|
8
|
+
# @return [String] (response-only) Payment method status.
|
|
9
|
+
# @!attribute flags
|
|
10
|
+
# @return [Array(String)] (response-only) Diagnostic flags returned by the API.
|
|
11
|
+
# @!attribute track2
|
|
12
|
+
# @return [String] The Track 2 data read from card or device.
|
|
13
|
+
# @!attribute emv
|
|
14
|
+
# @return [String] The EMV data read from the card or device.
|
|
15
|
+
# @!attribute entry_mode
|
|
16
|
+
# @return [String] The mode used to capture the card details at the point of sale.
|
|
17
|
+
# @!attribute pin
|
|
18
|
+
# @return [Hash] The encrypted PIN block details (`key_set_id`, `block`, `block_format`).
|
|
19
|
+
# @!attribute store_for_future_use
|
|
20
|
+
# @return [TrueClass, FalseClass] Set to `true` if you intend to reuse the payment credentials
|
|
21
|
+
# in subsequent payments.
|
|
22
|
+
# @!attribute name
|
|
23
|
+
# @return [String] The cardholder name.
|
|
24
|
+
class CardPresentPaymentMethod
|
|
25
|
+
attr_accessor :status,
|
|
26
|
+
:flags,
|
|
27
|
+
:track2,
|
|
28
|
+
:emv,
|
|
29
|
+
:entry_mode,
|
|
30
|
+
:pin,
|
|
31
|
+
:store_for_future_use,
|
|
32
|
+
:name
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Pay by Bank (Open Banking) payment method configuration on a Payment Setup.
|
|
6
|
+
# Maps swagger `PayByBank`.
|
|
7
|
+
#
|
|
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`).
|
|
17
|
+
class PayByBankPaymentMethod
|
|
18
|
+
attr_accessor :status,
|
|
19
|
+
:flags,
|
|
20
|
+
:bank_id,
|
|
21
|
+
:action
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Stablecoin payment method configuration on a Payment Setup. Maps swagger `Stablecoin`.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute status
|
|
8
|
+
# @return [String] (response-only) Payment method status.
|
|
9
|
+
# @!attribute flags
|
|
10
|
+
# @return [Array(String)] (response-only) Diagnostic flags returned by the API.
|
|
11
|
+
class StablecoinPaymentMethod
|
|
12
|
+
attr_accessor :status,
|
|
13
|
+
:flags
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
data/lib/checkout_sdk/version.rb
CHANGED
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: 1.
|
|
4
|
+
version: 1.9.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-
|
|
11
|
+
date: 2026-07-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -176,6 +176,7 @@ files:
|
|
|
176
176
|
- lib/checkout_sdk/accounts/identification.rb
|
|
177
177
|
- lib/checkout_sdk/accounts/individual.rb
|
|
178
178
|
- lib/checkout_sdk/accounts/instrument_details.rb
|
|
179
|
+
- lib/checkout_sdk/accounts/instrument_details_ach.rb
|
|
179
180
|
- lib/checkout_sdk/accounts/instrument_details_card_token.rb
|
|
180
181
|
- lib/checkout_sdk/accounts/instrument_details_faster_payments.rb
|
|
181
182
|
- lib/checkout_sdk/accounts/instrument_details_sepa.rb
|
|
@@ -340,18 +341,20 @@ files:
|
|
|
340
341
|
- lib/checkout_sdk/instruments/update/update_instrument_token.rb
|
|
341
342
|
- lib/checkout_sdk/issuing/add_control_group_request.rb
|
|
342
343
|
- lib/checkout_sdk/issuing/add_control_profile_request.rb
|
|
344
|
+
- lib/checkout_sdk/issuing/amend_dispute_request.rb
|
|
343
345
|
- lib/checkout_sdk/issuing/cardholder_access_token_request.rb
|
|
344
346
|
- lib/checkout_sdk/issuing/create_dispute_request.rb
|
|
345
347
|
- lib/checkout_sdk/issuing/escalate_dispute_request.rb
|
|
346
|
-
- lib/checkout_sdk/issuing/identification_document.rb
|
|
347
348
|
- lib/checkout_sdk/issuing/issuing.rb
|
|
348
349
|
- lib/checkout_sdk/issuing/issuing_address.rb
|
|
349
350
|
- lib/checkout_sdk/issuing/issuing_client.rb
|
|
351
|
+
- lib/checkout_sdk/issuing/issuing_dispute_fraud_details.rb
|
|
352
|
+
- lib/checkout_sdk/issuing/issuing_dispute_fraud_type.rb
|
|
350
353
|
- lib/checkout_sdk/issuing/issuing_phone_number.rb
|
|
351
354
|
- lib/checkout_sdk/issuing/oob_authentication_request.rb
|
|
352
355
|
- lib/checkout_sdk/issuing/oob_simulate_transaction_details.rb
|
|
353
|
-
- lib/checkout_sdk/issuing/schedule_revocation_request.rb
|
|
354
356
|
- lib/checkout_sdk/issuing/simulate_refund_request.rb
|
|
357
|
+
- lib/checkout_sdk/issuing/submit_dispute_request.rb
|
|
355
358
|
- lib/checkout_sdk/issuing/update_card_request.rb
|
|
356
359
|
- lib/checkout_sdk/issuing/update_cardholder_request.rb
|
|
357
360
|
- lib/checkout_sdk/issuing/update_control_profile_request.rb
|
|
@@ -512,9 +515,13 @@ files:
|
|
|
512
515
|
- lib/checkout_sdk/payments/setups/account_funding_transaction_purpose.rb
|
|
513
516
|
- lib/checkout_sdk/payments/setups/account_funding_transaction_recipient.rb
|
|
514
517
|
- lib/checkout_sdk/payments/setups/account_funding_transaction_sender.rb
|
|
518
|
+
- lib/checkout_sdk/payments/setups/bacs_payment_method.rb
|
|
515
519
|
- lib/checkout_sdk/payments/setups/blik_payment_method.rb
|
|
520
|
+
- lib/checkout_sdk/payments/setups/card_present_payment_method.rb
|
|
521
|
+
- lib/checkout_sdk/payments/setups/pay_by_bank_payment_method.rb
|
|
516
522
|
- lib/checkout_sdk/payments/setups/payment_setup_account_funding_transaction.rb
|
|
517
523
|
- lib/checkout_sdk/payments/setups/payment_setups_client.rb
|
|
524
|
+
- lib/checkout_sdk/payments/setups/stablecoin_payment_method.rb
|
|
518
525
|
- lib/checkout_sdk/payments/shipping_details.rb
|
|
519
526
|
- lib/checkout_sdk/payments/shipping_preference.rb
|
|
520
527
|
- lib/checkout_sdk/payments/source/apm/ach_source.rb
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module CheckoutSdk
|
|
4
|
-
module Issuing
|
|
5
|
-
# Identification document attached to a cardholder. Matches swagger
|
|
6
|
-
# `IdentificationDocument`. `type` and `front_document_id` are required.
|
|
7
|
-
#
|
|
8
|
-
# @!attribute type
|
|
9
|
-
# @return [String] Document type (e.g. "passport"). [Required]
|
|
10
|
-
# @!attribute front_document_id
|
|
11
|
-
# @return [String] File id of the front-side scan. [Required]
|
|
12
|
-
# @!attribute back_document_id
|
|
13
|
-
# @return [String] File id of the back-side scan (when applicable).
|
|
14
|
-
class IdentificationDocument
|
|
15
|
-
attr_accessor :type, :front_document_id, :back_document_id
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module CheckoutSdk
|
|
4
|
-
module Issuing
|
|
5
|
-
# Request body for POST /issuing/cards/{cardId}/schedule-revocation.
|
|
6
|
-
#
|
|
7
|
-
# @!attribute revocation_date
|
|
8
|
-
# @return [String] ISO-8601 date the card revocation should take effect.
|
|
9
|
-
class ScheduleRevocationRequest
|
|
10
|
-
attr_accessor :revocation_date
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|