checkout_sdk 1.0.0.beta.0 → 1.0.0.beta.1

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.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/lib/checkout_sdk/api_client.rb +6 -2
  4. data/lib/checkout_sdk/apm/apm.rb +0 -1
  5. data/lib/checkout_sdk/apm/previous/klarna/credit_session_request.rb +19 -21
  6. data/lib/checkout_sdk/apm/previous/klarna/klarna.rb +13 -15
  7. data/lib/checkout_sdk/apm/previous/klarna/klarna_client.rb +43 -45
  8. data/lib/checkout_sdk/apm/previous/klarna/klarna_product.rb +19 -21
  9. data/lib/checkout_sdk/apm/previous/klarna/order_capture_request.rb +24 -26
  10. data/lib/checkout_sdk/apm/previous/sepa/sepa_client.rb +25 -27
  11. data/lib/checkout_sdk/checkout_utils.rb +13 -4
  12. data/lib/checkout_sdk/common/account_holder.rb +4 -1
  13. data/lib/checkout_sdk/common/common.rb +2 -0
  14. data/lib/checkout_sdk/common/marketplace_data.rb +14 -0
  15. data/lib/checkout_sdk/common/payment_source_type.rb +1 -0
  16. data/lib/checkout_sdk/common/shipping_info.rb +29 -0
  17. data/lib/checkout_sdk/customers/customer_request.rb +2 -2
  18. data/lib/checkout_sdk/disputes/disputes_client.rb +5 -0
  19. data/lib/checkout_sdk/disputes/disputes_query_filter.rb +3 -3
  20. data/lib/checkout_sdk/instruments/base_instruments_client.rb +20 -0
  21. data/lib/checkout_sdk/instruments/create/{instrument_request.rb → instrument.rb} +1 -1
  22. data/lib/checkout_sdk/instruments/create/{instrument_bank_account_request.rb → instrument_bank_account.rb} +1 -1
  23. data/lib/checkout_sdk/instruments/create/{instrument_token_request.rb → instrument_token.rb} +1 -1
  24. data/lib/checkout_sdk/instruments/instruments.rb +14 -7
  25. data/lib/checkout_sdk/instruments/instruments_client.rb +4 -15
  26. data/lib/checkout_sdk/instruments/previous/create/instrument.rb +26 -0
  27. data/lib/checkout_sdk/instruments/previous/instruments_client.rb +28 -0
  28. data/lib/checkout_sdk/instruments/previous/update/update_instrument.rb +25 -0
  29. data/lib/checkout_sdk/instruments/update/{update_instrument_request.rb → update_instrument.rb} +1 -1
  30. data/lib/checkout_sdk/instruments/update/{update_instrument_bank_account_request.rb → update_instrument_bank_account.rb} +1 -1
  31. data/lib/checkout_sdk/instruments/update/{update_instrument_card_request.rb → update_instrument_card.rb} +1 -1
  32. data/lib/checkout_sdk/instruments/update/{update_instrument_token_request.rb → update_instrument_token.rb} +1 -1
  33. data/lib/checkout_sdk/payments/base_payments_client.rb +41 -0
  34. data/lib/checkout_sdk/payments/billing_plan.rb +17 -0
  35. data/lib/checkout_sdk/payments/billing_plan_type.rb +14 -0
  36. data/lib/checkout_sdk/payments/capture_request.rb +4 -0
  37. data/lib/checkout_sdk/payments/destination/destination.rb +1 -1
  38. data/lib/checkout_sdk/payments/payment_request.rb +5 -1
  39. data/lib/checkout_sdk/payments/payments.rb +81 -23
  40. data/lib/checkout_sdk/payments/payments_client.rb +1 -36
  41. data/lib/checkout_sdk/payments/payout_request.rb +1 -1
  42. data/lib/checkout_sdk/payments/previous/capture_request.rb +19 -0
  43. data/lib/checkout_sdk/payments/previous/destination/card_destination.rb +38 -0
  44. data/lib/checkout_sdk/payments/previous/destination/destination.rb +21 -0
  45. data/lib/checkout_sdk/payments/previous/destination/id_destination.rb +23 -0
  46. data/lib/checkout_sdk/payments/previous/destination/token_destination.rb +29 -0
  47. data/lib/checkout_sdk/payments/previous/fund_transfer_type.rb +17 -0
  48. data/lib/checkout_sdk/payments/previous/payment_request.rb +73 -0
  49. data/lib/checkout_sdk/payments/previous/payments_client.rb +43 -0
  50. data/lib/checkout_sdk/payments/previous/payout_request.rb +70 -0
  51. data/lib/checkout_sdk/payments/previous/source/apm/alipay_source.rb +13 -0
  52. data/lib/checkout_sdk/payments/previous/source/apm/alma_source.rb +23 -0
  53. data/lib/checkout_sdk/payments/previous/source/apm/bancontact_source.rb +26 -0
  54. data/lib/checkout_sdk/payments/previous/source/apm/benefit_pay_source.rb +17 -0
  55. data/lib/checkout_sdk/payments/previous/source/apm/boleto_source.rb +26 -0
  56. data/lib/checkout_sdk/payments/previous/source/apm/eps_source.rb +20 -0
  57. data/lib/checkout_sdk/payments/previous/source/apm/fawry_source.rb +47 -0
  58. data/lib/checkout_sdk/payments/previous/source/apm/giropay_source.rb +32 -0
  59. data/lib/checkout_sdk/payments/previous/source/apm/ideal_source.rb +23 -0
  60. data/lib/checkout_sdk/payments/previous/source/apm/integration_type.rb +12 -0
  61. data/lib/checkout_sdk/payments/previous/source/apm/klarna_source.rb +56 -0
  62. data/lib/checkout_sdk/payments/previous/source/apm/knet_source.rb +38 -0
  63. data/lib/checkout_sdk/payments/previous/source/apm/multi_banco_source.rb +23 -0
  64. data/lib/checkout_sdk/payments/previous/source/apm/oxxo_source.rb +26 -0
  65. data/lib/checkout_sdk/payments/previous/source/apm/p24_source.rb +26 -0
  66. data/lib/checkout_sdk/payments/previous/source/apm/pago_facil_source.rb +26 -0
  67. data/lib/checkout_sdk/payments/previous/source/apm/paypal_source.rb +26 -0
  68. data/lib/checkout_sdk/payments/previous/source/apm/poli_source.rb +13 -0
  69. data/lib/checkout_sdk/payments/previous/source/apm/qpay_source.rb +26 -0
  70. data/lib/checkout_sdk/payments/previous/source/apm/rapi_pago_source.rb +26 -0
  71. data/lib/checkout_sdk/payments/previous/source/apm/sofort_source.rb +20 -0
  72. data/lib/checkout_sdk/payments/previous/source/card_source.rb +41 -0
  73. data/lib/checkout_sdk/payments/previous/source/customer_source.rb +17 -0
  74. data/lib/checkout_sdk/payments/previous/source/d_local_source.rb +41 -0
  75. data/lib/checkout_sdk/payments/previous/source/id_source.rb +20 -0
  76. data/lib/checkout_sdk/payments/previous/source/network_token_source.rb +47 -0
  77. data/lib/checkout_sdk/payments/previous/source/payment_source.rb +20 -0
  78. data/lib/checkout_sdk/payments/previous/source/token_source.rb +26 -0
  79. data/lib/checkout_sdk/payments/processing_settings.rb +15 -0
  80. data/lib/checkout_sdk/payments/sender/sender.rb +2 -2
  81. data/lib/checkout_sdk/payments/source/apm/after_pay_source.rb +1 -1
  82. data/lib/checkout_sdk/payments/source/apm/alipay_plus_source.rb +1 -1
  83. data/lib/checkout_sdk/payments/source/apm/alma_source.rb +15 -0
  84. data/lib/checkout_sdk/payments/source/apm/bancontact_source.rb +1 -1
  85. data/lib/checkout_sdk/payments/source/apm/benefit_source.rb +1 -1
  86. data/lib/checkout_sdk/payments/source/apm/eps_source.rb +1 -1
  87. data/lib/checkout_sdk/payments/source/apm/fawry_product.rb +20 -0
  88. data/lib/checkout_sdk/payments/source/apm/fawry_source.rb +30 -0
  89. data/lib/checkout_sdk/payments/source/apm/giropay_source.rb +1 -1
  90. data/lib/checkout_sdk/payments/source/apm/ideal_source.rb +1 -1
  91. data/lib/checkout_sdk/payments/source/apm/klarna_source.rb +15 -0
  92. data/lib/checkout_sdk/payments/source/apm/knet_source.rb +1 -1
  93. data/lib/checkout_sdk/payments/source/apm/mbway_source.rb +1 -1
  94. data/lib/checkout_sdk/payments/source/apm/multi_banco_source.rb +1 -1
  95. data/lib/checkout_sdk/payments/source/apm/p24_source.rb +1 -1
  96. data/lib/checkout_sdk/payments/source/apm/paypal_source.rb +5 -1
  97. data/lib/checkout_sdk/payments/source/apm/post_finance_source.rb +1 -1
  98. data/lib/checkout_sdk/payments/source/apm/qpay_source.rb +1 -1
  99. data/lib/checkout_sdk/payments/source/apm/sofort_source.rb +1 -1
  100. data/lib/checkout_sdk/payments/source/apm/stcpay_source.rb +1 -1
  101. data/lib/checkout_sdk/payments/source/apm/tamara_source.rb +1 -1
  102. data/lib/checkout_sdk/payments/source/apm/we_chat_pay_source.rb +1 -1
  103. data/lib/checkout_sdk/payments/source/bank_account_source.rb +1 -1
  104. data/lib/checkout_sdk/payments/source/card_source.rb +1 -1
  105. data/lib/checkout_sdk/payments/source/currency_account_source.rb +1 -1
  106. data/lib/checkout_sdk/payments/source/id_source.rb +1 -1
  107. data/lib/checkout_sdk/payments/source/network_token_source.rb +1 -1
  108. data/lib/checkout_sdk/payments/source/{payment_request_source.rb → payment_source.rb} +1 -1
  109. data/lib/checkout_sdk/payments/source/{payout_request_source.rb → payout_source.rb} +3 -3
  110. data/lib/checkout_sdk/payments/source/provider_token_source.rb +1 -1
  111. data/lib/checkout_sdk/payments/source/token_source.rb +1 -1
  112. data/lib/checkout_sdk/payments/three_ds_request.rb +4 -1
  113. data/lib/checkout_sdk/previous/checkout_api.rb +29 -5
  114. data/lib/checkout_sdk/sources/mandate_type.rb +12 -0
  115. data/lib/checkout_sdk/sources/sepa_source_request.rb +20 -0
  116. data/lib/checkout_sdk/sources/source_data.rb +28 -0
  117. data/lib/checkout_sdk/sources/source_request.rb +30 -0
  118. data/lib/checkout_sdk/sources/source_type.rb +11 -0
  119. data/lib/checkout_sdk/sources/sources.rb +9 -0
  120. data/lib/checkout_sdk/sources/sources_client.rb +23 -0
  121. data/lib/checkout_sdk/tokens/wallet_token_request.rb +1 -1
  122. data/lib/checkout_sdk/version.rb +1 -1
  123. data/lib/checkout_sdk.rb +3 -0
  124. metadata +68 -12
  125. data/lib/checkout_sdk/apm/previous/klarna/klarna_shipping_info.rb +0 -33
