checkout_sdk 0.3.0 → 1.0.0.beta.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|