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,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute name
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute email
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute document
|
10
|
+
# @return [String]
|
11
|
+
class Payer
|
12
|
+
attr_accessor :name,
|
13
|
+
:email,
|
14
|
+
:document
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute purpose
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute charge_bearer
|
8
|
+
# @return [String] {ChargeBearer}
|
9
|
+
# @!attribute repair
|
10
|
+
# @return [TrueClass, FalseClass]
|
11
|
+
# @!attribute scheme
|
12
|
+
# @return [String] {InstructionScheme}
|
13
|
+
# @!attribute quote_id
|
14
|
+
# @return [String]
|
15
|
+
# @!attribute skip_expiry
|
16
|
+
# @return [TrueClass, FalseClass]
|
17
|
+
# @!attribute funds_transfer_type
|
18
|
+
# @return [String]
|
19
|
+
# @!attribute mvv
|
20
|
+
# @return [String]
|
21
|
+
class PaymentInstruction
|
22
|
+
attr_accessor :purpose,
|
23
|
+
:charge_bearer,
|
24
|
+
:repair,
|
25
|
+
:scheme,
|
26
|
+
:quote_id,
|
27
|
+
:skip_expiry,
|
28
|
+
:funds_transfer_type,
|
29
|
+
:mvv
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute dob
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute account_number
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute zip
|
10
|
+
# @return [String]
|
11
|
+
# @!attribute last_name
|
12
|
+
# @return [String]
|
13
|
+
class PaymentRecipient
|
14
|
+
attr_accessor :dob,
|
15
|
+
:account_number,
|
16
|
+
:zip,
|
17
|
+
:last_name
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute source
|
6
|
+
# @return [PaymentRequestSource]
|
7
|
+
# @!attribute amount
|
8
|
+
# @return [Integer]
|
9
|
+
# @!attribute currency
|
10
|
+
# @return [String] {CheckoutSdk::Common::Currency}
|
11
|
+
# @!attribute payment_type
|
12
|
+
# @return [String] {PaymentType}
|
13
|
+
# @!attribute merchant_initiated
|
14
|
+
# @return [TrueClass, FalseClass]
|
15
|
+
# @!attribute reference
|
16
|
+
# @return [String]
|
17
|
+
# @!attribute description
|
18
|
+
# @return [String]
|
19
|
+
# @!attribute authorization_type
|
20
|
+
# @return [String] {AuthorizationType}
|
21
|
+
# @!attribute capture
|
22
|
+
# @return [TrueClass, FalseClass]
|
23
|
+
# @!attribute capture_on
|
24
|
+
# @return [Time]
|
25
|
+
# @!attribute customer
|
26
|
+
# @return [CheckoutSdk::Common::CustomerRequest]
|
27
|
+
# @!attribute billing_descriptor
|
28
|
+
# @return [BillingDescriptor]
|
29
|
+
# @!attribute shipping
|
30
|
+
# @return [ShippingDetails]
|
31
|
+
# @!attribute three_ds
|
32
|
+
# @return [ThreeDSRequest]
|
33
|
+
# @!attribute processing_channel_id
|
34
|
+
# @return [String]
|
35
|
+
# @!attribute previous_payment_id
|
36
|
+
# @return [String]
|
37
|
+
# @!attribute risk
|
38
|
+
# @return [RiskRequest]
|
39
|
+
# @!attribute success_url
|
40
|
+
# @return [String]
|
41
|
+
# @!attribute failure_url
|
42
|
+
# @return [String]
|
43
|
+
# @!attribute payment_ip
|
44
|
+
# @return [String]
|
45
|
+
# @!attribute sender
|
46
|
+
# @return [Sender]
|
47
|
+
# @!attribute recipient
|
48
|
+
# @return [PaymentRecipient]
|
49
|
+
# @!attribute amount_allocations
|
50
|
+
# @return [Array(CheckoutSdk::Common::AmountAllocations)]
|
51
|
+
# @!attribute processing
|
52
|
+
# @return [ProcessingSettings]
|
53
|
+
# @!attribute metadata
|
54
|
+
# @return [Hash{String => Object}]
|
55
|
+
# @!attribute items
|
56
|
+
# @return [Array(Product)]
|
57
|
+
class PaymentRequest
|
58
|
+
attr_accessor :source,
|
59
|
+
:amount,
|
60
|
+
:currency,
|
61
|
+
:payment_type,
|
62
|
+
:merchant_initiated,
|
63
|
+
:reference,
|
64
|
+
:description,
|
65
|
+
:authorization_type,
|
66
|
+
:capture,
|
67
|
+
:capture_on,
|
68
|
+
:customer,
|
69
|
+
:billing_descriptor,
|
70
|
+
:shipping,
|
71
|
+
:three_ds,
|
72
|
+
:processing_channel_id,
|
73
|
+
:previous_payment_id,
|
74
|
+
:risk,
|
75
|
+
:success_url,
|
76
|
+
:failure_url,
|
77
|
+
:payment_ip,
|
78
|
+
:sender,
|
79
|
+
:recipient,
|
80
|
+
:amount_allocations,
|
81
|
+
:processing,
|
82
|
+
:metadata,
|
83
|
+
:items
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'checkout_sdk/payments/capture_request'
|
4
|
+
require 'checkout_sdk/payments/passenger'
|
5
|
+
require 'checkout_sdk/payments/authorization_request'
|
6
|
+
require 'checkout_sdk/payments/d_local_processing_settings'
|
7
|
+
require 'checkout_sdk/payments/payout_request'
|
8
|
+
require 'checkout_sdk/payments/user_action'
|
9
|
+
require 'checkout_sdk/payments/three_ds_request'
|
10
|
+
require 'checkout_sdk/payments/product_type'
|
11
|
+
require 'checkout_sdk/payments/payout_billing_descriptor'
|
12
|
+
require 'checkout_sdk/payments/shipping_details'
|
13
|
+
require 'checkout_sdk/payments/payer'
|
14
|
+
require 'checkout_sdk/payments/authorization_type'
|
15
|
+
require 'checkout_sdk/payments/os_type'
|
16
|
+
require 'checkout_sdk/payments/payment_instruction'
|
17
|
+
require 'checkout_sdk/payments/refund_request'
|
18
|
+
require 'checkout_sdk/payments/product'
|
19
|
+
require 'checkout_sdk/payments/source/payment_request_source'
|
20
|
+
require 'checkout_sdk/payments/source/payout_request_source'
|
21
|
+
require 'checkout_sdk/payments/source/network_token_source'
|
22
|
+
require 'checkout_sdk/payments/source/token_source'
|
23
|
+
require 'checkout_sdk/payments/source/provider_token_source'
|
24
|
+
require 'checkout_sdk/payments/source/bank_account_source'
|
25
|
+
require 'checkout_sdk/payments/source/payout_source_type'
|
26
|
+
require 'checkout_sdk/payments/source/currency_account_source'
|
27
|
+
require 'checkout_sdk/payments/source/id_source'
|
28
|
+
require 'checkout_sdk/payments/source/card_source'
|
29
|
+
require 'checkout_sdk/payments/source/apm/after_pay_source'
|
30
|
+
require 'checkout_sdk/payments/source/apm/alipay_plus_source'
|
31
|
+
require 'checkout_sdk/payments/source/apm/bancontact_source'
|
32
|
+
require 'checkout_sdk/payments/source/apm/benefit_source'
|
33
|
+
require 'checkout_sdk/payments/source/apm/eps_source'
|
34
|
+
require 'checkout_sdk/payments/source/apm/giropay_source'
|
35
|
+
require 'checkout_sdk/payments/source/apm/ideal_source'
|
36
|
+
require 'checkout_sdk/payments/source/apm/knet_source'
|
37
|
+
require 'checkout_sdk/payments/source/apm/mbway_source'
|
38
|
+
require 'checkout_sdk/payments/source/apm/multi_banco_source'
|
39
|
+
require 'checkout_sdk/payments/source/apm/p24_source'
|
40
|
+
require 'checkout_sdk/payments/source/apm/paypal_source'
|
41
|
+
require 'checkout_sdk/payments/source/apm/post_finance_source'
|
42
|
+
require 'checkout_sdk/payments/source/apm/qpay_source'
|
43
|
+
require 'checkout_sdk/payments/source/apm/sofort_source'
|
44
|
+
require 'checkout_sdk/payments/source/apm/stcpay_source'
|
45
|
+
require 'checkout_sdk/payments/source/apm/tamara_source'
|
46
|
+
require 'checkout_sdk/payments/source/apm/we_chat_pay_source'
|
47
|
+
require 'checkout_sdk/payments/sender/sender'
|
48
|
+
require 'checkout_sdk/payments/sender/sender_type'
|
49
|
+
require 'checkout_sdk/payments/sender/source_of_funds'
|
50
|
+
require 'checkout_sdk/payments/sender/government_sender'
|
51
|
+
require 'checkout_sdk/payments/sender/individual_sender'
|
52
|
+
require 'checkout_sdk/payments/sender/corporate_sender'
|
53
|
+
require 'checkout_sdk/payments/sender/instrument_sender'
|
54
|
+
require 'checkout_sdk/payments/sender/ticket'
|
55
|
+
require 'checkout_sdk/payments/capture_type'
|
56
|
+
require 'checkout_sdk/payments/payment_type'
|
57
|
+
require 'checkout_sdk/payments/destination/destination'
|
58
|
+
require 'checkout_sdk/payments/destination/token_destination'
|
59
|
+
require 'checkout_sdk/payments/destination/bank_account_destination'
|
60
|
+
require 'checkout_sdk/payments/destination/card_destination'
|
61
|
+
require 'checkout_sdk/payments/destination/destination_type'
|
62
|
+
require 'checkout_sdk/payments/destination/id_destination'
|
63
|
+
require 'checkout_sdk/payments/merchant_initiated_reason'
|
64
|
+
require 'checkout_sdk/payments/preferred_schema'
|
65
|
+
require 'checkout_sdk/payments/airline_data'
|
66
|
+
require 'checkout_sdk/payments/risk_request'
|
67
|
+
require 'checkout_sdk/payments/payments_client'
|
68
|
+
require 'checkout_sdk/payments/billing_descriptor'
|
69
|
+
require 'checkout_sdk/payments/payment_recipient'
|
70
|
+
require 'checkout_sdk/payments/d_local_installments'
|
71
|
+
require 'checkout_sdk/payments/shipping_preference'
|
72
|
+
require 'checkout_sdk/payments/exemption'
|
73
|
+
require 'checkout_sdk/payments/three_ds_flow_type'
|
74
|
+
require 'checkout_sdk/payments/void_request'
|
75
|
+
require 'checkout_sdk/payments/payment_request'
|
76
|
+
require 'checkout_sdk/payments/passenger_name'
|
77
|
+
require 'checkout_sdk/payments/processing_settings'
|
78
|
+
require 'checkout_sdk/payments/charge_bearer'
|
79
|
+
require 'checkout_sdk/payments/instruction_scheme'
|
80
|
+
require 'checkout_sdk/payments/network_token_type'
|
81
|
+
require 'checkout_sdk/payments/terminal_type'
|
82
|
+
require 'checkout_sdk/payments/flight_leg_details'
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
class PaymentsClient < Client
|
6
|
+
PAYMENTS_PATH = 'payments'
|
7
|
+
private_constant :PAYMENTS_PATH
|
8
|
+
|
9
|
+
# @param [ApiClient] api_client
|
10
|
+
# @param [CheckoutConfiguration] configuration
|
11
|
+
def initialize(api_client, configuration)
|
12
|
+
super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
|
13
|
+
end
|
14
|
+
|
15
|
+
# @param [PaymentRequest] payment_request
|
16
|
+
# @param [String, nil] idempotency_key
|
17
|
+
def request_payment(payment_request, idempotency_key = nil)
|
18
|
+
api_client.invoke_post(PAYMENTS_PATH,
|
19
|
+
sdk_authorization,
|
20
|
+
payment_request,
|
21
|
+
idempotency_key)
|
22
|
+
end
|
23
|
+
|
24
|
+
# @param [PayoutRequest] payout_request
|
25
|
+
# @param [String, nil] idempotency_key
|
26
|
+
def request_payout(payout_request, idempotency_key = nil)
|
27
|
+
api_client.invoke_post(PAYMENTS_PATH,
|
28
|
+
sdk_authorization,
|
29
|
+
payout_request,
|
30
|
+
idempotency_key)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @param [String] payment_id
|
34
|
+
def get_payment_details(payment_id)
|
35
|
+
api_client.invoke_get(build_path(PAYMENTS_PATH, payment_id),
|
36
|
+
sdk_authorization)
|
37
|
+
end
|
38
|
+
|
39
|
+
# @param [String] payment_id
|
40
|
+
def get_payment_actions(payment_id)
|
41
|
+
api_client.invoke_get(build_path(PAYMENTS_PATH, payment_id, 'actions'),
|
42
|
+
sdk_authorization)
|
43
|
+
end
|
44
|
+
|
45
|
+
# @param [String] payment_id
|
46
|
+
# @param [CaptureRequest] capture_request
|
47
|
+
# @param [String, nil] idempotency_key
|
48
|
+
def capture_payment(payment_id, capture_request = nil, idempotency_key = nil)
|
49
|
+
api_client.invoke_post(build_path(PAYMENTS_PATH, payment_id, 'captures'),
|
50
|
+
sdk_authorization,
|
51
|
+
capture_request,
|
52
|
+
idempotency_key)
|
53
|
+
end
|
54
|
+
|
55
|
+
# @param [String] payment_id
|
56
|
+
# @param [RefundRequest] refund_request
|
57
|
+
# @param [String, nil] idempotency_key
|
58
|
+
def refund_payment(payment_id, refund_request = nil, idempotency_key = nil)
|
59
|
+
api_client.invoke_post(build_path(PAYMENTS_PATH, payment_id, 'refunds'),
|
60
|
+
sdk_authorization,
|
61
|
+
refund_request,
|
62
|
+
idempotency_key)
|
63
|
+
end
|
64
|
+
|
65
|
+
# @param [String] payment_id
|
66
|
+
# @param [VoidRequest] void_request
|
67
|
+
# @param [String, nil] idempotency_key
|
68
|
+
def void_payment(payment_id, void_request = nil, idempotency_key = nil)
|
69
|
+
api_client.invoke_post(build_path(PAYMENTS_PATH, payment_id, 'voids'),
|
70
|
+
sdk_authorization,
|
71
|
+
void_request,
|
72
|
+
idempotency_key)
|
73
|
+
end
|
74
|
+
|
75
|
+
# @param [String] payment_id
|
76
|
+
# @param [AuthorizationRequest] authorization_request
|
77
|
+
# @param [String, nil] idempotency_key
|
78
|
+
def increment_payment_authorization(payment_id, authorization_request = nil, idempotency_key = nil)
|
79
|
+
api_client.invoke_post(build_path(PAYMENTS_PATH, payment_id, 'authorizations'),
|
80
|
+
sdk_authorization,
|
81
|
+
authorization_request,
|
82
|
+
idempotency_key)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute source
|
6
|
+
# @return [PayoutRequestSource]
|
7
|
+
# @!attribute destination
|
8
|
+
# @return [Destination]
|
9
|
+
# @!attribute amount
|
10
|
+
# @return [Integer]
|
11
|
+
# @!attribute currency
|
12
|
+
# @return [String] {CheckoutSdk::Common::Currency}
|
13
|
+
# @!attribute reference
|
14
|
+
# @return [String]
|
15
|
+
# @!attribute billing_descriptor
|
16
|
+
# @return [PayoutBillingDescriptor]
|
17
|
+
# @!attribute sender
|
18
|
+
# @return [Sender]
|
19
|
+
# @!attribute instruction
|
20
|
+
# @return [PaymentInstruction]
|
21
|
+
# @!attribute processing_channel_id
|
22
|
+
# @return [String]
|
23
|
+
# @!attribute metadata
|
24
|
+
# @return [Hash{String => Object}]
|
25
|
+
class PayoutRequest
|
26
|
+
attr_accessor :source,
|
27
|
+
:destination,
|
28
|
+
:amount,
|
29
|
+
:currency,
|
30
|
+
:reference,
|
31
|
+
:billing_descriptor,
|
32
|
+
:sender,
|
33
|
+
:instruction,
|
34
|
+
:processing_channel_id,
|
35
|
+
:metadata
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute order_id
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute tax_amount
|
8
|
+
# @return [Integer]
|
9
|
+
# @!attribute discount_amount
|
10
|
+
# @return [Integer]
|
11
|
+
# @!attribute duty_amount
|
12
|
+
# @return [Integer]
|
13
|
+
# @!attribute shipping_amount
|
14
|
+
# @return [Integer]
|
15
|
+
# @!attribute shipping_tax_amount
|
16
|
+
# @return [Integer]
|
17
|
+
# @!attribute aft
|
18
|
+
# @return [TrueClass, FalseClass]
|
19
|
+
# @!attribute preferred_scheme
|
20
|
+
# @return [String] {PreferredSchema}
|
21
|
+
# @!attribute merchant_initiated_reason
|
22
|
+
# @return [String] {MerchantInitiatedReason}
|
23
|
+
# @!attribute campaign_id
|
24
|
+
# @return [Integer]
|
25
|
+
# @!attribute product_type
|
26
|
+
# @return [String] {ProductType}
|
27
|
+
# @!attribute open_id
|
28
|
+
# @return [String]
|
29
|
+
# @!attribute original_order_amount
|
30
|
+
# @return [Integer]
|
31
|
+
# @!attribute receipt_id
|
32
|
+
# @return [String]
|
33
|
+
# @!attribute terminal_type
|
34
|
+
# @return [String] {TerminalType}
|
35
|
+
# @!attribute os_type
|
36
|
+
# @return [String] {OsType}
|
37
|
+
# @!attribute invoice_id
|
38
|
+
# @return [String]
|
39
|
+
# @!attribute brand_name
|
40
|
+
# @return [String]
|
41
|
+
# @!attribute locale
|
42
|
+
# @return [String]
|
43
|
+
# @!attribute shipping_preference
|
44
|
+
# @return [String] {ShippingPreference}
|
45
|
+
# @!attribute user_action
|
46
|
+
# @return [String] {UserAction}
|
47
|
+
# @!attribute set_transaction_context
|
48
|
+
# @return [Array(Hash{String => String})]
|
49
|
+
# @!attribute airline_data
|
50
|
+
# @return [Array(AirlineData)]
|
51
|
+
# @!attribute dlocal
|
52
|
+
# @return [DLocalProcessingSettings]
|
53
|
+
class ProcessingSettings
|
54
|
+
attr_accessor :order_id,
|
55
|
+
:tax_amount,
|
56
|
+
:discount_amount,
|
57
|
+
:duty_amount,
|
58
|
+
:shipping_amount,
|
59
|
+
:shipping_tax_amount,
|
60
|
+
:aft,
|
61
|
+
:preferred_scheme,
|
62
|
+
:merchant_initiated_reason,
|
63
|
+
:campaign_id,
|
64
|
+
:product_type,
|
65
|
+
:open_id,
|
66
|
+
:original_order_amount,
|
67
|
+
:receipt_id,
|
68
|
+
:terminal_type,
|
69
|
+
:os_type,
|
70
|
+
:invoice_id,
|
71
|
+
:brand_name,
|
72
|
+
:locale,
|
73
|
+
:shipping_preference,
|
74
|
+
:user_action,
|
75
|
+
:set_transaction_context,
|
76
|
+
:airline_data,
|
77
|
+
:dlocal
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute name
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute quantity
|
8
|
+
# @return [Integer]
|
9
|
+
# @!attribute unit_price
|
10
|
+
# @return [Integer]
|
11
|
+
# @!attribute reference
|
12
|
+
# @return [String]
|
13
|
+
# @!attribute commodity_code
|
14
|
+
# @return [String]
|
15
|
+
# @!attribute unit_of_measure
|
16
|
+
# @return [String]
|
17
|
+
# @!attribute total_amount
|
18
|
+
# @return [Integer]
|
19
|
+
# @!attribute tax_amount
|
20
|
+
# @return [Integer]
|
21
|
+
# @!attribute discount_amount
|
22
|
+
# @return [Integer]
|
23
|
+
# @!attribute wxpay_goods_id
|
24
|
+
# @return [String]
|
25
|
+
# @!attribute image_url
|
26
|
+
# @return [String]
|
27
|
+
# @!attribute url
|
28
|
+
# @return [String]
|
29
|
+
# @!attribute sku
|
30
|
+
# @return [String]
|
31
|
+
class Product
|
32
|
+
attr_accessor :name,
|
33
|
+
:quantity,
|
34
|
+
:unit_price,
|
35
|
+
:reference,
|
36
|
+
:commodity_code,
|
37
|
+
:unit_of_measure,
|
38
|
+
:total_amount,
|
39
|
+
:tax_amount,
|
40
|
+
:discount_amount,
|
41
|
+
:wxpay_goods_id,
|
42
|
+
:image_url,
|
43
|
+
:url,
|
44
|
+
:sku
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute amount
|
6
|
+
# @return [Integer]
|
7
|
+
# @!attribute reference
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute metadata
|
10
|
+
# @return [Hash{String => Object}]
|
11
|
+
class RefundRequest
|
12
|
+
attr_accessor :amount,
|
13
|
+
:reference,
|
14
|
+
:metadata
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute company_name
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute address
|
8
|
+
# @return [String] {CheckoutSdk::Common::Address}
|
9
|
+
# @!attribute reference_type
|
10
|
+
# @return [String]
|
11
|
+
# @!attribute source_of_funds
|
12
|
+
# @return [String] {SourceOfFunds}
|
13
|
+
# @!attribute identification
|
14
|
+
# @return [CheckoutSdk::Common::AccountHolderIdentification]
|
15
|
+
class CorporateSender < Sender
|
16
|
+
attr_accessor :company_name,
|
17
|
+
:address,
|
18
|
+
:reference_type,
|
19
|
+
:source_of_funds,
|
20
|
+
:identification
|
21
|
+
|
22
|
+
def initialize
|
23
|
+
super CheckoutSdk::Payments::SenderType::CORPORATE
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute company_name
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute address
|
8
|
+
# @return [String] {CheckoutSdk::Common::Address}
|
9
|
+
# @!attribute reference_type
|
10
|
+
# @return [String]
|
11
|
+
# @!attribute source_of_funds
|
12
|
+
# @return [String] {SourceOfFunds}
|
13
|
+
# @!attribute identification
|
14
|
+
# @return [CheckoutSdk::Common::AccountHolderIdentification]
|
15
|
+
class GovernmentSender < Sender
|
16
|
+
attr_accessor :company_name,
|
17
|
+
:address,
|
18
|
+
:reference_type,
|
19
|
+
:source_of_funds,
|
20
|
+
:identification
|
21
|
+
|
22
|
+
def initialize
|
23
|
+
super CheckoutSdk::Payments::SenderType::GOVERNMENT
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckoutSdk
|
4
|
+
module Payments
|
5
|
+
# @!attribute first_name
|
6
|
+
# @return [String]
|
7
|
+
# @!attribute last_name
|
8
|
+
# @return [String]
|
9
|
+
# @!attribute address
|
10
|
+
# @return [String] {CheckoutSdk::Common::Address}
|
11
|
+
# @!attribute identification
|
12
|
+
# @return [CheckoutSdk::Common::AccountHolderIdentification]
|
13
|
+
# @!attribute middle_name
|
14
|
+
# @return [String]
|
15
|
+
# @!attribute reference_type
|
16
|
+
# @return [String]
|
17
|
+
# @!attribute date_of_birth
|
18
|
+
# @return [String]
|
19
|
+
# @!attribute source_of_funds
|
20
|
+
# @return [String] {SourceOfFunds}
|
21
|
+
# @!attribute country_of_birth
|
22
|
+
# @return [String] {CheckoutSdk::Common::Country}
|
23
|
+
# @!attribute nationality
|
24
|
+
# @return [String] {CheckoutSdk::Common::Country}
|
25
|
+
class IndividualSender < Sender
|
26
|
+
attr_accessor :first_name,
|
27
|
+
:last_name,
|
28
|
+
:address,
|
29
|
+
:identification,
|
30
|
+
:middle_name,
|
31
|
+
:reference_type,
|
32
|
+
:date_of_birth,
|
33
|
+
:source_of_funds,
|
34
|
+
:country_of_birth,
|
35
|
+
:nationality
|
36
|
+
|
37
|
+
def initialize
|
38
|
+
super CheckoutSdk::Payments::SenderType::INDIVIDUAL
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|