@@ -2,10 +2,9 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Instruments
5
- class InstrumentsClient < Client
6
- INSTRUMENTS = 'instruments'
5
+ class InstrumentsClient < BaseInstrumentsClient
7
6
  VALIDATION = 'validation/bank-accounts'
8
- private_constant :INSTRUMENTS, :VALIDATION
7
+ private_constant :VALIDATION
9
8
 
10
9
  # @param [ApiClient] api_client
11
10
  # @param [CheckoutConfiguration] configuration
@@ -13,29 +12,19 @@ module CheckoutSdk
13
12
  super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
14
13
  end
15
14
 
16
- # @param [CustomerRequest] create_instrument_request
15
+ # @param [Instrument] create_instrument_request
17
16
  def create(create_instrument_request)
18
17
  api_client.invoke_post(INSTRUMENTS, sdk_authorization, create_instrument_request)
19
18
  end
20
19
 
21
20
  # @param [String] instrument_id
22
- def get(instrument_id)
23
- api_client.invoke_get(build_path(INSTRUMENTS, instrument_id), sdk_authorization)
24
- end
25
-
26
- # @param [String] instrument_id
27
- # @param [UpdateInstrumentRequest] update_instrument_request
21
+ # @param [UpdateInstrument] update_instrument_request
28
22
  def update(instrument_id, update_instrument_request)
