checkout_sdk 0.3.2 → 1.0.0.beta.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/.rubocop.yml +31 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +5 -2
- data/LICENSE.md +9 -0
- data/README.md +96 -110
- data/Rakefile +3 -1
- data/lib/checkout_sdk/abstract_checkout_sdk_builder.rb +28 -0
- data/lib/checkout_sdk/api_client.rb +135 -0
- data/lib/checkout_sdk/apm/apm.rb +12 -0
- data/lib/checkout_sdk/apm/ideal/ideal_client.rb +25 -0
- data/lib/checkout_sdk/apm/previous/klarna/credit_session_request.rb +30 -0
- data/lib/checkout_sdk/apm/previous/klarna/klarna.rb +24 -0
- data/lib/checkout_sdk/apm/previous/klarna/klarna_client.rb +55 -0
- data/lib/checkout_sdk/apm/previous/klarna/klarna_product.rb +30 -0
- data/lib/checkout_sdk/apm/previous/klarna/klarna_shipping_info.rb +33 -0
- data/lib/checkout_sdk/apm/previous/klarna/order_capture_request.rb +37 -0
- data/lib/checkout_sdk/apm/previous/sepa/sepa_client.rb +42 -0
- data/lib/checkout_sdk/authorization_type.rb +12 -0
- data/lib/checkout_sdk/checkout_api.rb +51 -0
- data/lib/checkout_sdk/checkout_configuration.rb +22 -0
- data/lib/checkout_sdk/checkout_oauth_sdk_builder.rb +52 -0
- data/lib/checkout_sdk/checkout_sdk_builder.rb +20 -0
- data/lib/checkout_sdk/checkout_static_keys_sdk_builder.rb +23 -0
- data/lib/checkout_sdk/checkout_utils.rb +15 -0
- data/lib/checkout_sdk/client.rb +46 -0
- data/lib/checkout_sdk/common/abstract_file_request.rb +11 -0
- data/lib/checkout_sdk/common/account_holder.rb +44 -0
- data/lib/checkout_sdk/common/account_holder_identification.rb +20 -0
- data/lib/checkout_sdk/common/account_holder_identification_type.rb +13 -0
- data/lib/checkout_sdk/common/account_holder_type.rb +11 -0
- data/lib/checkout_sdk/common/account_type.rb +11 -0
- data/lib/checkout_sdk/common/address.rb +26 -0
- data/lib/checkout_sdk/common/amount_allocations.rb +20 -0
- data/lib/checkout_sdk/common/bank_details.rb +17 -0
- data/lib/checkout_sdk/common/challenge_indicator.rb +12 -0
- data/lib/checkout_sdk/common/commission.rb +14 -0
- data/lib/checkout_sdk/common/common.rb +22 -0
- data/lib/checkout_sdk/common/country.rb +260 -0
- data/lib/checkout_sdk/common/currency.rb +168 -0
- data/lib/checkout_sdk/common/customer_request.rb +26 -0
- data/lib/checkout_sdk/common/file_purpose.rb +9 -0
- data/lib/checkout_sdk/common/file_request.rb +11 -0
- data/lib/checkout_sdk/common/instrument_type.rb +11 -0
- data/lib/checkout_sdk/common/payment_source_type.rb +52 -0
- data/lib/checkout_sdk/common/phone.rb +14 -0
- data/lib/checkout_sdk/common/update_customer_request.rb +14 -0
- data/lib/checkout_sdk/customers/customer_request.rb +26 -0
- data/lib/checkout_sdk/customers/customers.rb +4 -0
- data/lib/checkout_sdk/customers/customers_client.rb +37 -0
- data/lib/checkout_sdk/disputes/dispute_evidence_request.rb +60 -0
- data/lib/checkout_sdk/disputes/dispute_status.rb +19 -0
- data/lib/checkout_sdk/disputes/disputes.rb +6 -0
- data/lib/checkout_sdk/disputes/disputes_client.rb +55 -0
- data/lib/checkout_sdk/disputes/disputes_query_filter.rb +47 -0
- data/lib/checkout_sdk/environment.rb +59 -0
- data/lib/checkout_sdk/error.rb +30 -0
- data/lib/checkout_sdk/forex/forex.rb +4 -0
- data/lib/checkout_sdk/forex/forex_client.rb +21 -0
- data/lib/checkout_sdk/forex/quote_request.rb +23 -0
- data/lib/checkout_sdk/http_metadata.rb +9 -0
- data/lib/checkout_sdk/instruments/create/instrument_bank_account_request.rb +51 -0
- data/lib/checkout_sdk/instruments/create/instrument_request.rb +17 -0
- data/lib/checkout_sdk/instruments/create/instrument_token_request.rb +21 -0
- data/lib/checkout_sdk/instruments/get/bank_account_field_query.rb +14 -0
- data/lib/checkout_sdk/instruments/get/payment_network.rb +14 -0
- data/lib/checkout_sdk/instruments/instruments.rb +15 -0
- data/lib/checkout_sdk/instruments/instruments_client.rb +49 -0
- data/lib/checkout_sdk/instruments/update/update_instrument_bank_account_request.rb +51 -0
- data/lib/checkout_sdk/instruments/update/update_instrument_card_request.rb +27 -0
- data/lib/checkout_sdk/instruments/update/update_instrument_request.rb +17 -0
- data/lib/checkout_sdk/instruments/update/update_instrument_token_request.rb +15 -0
- data/lib/checkout_sdk/json_serializer.rb +54 -0
- data/lib/checkout_sdk/oauth_access_token.rb +27 -0
- data/lib/checkout_sdk/oauth_scopes.rb +41 -0
- data/lib/checkout_sdk/oauth_sdk_credentials.rb +112 -0
- data/lib/checkout_sdk/payments/airline_data.rb +17 -0
- data/lib/checkout_sdk/payments/authorization_request.rb +17 -0
- data/lib/checkout_sdk/payments/authorization_type.rb +11 -0
- data/lib/checkout_sdk/payments/billing_descriptor.rb +17 -0
- data/lib/checkout_sdk/payments/capture_request.rb +41 -0
- data/lib/checkout_sdk/payments/capture_type.rb +10 -0
- data/lib/checkout_sdk/payments/charge_bearer.rb +10 -0
- data/lib/checkout_sdk/payments/d_local_installments.rb +11 -0
- data/lib/checkout_sdk/payments/d_local_processing_settings.rb +17 -0
- data/lib/checkout_sdk/payments/destination/bank_account_destination.rb +42 -0
- data/lib/checkout_sdk/payments/destination/card_destination.rb +24 -0
- data/lib/checkout_sdk/payments/destination/destination.rb +19 -0
- data/lib/checkout_sdk/payments/destination/destination_type.rb +12 -0
- data/lib/checkout_sdk/payments/destination/id_destination.rb +18 -0
- data/lib/checkout_sdk/payments/destination/token_destination.rb +18 -0
- data/lib/checkout_sdk/payments/exemption.rb +17 -0
- data/lib/checkout_sdk/payments/flight_leg_details.rb +35 -0
- data/lib/checkout_sdk/payments/instruction_scheme.rb +11 -0
- data/lib/checkout_sdk/payments/merchant_initiated_reason.rb +12 -0
- data/lib/checkout_sdk/payments/network_token_type.rb +12 -0
- data/lib/checkout_sdk/payments/os_type.rb +10 -0
- data/lib/checkout_sdk/payments/passenger.rb +17 -0
- data/lib/checkout_sdk/payments/passenger_name.rb +11 -0
- data/lib/checkout_sdk/payments/payer.rb +17 -0
- data/lib/checkout_sdk/payments/payment_instruction.rb +32 -0
- data/lib/checkout_sdk/payments/payment_recipient.rb +20 -0
- data/lib/checkout_sdk/payments/payment_request.rb +86 -0
- data/lib/checkout_sdk/payments/payment_type.rb +13 -0
- data/lib/checkout_sdk/payments/payments.rb +82 -0
- data/lib/checkout_sdk/payments/payments_client.rb +86 -0
- data/lib/checkout_sdk/payments/payout_billing_descriptor.rb +11 -0
- data/lib/checkout_sdk/payments/payout_request.rb +38 -0
- data/lib/checkout_sdk/payments/preferred_schema.rb +11 -0
- data/lib/checkout_sdk/payments/processing_settings.rb +80 -0
- data/lib/checkout_sdk/payments/product.rb +47 -0
- data/lib/checkout_sdk/payments/product_type.rb +12 -0
- data/lib/checkout_sdk/payments/refund_request.rb +17 -0
- data/lib/checkout_sdk/payments/risk_request.rb +11 -0
- data/lib/checkout_sdk/payments/sender/corporate_sender.rb +27 -0
- data/lib/checkout_sdk/payments/sender/government_sender.rb +27 -0
- data/lib/checkout_sdk/payments/sender/individual_sender.rb +42 -0
- data/lib/checkout_sdk/payments/sender/instrument_sender.rb +11 -0
- data/lib/checkout_sdk/payments/sender/sender.rb +22 -0
- data/lib/checkout_sdk/payments/sender/sender_type.rb +12 -0
- data/lib/checkout_sdk/payments/sender/source_of_funds.rb +14 -0
- data/lib/checkout_sdk/payments/sender/ticket.rb +23 -0
- data/lib/checkout_sdk/payments/shipping_details.rb +17 -0
- data/lib/checkout_sdk/payments/shipping_preference.rb +11 -0
- data/lib/checkout_sdk/payments/source/apm/after_pay_source.rb +15 -0
- data/lib/checkout_sdk/payments/source/apm/alipay_plus_source.rb +47 -0
- data/lib/checkout_sdk/payments/source/apm/bancontact_source.rb +24 -0
- data/lib/checkout_sdk/payments/source/apm/benefit_source.rb +11 -0
- data/lib/checkout_sdk/payments/source/apm/eps_source.rb +15 -0
- data/lib/checkout_sdk/payments/source/apm/giropay_source.rb +27 -0
- data/lib/checkout_sdk/payments/source/apm/ideal_source.rb +21 -0
- data/lib/checkout_sdk/payments/source/apm/knet_source.rb +36 -0
- data/lib/checkout_sdk/payments/source/apm/mbway_source.rb +11 -0
- data/lib/checkout_sdk/payments/source/apm/multi_banco_source.rb +21 -0
- data/lib/checkout_sdk/payments/source/apm/p24_source.rb +24 -0
- data/lib/checkout_sdk/payments/source/apm/paypal_source.rb +11 -0
- data/lib/checkout_sdk/payments/source/apm/post_finance_source.rb +21 -0
- data/lib/checkout_sdk/payments/source/apm/qpay_source.rb +24 -0
- data/lib/checkout_sdk/payments/source/apm/sofort_source.rb +18 -0
- data/lib/checkout_sdk/payments/source/apm/stcpay_source.rb +11 -0
- data/lib/checkout_sdk/payments/source/apm/tamara_source.rb +15 -0
- data/lib/checkout_sdk/payments/source/apm/we_chat_pay_source.rb +15 -0
- data/lib/checkout_sdk/payments/source/bank_account_source.rb +30 -0
- data/lib/checkout_sdk/payments/source/card_source.rb +39 -0
- data/lib/checkout_sdk/payments/source/currency_account_source.rb +15 -0
- data/lib/checkout_sdk/payments/source/id_source.rb +21 -0
- data/lib/checkout_sdk/payments/source/network_token_source.rb +45 -0
- data/lib/checkout_sdk/payments/source/payment_request_source.rb +18 -0
- data/lib/checkout_sdk/payments/source/payout_request_source.rb +22 -0
- data/lib/checkout_sdk/payments/source/payout_source_type.rb +9 -0
- data/lib/checkout_sdk/payments/source/provider_token_source.rb +21 -0
- data/lib/checkout_sdk/payments/source/token_source.rb +24 -0
- data/lib/checkout_sdk/payments/terminal_type.rb +11 -0
- data/lib/checkout_sdk/payments/three_ds_flow_type.rb +11 -0
- data/lib/checkout_sdk/payments/three_ds_request.rb +56 -0
- data/lib/checkout_sdk/payments/user_action.rb +10 -0
- data/lib/checkout_sdk/payments/void_request.rb +14 -0
- data/lib/checkout_sdk/platform_type.rb +10 -0
- data/lib/checkout_sdk/previous/checkout_api.rb +29 -0
- data/lib/checkout_sdk/previous/checkout_previous_sdk_builder.rb +11 -0
- data/lib/checkout_sdk/previous/checkout_previous_static_keys_sdk_builder.rb +24 -0
- data/lib/checkout_sdk/previous/previous_static_keys_sdk_credentials.rb +38 -0
- data/lib/checkout_sdk/sdk_authorization.rb +25 -0
- data/lib/checkout_sdk/sdk_credentials.rb +12 -0
- data/lib/checkout_sdk/sessions/authentication_method.rb +14 -0
- data/lib/checkout_sdk/sessions/authentication_type.rb +10 -0
- data/lib/checkout_sdk/sessions/card_holder_account_info.rb +32 -0
- data/lib/checkout_sdk/sessions/category.rb +10 -0
- data/lib/checkout_sdk/sessions/channel/app_session.rb +36 -0
- data/lib/checkout_sdk/sessions/channel/browser_session.rb +42 -0
- data/lib/checkout_sdk/sessions/channel/channel_data.rb +19 -0
- data/lib/checkout_sdk/sessions/channel/channel_data_type.rb +10 -0
- data/lib/checkout_sdk/sessions/channel/sdk_ephemeral_public_key.rb +19 -0
- data/lib/checkout_sdk/sessions/channel/sdk_interface_type.rb +11 -0
- data/lib/checkout_sdk/sessions/channel/three_ds_method_completion.rb +11 -0
- data/lib/checkout_sdk/sessions/channel/uie_elements.rb +13 -0
- data/lib/checkout_sdk/sessions/completion/completion_info.rb +19 -0
- data/lib/checkout_sdk/sessions/completion/completion_info_type.rb +10 -0
- data/lib/checkout_sdk/sessions/completion/hosted_completion_info.rb +21 -0
- data/lib/checkout_sdk/sessions/completion/non_hosted_completion_info.rb +15 -0
- data/lib/checkout_sdk/sessions/delivery_timeframe.rb +12 -0
- data/lib/checkout_sdk/sessions/installment.rb +17 -0
- data/lib/checkout_sdk/sessions/merchant_risk_info.rb +23 -0
- data/lib/checkout_sdk/sessions/recurring.rb +14 -0
- data/lib/checkout_sdk/sessions/session_address.rb +11 -0
- data/lib/checkout_sdk/sessions/session_marketplace_data.rb +11 -0
- data/lib/checkout_sdk/sessions/session_request.rb +68 -0
- data/lib/checkout_sdk/sessions/session_secret_credentials.rb +28 -0
- data/lib/checkout_sdk/sessions/session_source_type.rb +12 -0
- data/lib/checkout_sdk/sessions/sessions.rb +47 -0
- data/lib/checkout_sdk/sessions/sessions_billing_descriptor.rb +11 -0
- data/lib/checkout_sdk/sessions/sessions_client.rb +64 -0
- data/lib/checkout_sdk/sessions/shipping_indicator.rb +9 -0
- data/lib/checkout_sdk/sessions/source/card_source.rb +30 -0
- data/lib/checkout_sdk/sessions/source/id_source.rb +15 -0
- data/lib/checkout_sdk/sessions/source/network_token_source.rb +27 -0
- data/lib/checkout_sdk/sessions/source/session_scheme.rb +14 -0
- data/lib/checkout_sdk/sessions/source/session_source.rb +37 -0
- data/lib/checkout_sdk/sessions/source/token_source.rb +18 -0
- data/lib/checkout_sdk/sessions/three_ds_method_completion_request.rb +11 -0
- data/lib/checkout_sdk/sessions/transaction_type.rb +13 -0
- data/lib/checkout_sdk/static_keys_builder.rb +35 -0
- data/lib/checkout_sdk/static_keys_sdk_credentials.rb +35 -0
- data/lib/checkout_sdk/tokens/apple_pay_token_data.rb +20 -0
- data/lib/checkout_sdk/tokens/apple_pay_token_request.rb +15 -0
- data/lib/checkout_sdk/tokens/card_token_request.rb +36 -0
- data/lib/checkout_sdk/tokens/google_pay_token_data.rb +17 -0
- data/lib/checkout_sdk/tokens/google_pay_token_request.rb +15 -0
- data/lib/checkout_sdk/tokens/token_type.rb +11 -0
- data/lib/checkout_sdk/tokens/tokens.rb +10 -0
- data/lib/checkout_sdk/tokens/tokens_client.rb +21 -0
- data/lib/checkout_sdk/tokens/wallet_token_request.rb +19 -0
- data/lib/checkout_sdk/version.rb +3 -1
- data/lib/checkout_sdk.rb +59 -21
- data/sig/checkout_sdk.rbs +4 -0
- metadata +254 -81
- data/.gitignore +0 -11
- data/.travis.yml +0 -7
- data/Gemfile.lock +0 -45
- data/LICENSE +0 -21
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/checkout_sdk.gemspec +0 -24
- data/documentation/.gitignore +0 -20
- data/documentation/docs/environment.md +0 -26
- data/documentation/docs/getting_started.md +0 -48
- data/documentation/docs/initialize.md +0 -19
- data/documentation/docs/install.md +0 -21
- data/documentation/docs/payments.md +0 -200
- data/documentation/docs/sources.md +0 -53
- data/documentation/docs/tokens.md +0 -88
- data/documentation/docusaurus.config.js +0 -60
- data/documentation/package-lock.json +0 -13511
- data/documentation/package.json +0 -32
- data/documentation/sidebars.js +0 -10
- data/documentation/src/css/custom.css +0 -103
- data/documentation/src/pages/index.js +0 -10
- data/documentation/src/pages/styles.module.css +0 -37
- data/documentation/static/img/favicon.png +0 -0
- data/documentation/static/img/logo.png +0 -0
- data/documentation/static/img/undraw_docusaurus_mountain.svg +0 -170
- data/documentation/static/img/undraw_docusaurus_react.svg +0 -169
- data/documentation/static/img/undraw_docusaurus_tree.svg +0 -1
- data/documentation/yarn.lock +0 -9369
- data/lib/checkout_sdk/api_resource.rb +0 -77
- data/lib/checkout_sdk/configuration.rb +0 -10
- data/lib/checkout_sdk/data/capture_payment.rb +0 -11
- data/lib/checkout_sdk/data/payment_request_source.rb +0 -145
- data/lib/checkout_sdk/data/payment_source.rb +0 -40
- data/lib/checkout_sdk/data/refund_payment.rb +0 -11
- data/lib/checkout_sdk/data/request_token.rb +0 -67
- data/lib/checkout_sdk/data/void_payment.rb +0 -10
- data/spec/checkout_sdk/api_resource_spec.rb +0 -126
- data/spec/checkout_sdk/data/payment_request_source_spec.rb +0 -126
- data/spec/checkout_sdk/data/request_token_spec.rb +0 -107
- data/spec/checkout_sdk_spec.rb +0 -21
- data/spec/spec_helper.rb +0 -32
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute type
|
6
|
+
# @return [String] {CheckoutSdk::Common::PaymentSourceType}
|
7
|
+
class PaymentRequestSource
|
8
|
+
attr_reader :type
|
9
|
+
|
10
|
+
protected
|
11
|
+
|
12
|
+
# @param [String] type {CheckoutSdk::Common::PaymentSourceType}
|
13
|
+
def initialize(type)
|
14
|
+
@type = type
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute type
|
6
|
+
# @return [String] {PayoutSourceType}
|
7
|
+
# @!attribute amount
|
8
|
+
# @return [String]
|
9
|
+
class PayoutRequestSource
|
10
|
+
attr_accessor :type,
|
11
|
+
:amount
|
12
|
+
|
13
|
+
protected
|
14
|
+
|
15
|
+
# @abstract
|
16
|
+
# @param [String] type {PayoutSourceType}
|
17
|
+
def initialize(type)
|
18
|
+
@type = type
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute payment_method
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute token
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute account_holder
|
10
|
+
# @return [CheckoutSdk::Common::AccountHolder]
|
11
|
+
class ProviderTokenSource < PaymentRequestSource
|
12
|
+
attr_accessor :payment_method,
|
13
|
+
:token,
|
14
|
+
:account_holder
|
15
|
+
|
16
|
+
def initialize
|
17
|
+
super CheckoutSdk::Common::PaymentSourceType::PROVIDER_TOKEN
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute token
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute billing_address
|
8
|
+
# @return [CheckoutSdk::Common::Address]
|
9
|
+
# @!attribute phone
|
10
|
+
# @return [CheckoutSdk::Common::Phone]
|
11
|
+
# @!attribute store_for_future_use
|
12
|
+
# @return [TrueClass, FalseClass]
|
13
|
+
class TokenSource < PaymentRequestSource
|
14
|
+
attr_accessor :token,
|
15
|
+
:billing_address,
|
16
|
+
:phone,
|
17
|
+
:store_for_future_use
|
18
|
+
|
19
|
+
def initialize
|
20
|
+
super CheckoutSdk::Common::PaymentSourceType::TOKEN
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute enabled
|
6
|
+
# @return [TrueClass, FalseClass]
|
7
|
+
# @!attribute attempt_n3d
|
8
|
+
# @return [TrueClass, FalseClass]
|
9
|
+
# @!attribute eci
|
10
|
+
# @return [String]
|
11
|
+
# @!attribute cryptogram
|
12
|
+
# @return [String]
|
13
|
+
# @!attribute xid
|
14
|
+
# @return [String]
|
15
|
+
# @!attribute version
|
16
|
+
# @return [String]
|
17
|
+
# @!attribute exemption
|
18
|
+
# @return [String] {Exemption}
|
19
|
+
# @!attribute challenge_indicator
|
20
|
+
# @return [String] {ChallengeIndicator}
|
21
|
+
# @!attribute status
|
22
|
+
# @return [String]
|
23
|
+
# @!attribute authentication_date
|
24
|
+
# @return [Time]
|
25
|
+
# @!attribute authentication_amount
|
26
|
+
# @return [Integer]
|
27
|
+
# @!attribute flow_type
|
28
|
+
# @return [String] {ThreeDSFlowType}
|
29
|
+
# @!attribute status_reason_code
|
30
|
+
# @return [String]
|
31
|
+
# @!attribute challenge_cancel_reason
|
32
|
+
# @return [String]
|
33
|
+
# @!attribute score
|
34
|
+
# @return [String]
|
35
|
+
# @!attribute cryptogram_algorithm
|
36
|
+
# @return [String]
|
37
|
+
class ThreeDSRequest
|
38
|
+
attr_accessor :enabled,
|
39
|
+
:attempt_n3d,
|
40
|
+
:eci,
|
41
|
+
:cryptogram,
|
42
|
+
:xid,
|
43
|
+
:version,
|
44
|
+
:exemption,
|
45
|
+
:challenge_indicator,
|
46
|
+
:status,
|
47
|
+
:authentication_date,
|
48
|
+
:authentication_amount,
|
49
|
+
:flow_type,
|
50
|
+
:status_reason_code,
|
51
|
+
:challenge_cancel_reason,
|
52
|
+
:score,
|
53
|
+
:cryptogram_algorithm
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute reference
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute metadata
|
8
|
+
# @return [Hash{String => Object}]
|
9
|
+
class VoidRequest
|
10
|
+
attr_accessor :reference,
|
11
|
+
:metadata
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Previous
|
5
|
+
# @!attribute klarna
|
6
|
+
# @return [CheckoutSdk::Previous::Apm::Klarna::KlarnaClient]
|
7
|
+
# @!attribute sepa
|
8
|
+
# @return [CheckoutSdk::Previous::Apm::Sepa::SepaClient]
|
9
|
+
class CheckoutApi
|
10
|
+
attr_reader :klarna,
|
11
|
+
:sepa
|
12
|
+
|
13
|
+
# @param [CheckoutConfiguration] configuration
|
14
|
+
def initialize(configuration)
|
15
|
+
api_client = base_api_client configuration
|
16
|
+
@klarna = CheckoutSdk::Previous::Apm::Klarna::KlarnaClient.new api_client, configuration
|
17
|
+
@sepa = CheckoutSdk::Previous::Apm::Sepa::SepaClient.new api_client, configuration
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
# @param [CheckoutConfiguration] configuration
|
23
|
+
# @return [ApiClient]
|
24
|
+
def base_api_client(configuration)
|
25
|
+
CheckoutSdk::ApiClient.new configuration, configuration.environment.base_uri
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Previous
|
5
|
+
class CheckoutPreviousStaticKeysSdkBuilder < StaticKeysBuilder
|
6
|
+
SECRET_KEY_PATTERN = '^sk_(test_)?(\\w{8})-(\\w{4})-(\\w{4})-(\\w{4})-(\\w{12})$'
|
7
|
+
PUBLIC_KEY_PATTERN = '^pk_(test_)?(\\w{8})-(\\w{4})-(\\w{4})-(\\w{4})-(\\w{12})$'
|
8
|
+
private_constant :SECRET_KEY_PATTERN, :PUBLIC_KEY_PATTERN
|
9
|
+
|
10
|
+
def build
|
11
|
+
@secret_key_pattern = SECRET_KEY_PATTERN
|
12
|
+
@public_key_pattern = PUBLIC_KEY_PATTERN
|
13
|
+
super
|
14
|
+
CheckoutApi.new(
|
15
|
+
CheckoutConfiguration.new(
|
16
|
+
PreviousStaticKeysSdkCredentials.new(secret_key, public_key),
|
17
|
+
environment,
|
18
|
+
http_client
|
19
|
+
)
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Previous
|
5
|
+
# @!attribute secret_key
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute public_key
|
8
|
+
# @return [String]
|
9
|
+
class PreviousStaticKeysSdkCredentials < SdkCredentials
|
10
|
+
attr_reader :secret_key, :public_key
|
11
|
+
|
12
|
+
# @param [String] secret_key
|
13
|
+
# @param [String] public_key
|
14
|
+
# @return [PreviousStaticKeysSdkCredentials]
|
15
|
+
def initialize(secret_key, public_key)
|
16
|
+
@secret_key = secret_key
|
17
|
+
@public_key = public_key
|
18
|
+
end
|
19
|
+
|
20
|
+
# @param [String] authorization_type
|
21
|
+
# @return [CheckoutSdk::SdkAuthorization]
|
22
|
+
def get_authorization(authorization_type)
|
23
|
+
case authorization_type
|
24
|
+
when AuthorizationType::SECRET_KEY, AuthorizationType::SECRET_KEY_OR_OAUTH
|
25
|
+
raise CheckoutAuthorizationException.invalid_key AuthorizationType::SECRET_KEY if secret_key.nil?
|
26
|
+
|
27
|
+
SdkAuthorization.new(PlatformType::PREVIOUS, @secret_key)
|
28
|
+
when AuthorizationType::PUBLIC_KEY, AuthorizationType::PUBLIC_KEY_OR_OAUTH
|
29
|
+
raise CheckoutAuthorizationException.invalid_key AuthorizationType::PUBLIC_KEY if public_key.nil?
|
30
|
+
|
31
|
+
SdkAuthorization.new(PlatformType::PREVIOUS, @public_key)
|
32
|
+
else
|
33
|
+
raise CheckoutAuthorizationException.invalid_authorization authorization_type
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
class SdkAuthorization
|
5
|
+
attr_accessor :platform_type, :credential
|
6
|
+
|
7
|
+
# @param [String] platform_type {PlatformType}
|
8
|
+
# @param [String] credential
|
9
|
+
def initialize(platform_type, credential)
|
10
|
+
@platform_type = platform_type
|
11
|
+
@credential = credential
|
12
|
+
end
|
13
|
+
|
14
|
+
def authorization_header
|
15
|
+
case @platform_type
|
16
|
+
when PlatformType::PREVIOUS, PlatformType::CUSTOM
|
17
|
+
@credential
|
18
|
+
when PlatformType::DEFAULT, PlatformType::OAUTH
|
19
|
+
"Bearer #{@credential}"
|
20
|
+
else
|
21
|
+
raise CheckoutAuthorizationException, 'Invalid platform type'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
module AuthenticationMethod
|
6
|
+
NO_AUTHENTICATION = 'no_authentication'
|
7
|
+
OWN_CREDENTIALS = 'own_credentials'
|
8
|
+
FEDERATED_ID = 'federated_id'
|
9
|
+
ISSUER_CREDENTIALS = 'issuer_credentials'
|
10
|
+
THIRD_PARTY_AUTHENTICATION = 'third_party_authentication'
|
11
|
+
FIDO = 'fido'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
# @!attribute purchase_count
|
6
|
+
# @return [Integer]
|
7
|
+
# @!attribute account_age
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute add_card_attempts
|
10
|
+
# @return [Integer]
|
11
|
+
# @!attribute shipping_address_age
|
12
|
+
# @return [String]
|
13
|
+
# @!attribute account_name_matches_shipping_name
|
14
|
+
# @return [TrueClass, FalseClass]
|
15
|
+
# @!attribute suspicious_account_activity
|
16
|
+
# @return [TrueClass, FalseClass]
|
17
|
+
# @!attribute transactions_today
|
18
|
+
# @return [Integer]
|
19
|
+
# @!attribute authentication_method
|
20
|
+
# @return [String] {AuthenticationMethod}
|
21
|
+
class CardHolderAccountInfo
|
22
|
+
attr_accessor :purchase_count,
|
23
|
+
:account_age,
|
24
|
+
:add_card_attempts,
|
25
|
+
:shipping_address_age,
|
26
|
+
:account_name_matches_shipping_name,
|
27
|
+
:suspicious_account_activity,
|
28
|
+
:transactions_today,
|
29
|
+
:authentication_method
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
# @!attribute sdk_app_id
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute sdk_max_timeout
|
8
|
+
# @return [Integer]
|
9
|
+
# @!attribute sdk_ephem_pub_key
|
10
|
+
# @return [SdkEphemeralPublicKey]
|
11
|
+
# @!attribute sdk_reference_number
|
12
|
+
# @return [String]
|
13
|
+
# @!attribute sdk_encrypted_data
|
14
|
+
# @return [String]
|
15
|
+
# @!attribute sdk_transaction_id
|
16
|
+
# @return [String]
|
17
|
+
# @!attribute sdk_interface_type
|
18
|
+
# @return [String] {SdkInterfaceType}
|
19
|
+
# @!attribute sdk_ui_elements
|
20
|
+
# @return [Array(UIElements)]
|
21
|
+
class AppSession < ChannelData
|
22
|
+
attr_accessor :sdk_app_id,
|
23
|
+
:sdk_max_timeout,
|
24
|
+
:sdk_ephem_pub_key,
|
25
|
+
:sdk_reference_number,
|
26
|
+
:sdk_encrypted_data,
|
27
|
+
:sdk_transaction_id,
|
28
|
+
:sdk_interface_type,
|
29
|
+
:sdk_ui_elements
|
30
|
+
|
31
|
+
def initialize
|
32
|
+
super ChannelDataType::APP
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
# @!attribute three_ds_method_completion
|
6
|
+
# @return [String] {ThreeDsMethodCompletion}
|
7
|
+
# @!attribute accept_header
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute java_enabled
|
10
|
+
# @return [TrueClass, FalseClass]
|
11
|
+
# @!attribute language
|
12
|
+
# @return [String]
|
13
|
+
# @!attribute color_depth
|
14
|
+
# @return [String]
|
15
|
+
# @!attribute screen_height
|
16
|
+
# @return [String]
|
17
|
+
# @!attribute screen_width
|
18
|
+
# @return [String]
|
19
|
+
# @!attribute timezone
|
20
|
+
# @return [String]
|
21
|
+
# @!attribute user_agent
|
22
|
+
# @return [String]
|
23
|
+
# @!attribute ip_address
|
24
|
+
# @return [String]
|
25
|
+
class BrowserSession < ChannelData
|
26
|
+
attr_accessor :three_ds_method_completion,
|
27
|
+
:accept_header,
|
28
|
+
:java_enabled,
|
29
|
+
:language,
|
30
|
+
:color_depth,
|
31
|
+
:screen_height,
|
32
|
+
:screen_width,
|
33
|
+
:timezone,
|
34
|
+
:user_agent,
|
35
|
+
:ip_address
|
36
|
+
|
37
|
+
def initialize
|
38
|
+
super ChannelDataType::BROWSER
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
# @!attribute channel
|
6
|
+
# @return [String] {ChannelDataType}
|
7
|
+
class ChannelData
|
8
|
+
attr_reader :channel
|
9
|
+
|
10
|
+
protected
|
11
|
+
|
12
|
+
# @abstract
|
13
|
+
# @param [String] channel {ChannelDataType}
|
14
|
+
def initialize(channel)
|
15
|
+
@channel = channel
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
# @!attribute kty
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute crv
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute x
|
10
|
+
# @return [String]
|
11
|
+
# @!attribute y
|
12
|
+
class SdkEphemeralPublicKey
|
13
|
+
attr_accessor :kty,
|
14
|
+
:crv,
|
15
|
+
:x,
|
16
|
+
:y
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
# @!attribute type
|
6
|
+
# @return [String] {CompletionInfoType}
|
7
|
+
class CompletionInfo
|
8
|
+
attr_reader :type
|
9
|
+
|
10
|
+
protected
|
11
|
+
|
12
|
+
# @abstract
|
13
|
+
# @param [String] type {CompletionInfoType}
|
14
|
+
def initialize(type)
|
15
|
+
@type = type
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Sessions
|
5
|
+
# @!attribute callback_url
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute success_url
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute failure_url
|
10
|
+
# @return [String]
|
11
|
+
class HostedCompletionInfo < CompletionInfo
|
12
|
+
attr_accessor :callback_url,
|
13
|
+
:success_url,
|
14
|
+
:failure_url
|
15
|
+
|
16
|
+
def initialize
|
17
|
+
super CompletionInfoType::HOSTED
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|