29
23
  api_client.invoke_patch(build_path(INSTRUMENTS, instrument_id),
30
24
  sdk_authorization,
31
25
  update_instrument_request)
32
26
  end
33
27
 
34
- # @param [String] instrument_id
35
- def delete(instrument_id)
36
- api_client.invoke_delete(build_path(INSTRUMENTS, instrument_id), sdk_authorization)
37
- end
38
-
39
28
  # @param [String] country {CheckoutSdk::Common::Country}
40
29
  # @param [String] currency {CheckoutSdk::Common::Currency}
41
30
  # @param [BankAccountFieldQuery] bank_account_field_query
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Instruments
6
+ # @!attribute type
7
+ # @return [String] {CheckoutSdk::Common::InstrumentType}
8
+ # @!attribute token
9
+ # @return [String]
10
+ # @!attribute account_holder
11
+ # @return [CheckoutSdk::Common::AccountHolder]
12
+ # @!attribute customer
13
+ # @return [CheckoutSdk::Common::CustomerRequest]
14
+ class Instrument
15
+ attr_accessor :type,
16
+ :token,
17
+ :account_holder,
18
+ :customer
19
+
20
+ def initialize
21
+ @type = CheckoutSdk::Common::InstrumentType::TOKEN
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Instruments
6
+ class InstrumentsClient < CheckoutSdk::Instruments::BaseInstrumentsClient
7
+ # @param [ApiClient] api_client
8
+ # @param [CheckoutConfiguration] configuration
9
+ def initialize(api_client, configuration)
10
+ super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY
11
+ end
12
+
13
+ # @param [CustomerRequest] create_instrument_request
14
+ def create(create_instrument_request)
15
+ api_client.invoke_post(INSTRUMENTS, sdk_authorization, create_instrument_request)
16
+ end
17
+
18
+ # @param [String] instrument_id
19
+ # @param [UpdateInstrument] update_instrument_request
20
+ def update(instrument_id, update_instrument_request)
21
+ api_client.invoke_patch(build_path(INSTRUMENTS, instrument_id),
22
+ sdk_authorization,
23
+ update_instrument_request)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Instruments
6
+ # @!attribute expiry_month
7
+ # @return [Integer]
8
+ # @!attribute expiry_month
9
+ # @return [Integer]
10
+ # @!attribute name
11
+ # @return [String]
12
+ # @!attribute account_holder
13
+ # @return [CheckoutSdk::Common::AccountHolder]
14
+ # @!attribute customer
15
+ # @return [CheckoutSdk::Common::CustomerRequest]
16
+ class UpdateInstrument
17
+ attr_accessor :expiry_month,
18
+ :expiry_year,
19
+ :name,
20
+ :account_holder,
21
+ :customer
22
+ end
23
+ end
24
+ end
25
+ end
@@ -4,7 +4,7 @@ module CheckoutSdk
4
4
  module Instruments
5
5
  # @!attribute type
6
6
  # @return [String] {CheckoutSdk::Common::InstrumentType}
7
- class UpdateInstrumentRequest
7
+ class UpdateInstrument
8
8
  attr_reader :type
9
9
 
10
10
  # @abstract
@@ -28,7 +28,7 @@ module CheckoutSdk
28
28
  # @return [CheckoutSdk::Common::BankDetails]
29
29
  # @!attribute customer
30
30
  # @return [CheckoutSdk::Common::CustomerRequest]
31
- class UpdateInstrumentBankAccountRequest < UpdateInstrumentRequest
31
+ class UpdateInstrumentBankAccount < UpdateInstrument
32
32
  attr_accessor :account_type,
33
33
  :account_number,
34
34
  :bank_code,
@@ -12,7 +12,7 @@ module CheckoutSdk
12
12
  # @return [CheckoutSdk::Common::AccountHolder]
13
13
  # @!attribute customer
14
14
  # @return [CheckoutSdk::Common::UpdateCustomerRequest]
15
- class UpdateInstrumentCardRequest < UpdateInstrumentRequest
15
+ class UpdateInstrumentCard < UpdateInstrument
16
16
  attr_accessor :expiry_month,
17
17
  :expiry_year,
18
18
  :name,
@@ -4,7 +4,7 @@ module CheckoutSdk
4
4
  module Instruments
5
5
  # @!attribute token
6
6
  # @return [String]
7
- class UpdateInstrumentTokenRequest < UpdateInstrumentRequest
7
+ class UpdateInstrumentToken < UpdateInstrument
8
8
  attr_accessor :token
9
9
 
10
10
  def initialize
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ class BasePaymentsClient < Client
6
+ PAYMENTS_PATH = 'payments'
7
+
8
+ # @param [String] payment_id
9
+ def get_payment_details(payment_id)
10
+ api_client.invoke_get(build_path(PAYMENTS_PATH, payment_id),
11
+ sdk_authorization)
12
+ end
13
+
14
+ # @param [String] payment_id
15
+ def get_payment_actions(payment_id)
16
+ api_client.invoke_get(build_path(PAYMENTS_PATH, payment_id, 'actions'),
17
+ sdk_authorization)
18
+ end
19
+
20
+ # @param [String] payment_id
21
+ # @param [RefundRequest] refund_request
22
+ # @param [String, nil] idempotency_key
23
+ def refund_payment(payment_id, refund_request = nil, idempotency_key = nil)
24
+ api_client.invoke_post(build_path(PAYMENTS_PATH, payment_id, 'refunds'),
25
+ sdk_authorization,
26
+ refund_request,
27
+ idempotency_key)
28
+ end
29
+
30
+ # @param [String] payment_id
31
+ # @param [VoidRequest] void_request
32
+ # @param [String, nil] idempotency_key
33
+ def void_payment(payment_id, void_request = nil, idempotency_key = nil)
34
+ api_client.invoke_post(build_path(PAYMENTS_PATH, payment_id, 'voids'),
35
+ sdk_authorization,
36
+ void_request,
37
+ idempotency_key)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ # @!attribute type
6
+ # @return [String] {BillingPlanType}
7
+ # @!attribute skip_shipping_address
8
+ # @return [TrueClass, FalseClass]
9
+ # @!attribute immutable_shipping_address
10
+ # @return [TrueClass, FalseClass]
11
+ class BillingPlan
12
+ attr_accessor :type,
13
+ :skip_shipping_address,
14
+ :immutable_shipping_address
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Payments
5
+ module BillingPlanType
6
+ MERCHANT_INITIATED_BILLING = 'MERCHANT_INITIATED_BILLING'
7
+ MERCHANT_INITIATED_BILLING_SINGLE_AGREEMENT = 'MERCHANT_INITIATED_BILLING_SINGLE_AGREEMENT'
8
+ CHANNEL_INITIATED_BILLING = 'CHANNEL_INITIATED_BILLING'
9
+ CHANNEL_INITIATED_BILLING_SINGLE_AGREEMENT = 'CHANNEL_INITIATED_BILLING_SINGLE_AGREEMENT'
10
+ RECURRING_PAYMENTS = 'RECURRING_PAYMENTS'
11
+ PRE_APPROVED_PAYMENTS = 'PRE_APPROVED_PAYMENTS'
12
+ end
13
+ end
14
+ end
@@ -18,6 +18,9 @@ module CheckoutSdk
18
18
  # @return [ShippingDetails]
19
19
  # @!attribute items
20
20
  # @return [Array(Product)]
21
+ # @!attribute marketplace
22
+ # @deprecated Please use {#amount_allocations} instead
23
+ # @return [Array(CheckoutSdk::Common::MarketplaceData)]
21
24
  # @!attribute amount_allocations
22
25
  # @return [Array(CheckoutSdk::Common::AmountAllocations)]
23
26
  # @!attribute processing
@@ -33,6 +36,7 @@ module CheckoutSdk
33
36
  :billing_descriptor,
34
37
  :shipping,
35
38
  :items,
39
+ :marketplace,
36
40
  :amount_allocations,
37
41
  :processing,
38
42
  :metadata
@@ -5,7 +5,7 @@ module CheckoutSdk
5
5
  # @!attribute type
6
6
  # @return [String] {DestinationType}
7
7
  class Destination
8
- attr_accessor :type
8
+ attr_reader :type
9
9
 
10
10
  protected
11
11
 
@@ -3,7 +3,7 @@
3
3
  module CheckoutSdk
4
4
  module Payments
5
5
  # @!attribute source
6
- # @return [PaymentRequestSource]
6
+ # @return [PaymentSource]
7
7
  # @!attribute amount
8
8
  # @return [Integer]
9
9
  # @!attribute currency
@@ -46,6 +46,9 @@ module CheckoutSdk
46
46
  # @return [Sender]
47
47
  # @!attribute recipient
48
48
  # @return [PaymentRecipient]
49
+ # @!attribute marketplace
50
+ # @deprecated Please use {#amount_allocations} instead
51
+ # @return [Array(CheckoutSdk::Common::MarketplaceData)]
49
52
  # @!attribute amount_allocations
50
53
  # @return [Array(CheckoutSdk::Common::AmountAllocations)]
51
54
  # @!attribute processing
@@ -77,6 +80,7 @@ module CheckoutSdk
77
80
  :payment_ip,
78
81
  :sender,
79
82
  :recipient,
83
+ :marketplace,
80
84
  :amount_allocations,
81
85
  :processing,
82
86
  :metadata,
@@ -16,8 +16,33 @@ require 'checkout_sdk/payments/os_type'
16
16
  require 'checkout_sdk/payments/payment_instruction'
17
17
  require 'checkout_sdk/payments/refund_request'
18
18
  require 'checkout_sdk/payments/product'
19
- require 'checkout_sdk/payments/source/payment_request_source'
20
- require 'checkout_sdk/payments/source/payout_request_source'
19
+ require 'checkout_sdk/payments/capture_type'
20
+ require 'checkout_sdk/payments/payment_type'
21
+ require 'checkout_sdk/payments/merchant_initiated_reason'
22
+ require 'checkout_sdk/payments/preferred_schema'
23
+ require 'checkout_sdk/payments/airline_data'
24
+ require 'checkout_sdk/payments/risk_request'
25
+ require 'checkout_sdk/payments/billing_descriptor'
26
+ require 'checkout_sdk/payments/payment_recipient'
27
+ require 'checkout_sdk/payments/d_local_installments'
28
+ require 'checkout_sdk/payments/shipping_preference'
29
+ require 'checkout_sdk/payments/exemption'
30
+ require 'checkout_sdk/payments/three_ds_flow_type'
31
+ require 'checkout_sdk/payments/void_request'
32
+ require 'checkout_sdk/payments/payment_request'
33
+ require 'checkout_sdk/payments/passenger_name'
34
+ require 'checkout_sdk/payments/processing_settings'
35
+ require 'checkout_sdk/payments/charge_bearer'
36
+ require 'checkout_sdk/payments/instruction_scheme'
37
+ require 'checkout_sdk/payments/network_token_type'
38
+ require 'checkout_sdk/payments/terminal_type'
39
+ require 'checkout_sdk/payments/flight_leg_details'
40
+ require 'checkout_sdk/payments/billing_plan'
41
+ require 'checkout_sdk/payments/billing_plan_type'
42
+
43
+ # Source
44
+ require 'checkout_sdk/payments/source/payment_source'
45
+ require 'checkout_sdk/payments/source/payout_source'
21
46
  require 'checkout_sdk/payments/source/network_token_source'
22
47
  require 'checkout_sdk/payments/source/token_source'
23
48
  require 'checkout_sdk/payments/source/provider_token_source'
@@ -44,6 +69,12 @@ require 'checkout_sdk/payments/source/apm/sofort_source'
44
69
  require 'checkout_sdk/payments/source/apm/stcpay_source'
45
70
  require 'checkout_sdk/payments/source/apm/tamara_source'
46
71
  require 'checkout_sdk/payments/source/apm/we_chat_pay_source'
72
+ require 'checkout_sdk/payments/source/apm/alma_source'
73
+ require 'checkout_sdk/payments/source/apm/fawry_product'
74
+ require 'checkout_sdk/payments/source/apm/fawry_source'
75
+ require 'checkout_sdk/payments/source/apm/klarna_source'
76
+
77
+ # Sender
47
78
  require 'checkout_sdk/payments/sender/sender'
48
79
  require 'checkout_sdk/payments/sender/sender_type'
49
80
  require 'checkout_sdk/payments/sender/source_of_funds'
@@ -52,31 +83,58 @@ require 'checkout_sdk/payments/sender/individual_sender'
52
83
  require 'checkout_sdk/payments/sender/corporate_sender'
53
84
  require 'checkout_sdk/payments/sender/instrument_sender'
54
85
  require 'checkout_sdk/payments/sender/ticket'
55
- require 'checkout_sdk/payments/capture_type'
56
- require 'checkout_sdk/payments/payment_type'
86
+
87
+ # Destination
57
88
  require 'checkout_sdk/payments/destination/destination'
58
89
  require 'checkout_sdk/payments/destination/token_destination'
59
90
  require 'checkout_sdk/payments/destination/bank_account_destination'
60
91
  require 'checkout_sdk/payments/destination/card_destination'
61
92
  require 'checkout_sdk/payments/destination/destination_type'
62
93
  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'
94
+
95
+ ## Previous
96
+ require 'checkout_sdk/payments/previous/fund_transfer_type'
97
+ require 'checkout_sdk/payments/previous/capture_request'
98
+ require 'checkout_sdk/payments/previous/payout_request'
99
+ require 'checkout_sdk/payments/previous/payment_request'
100
+
101
+ # Source
102
+ require 'checkout_sdk/payments/previous/source/payment_source'
103
+ require 'checkout_sdk/payments/previous/source/network_token_source'
104
+ require 'checkout_sdk/payments/previous/source/customer_source'
105
+ require 'checkout_sdk/payments/previous/source/token_source'
106
+ require 'checkout_sdk/payments/previous/source/id_source'
107
+ require 'checkout_sdk/payments/previous/source/card_source'
108
+ require 'checkout_sdk/payments/previous/source/d_local_source'
109
+ require 'checkout_sdk/payments/previous/source/apm/alipay_source'
110
+ require 'checkout_sdk/payments/previous/source/apm/alma_source'
111
+ require 'checkout_sdk/payments/previous/source/apm/bancontact_source'
112
+ require 'checkout_sdk/payments/previous/source/apm/benefit_pay_source'
113
+ require 'checkout_sdk/payments/previous/source/apm/boleto_source'
114
+ require 'checkout_sdk/payments/previous/source/apm/eps_source'
115
+ require 'checkout_sdk/payments/previous/source/apm/fawry_source'
116
+ require 'checkout_sdk/payments/previous/source/apm/giropay_source'
117
+ require 'checkout_sdk/payments/previous/source/apm/ideal_source'
118
+ require 'checkout_sdk/payments/previous/source/apm/integration_type'
119
+ require 'checkout_sdk/payments/previous/source/apm/klarna_source'
120
+ require 'checkout_sdk/payments/previous/source/apm/knet_source'
121
+ require 'checkout_sdk/payments/previous/source/apm/multi_banco_source'
122
+ require 'checkout_sdk/payments/previous/source/apm/oxxo_source'
123
+ require 'checkout_sdk/payments/previous/source/apm/p24_source'
124
+ require 'checkout_sdk/payments/previous/source/apm/pago_facil_source'
125
+ require 'checkout_sdk/payments/previous/source/apm/paypal_source'
126
+ require 'checkout_sdk/payments/previous/source/apm/poli_source'
127
+ require 'checkout_sdk/payments/previous/source/apm/qpay_source'
128
+ require 'checkout_sdk/payments/previous/source/apm/rapi_pago_source'
129
+ require 'checkout_sdk/payments/previous/source/apm/sofort_source'
130
+
131
+ # Destination
132
+ require 'checkout_sdk/payments/previous/destination/destination'
133
+ require 'checkout_sdk/payments/previous/destination/token_destination'
134
+ require 'checkout_sdk/payments/previous/destination/card_destination'
135
+ require 'checkout_sdk/payments/previous/destination/id_destination'
136
+
137
+ # Client
138
+ require 'checkout_sdk/payments/base_payments_client'
67
139
  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'
140
+ require 'checkout_sdk/payments/previous/payments_client'
@@ -2,10 +2,7 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
- class PaymentsClient < Client
6
- PAYMENTS_PATH = 'payments'
7
- private_constant :PAYMENTS_PATH
8
-
5
+ class PaymentsClient < BasePaymentsClient
9
6
  # @param [ApiClient] api_client
10
7
  # @param [CheckoutConfiguration] configuration
11
8
  def initialize(api_client, configuration)
@@ -30,18 +27,6 @@ module CheckoutSdk
30
27
  idempotency_key)
31
28
  end
32
29
 
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
30
  # @param [String] payment_id
46
31
  # @param [CaptureRequest] capture_request
47
32
  # @param [String, nil] idempotency_key
@@ -52,26 +37,6 @@ module CheckoutSdk
52
37
  idempotency_key)
53
38
  end
54
39
 
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
40
  # @param [String] payment_id
76
41
  # @param [AuthorizationRequest] authorization_request
77
42
  # @param [String, nil] idempotency_key
@@ -3,7 +3,7 @@
3
3
  module CheckoutSdk
4
4
  module Payments
5
5
  # @!attribute source
6
- # @return [PayoutRequestSource]
6
+ # @return [PayoutSource]
7
7
  # @!attribute destination
8
8
  # @return [Destination]
9
9
  # @!attribute amount
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Payments
6
+ # @!attribute amount
7
+ # @return [Integer]
8
+ # @!attribute reference
9
+ # @return [String]
10
+ # @!attribute metadata
11
+ # @return [Hash{String => Object}]
12
+ class CaptureRequest
13
+ attr_accessor :amount,
14
+ :reference,
15
+ :metadata
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Payments
6
+ # @!attribute number
7
+ # @return [String]
8
+ # @!attribute expiry_month
9
+ # @return [Integer]
10
+ # @!attribute expiry_year
11
+ # @return [Integer]
12
+ # @!attribute first_name
13
+ # @return [String]
14
+ # @!attribute last_name
15
+ # @return [String]
16
+ # @!attribute name
17
+ # @return [String]
18
+ # @!attribute billing_address
19
+ # @return [CheckoutSdk::Common::Address]
20
+ # @!attribute phone
21
+ # @return [CheckoutSdk::Common::Phone]
22
+ class CardDestination < Destination
23
+ attr_accessor :number,
24
+ :expiry_month,
25
+ :expiry_year,
26
+ :first_name,
27
+ :last_name,
28
+ :name,
29
+ :billing_address,
30
+ :phone
31
+
32
+ def initialize
33
+ super CheckoutSdk::Payments::DestinationType::CARD
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Payments
6
+ # @!attribute type
7
+ # @return [String] {CheckoutSdk::Payments::DestinationType}
8
+ class Destination
9
+ attr_reader :type
10
+
11
+ protected
12
+
13
+ # @abstract
14
+ # @param [String] type {CheckoutSdk::Payments::DestinationType}
15
+ def initialize(type)
16
+ @type = type
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Payments
6
+ # @!attribute id
7
+ # @return [String]
8
+ # @!attribute first_name
9
+ # @return [String]
10
+ # @!attribute last_name
11
+ # @return [String]
12
+ class IdDestination < Destination
13
+ attr_accessor :id,
14
+ :first_name,
15
+ :last_name
16
+
17
+ def initialize
18
+ super CheckoutSdk::Payments::DestinationType::ID
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Payments
6
+ # @!attribute token
7
+ # @return [String]
8
+ # @!attribute first_name
9
+ # @return [String]
10
+ # @!attribute last_name
11
+ # @return [String]
12
+ # @!attribute billing_address
13
+ # @return [CheckoutSdk::Common::Address]
14
+ # @!attribute phone
15
+ # @return [CheckoutSdk::Common::Phone]
16
+ class TokenDestination < Destination
17
+ attr_accessor :token,
18
+ :first_name,
19
+ :last_name,
20
+ :billing_address,
21
+ :phone
22
+
23
+ def initialize
24
+ super CheckoutSdk::Payments::DestinationType::TOKEN
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutSdk
4
+ module Previous
5
+ module Payments
6
+ module FundTransferType
7
+ AA = 'AA'
8
+ PP = 'PP'
9
+ FT = 'FT'
10
+ FD = 'FD'
11
+ PD = 'PD'
12
+ LO = 'LO'
13
+ OG = 'OG'
14
+ end
15
+ end
16
+ end
17
+ end