direct-sdk-ruby 1.2.0 → 1.6.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/direct-sdk-ruby.gemspec +1 -1
- data/lib/ingenico/direct/sdk/domain/additional_order_input.rb +8 -0
- data/lib/ingenico/direct/sdk/domain/capture_payment_request.rb +8 -0
- data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_output.rb +12 -0
- data/lib/ingenico/direct/sdk/domain/external_token_linked.rb +8 -0
- data/lib/ingenico/direct/sdk/domain/hosted_checkout_specific_input.rb +4 -8
- data/lib/ingenico/direct/sdk/domain/{card_payment_method_specific_input_for_hosted_checkout.rb → lodging_data.rb} +5 -5
- data/lib/ingenico/direct/sdk/domain/operation_output.rb +59 -0
- data/lib/ingenico/direct/sdk/domain/payment_details_response.rb +66 -0
- data/lib/ingenico/direct/sdk/domain/payment_product.rb +10 -0
- data/lib/ingenico/direct/sdk/domain/payment_product320_specific_data.rb +4 -0
- data/lib/ingenico/direct/sdk/domain/payment_product_group.rb +10 -0
- data/lib/ingenico/direct/sdk/domain/refund_request.rb +8 -0
- data/lib/ingenico/direct/sdk/domain/three_d_secure.rb +4 -0
- data/lib/ingenico/direct/sdk/merchant/payments/payments_client.rb +32 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb17a610c0fb3905e0e3d7dd8e6db33920a263eaeeddd2d78d40e3ffa598f6c2
|
4
|
+
data.tar.gz: e154fca29cce669b3334129151efc2d89210c43531c46d7d61474b2f7309e9f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d828e4c95a47a72161750b7886a0458c8bffe03f4d80d65c0518ff23b34718f8a1bed63a247e76d6b99f5fa87a2b07a9c585bdf45e6e3c235ea9a04d9e570f2e
|
7
|
+
data.tar.gz: 90f994b1b9f1f47064355a963cc02570910dbf35789e77d3b71bcb49ed63d194e60971104a57077d6f9c4febcc2da19939c911c2e65d3f252fcdac3cabee49fe
|
data/direct-sdk-ruby.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'direct-sdk-ruby'
|
3
|
-
spec.version = '1.
|
3
|
+
spec.version = '1.6.0'
|
4
4
|
spec.authors = ['Ingenico ePayments']
|
5
5
|
spec.email = ['60233882+ingenico-dev-team@users.noreply.github.com']
|
6
6
|
spec.summary = %q{SDK to communicate with the Ingenico ePayments platform using the Ingenico Direct Server API}
|
@@ -5,6 +5,7 @@
|
|
5
5
|
require 'ingenico/direct/sdk/data_object'
|
6
6
|
require 'ingenico/direct/sdk/domain/airline_data'
|
7
7
|
require 'ingenico/direct/sdk/domain/loan_recipient'
|
8
|
+
require 'ingenico/direct/sdk/domain/lodging_data'
|
8
9
|
require 'ingenico/direct/sdk/domain/order_type_information'
|
9
10
|
|
10
11
|
module Ingenico::Direct::SDK
|
@@ -12,10 +13,12 @@ module Ingenico::Direct::SDK
|
|
12
13
|
|
13
14
|
# @attr [Ingenico::Direct::SDK::Domain::AirlineData] airline_data
|
14
15
|
# @attr [Ingenico::Direct::SDK::Domain::LoanRecipient] loan_recipient
|
16
|
+
# @attr [Ingenico::Direct::SDK::Domain::LodgingData] lodging_data
|
15
17
|
# @attr [Ingenico::Direct::SDK::Domain::OrderTypeInformation] type_information
|
16
18
|
class AdditionalOrderInput < Ingenico::Direct::SDK::DataObject
|
17
19
|
attr_accessor :airline_data
|
18
20
|
attr_accessor :loan_recipient
|
21
|
+
attr_accessor :lodging_data
|
19
22
|
attr_accessor :type_information
|
20
23
|
|
21
24
|
# @return (Hash)
|
@@ -23,6 +26,7 @@ module Ingenico::Direct::SDK
|
|
23
26
|
hash = super
|
24
27
|
hash['airlineData'] = @airline_data.to_h if @airline_data
|
25
28
|
hash['loanRecipient'] = @loan_recipient.to_h if @loan_recipient
|
29
|
+
hash['lodgingData'] = @lodging_data.to_h if @lodging_data
|
26
30
|
hash['typeInformation'] = @type_information.to_h if @type_information
|
27
31
|
hash
|
28
32
|
end
|
@@ -37,6 +41,10 @@ module Ingenico::Direct::SDK
|
|
37
41
|
raise TypeError, "value '%s' is not a Hash" % [hash['loanRecipient']] unless hash['loanRecipient'].is_a? Hash
|
38
42
|
@loan_recipient = Ingenico::Direct::SDK::Domain::LoanRecipient.new_from_hash(hash['loanRecipient'])
|
39
43
|
end
|
44
|
+
if hash.key? 'lodgingData'
|
45
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['lodgingData']] unless hash['lodgingData'].is_a? Hash
|
46
|
+
@lodging_data = Ingenico::Direct::SDK::Domain::LodgingData.new_from_hash(hash['lodgingData'])
|
47
|
+
end
|
40
48
|
if hash.key? 'typeInformation'
|
41
49
|
raise TypeError, "value '%s' is not a Hash" % [hash['typeInformation']] unless hash['typeInformation'].is_a? Hash
|
42
50
|
@type_information = Ingenico::Direct::SDK::Domain::OrderTypeInformation.new_from_hash(hash['typeInformation'])
|
@@ -3,21 +3,25 @@
|
|
3
3
|
# https://support.direct.ingenico.com/documentation/api/reference/
|
4
4
|
#
|
5
5
|
require 'ingenico/direct/sdk/data_object'
|
6
|
+
require 'ingenico/direct/sdk/domain/payment_references'
|
6
7
|
|
7
8
|
module Ingenico::Direct::SDK
|
8
9
|
module Domain
|
9
10
|
|
10
11
|
# @attr [Long] amount
|
11
12
|
# @attr [true/false] is_final
|
13
|
+
# @attr [Ingenico::Direct::SDK::Domain::PaymentReferences] references
|
12
14
|
class CapturePaymentRequest < Ingenico::Direct::SDK::DataObject
|
13
15
|
attr_accessor :amount
|
14
16
|
attr_accessor :is_final
|
17
|
+
attr_accessor :references
|
15
18
|
|
16
19
|
# @return (Hash)
|
17
20
|
def to_h
|
18
21
|
hash = super
|
19
22
|
hash['amount'] = @amount unless @amount.nil?
|
20
23
|
hash['isFinal'] = @is_final unless @is_final.nil?
|
24
|
+
hash['references'] = @references.to_h if @references
|
21
25
|
hash
|
22
26
|
end
|
23
27
|
|
@@ -25,6 +29,10 @@ module Ingenico::Direct::SDK
|
|
25
29
|
super
|
26
30
|
@amount = hash['amount'] if hash.key? 'amount'
|
27
31
|
@is_final = hash['isFinal'] if hash.key? 'isFinal'
|
32
|
+
if hash.key? 'references'
|
33
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
|
34
|
+
@references = Ingenico::Direct::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
|
35
|
+
end
|
28
36
|
end
|
29
37
|
end
|
30
38
|
end
|
@@ -5,13 +5,16 @@
|
|
5
5
|
require 'ingenico/direct/sdk/data_object'
|
6
6
|
require 'ingenico/direct/sdk/domain/card_essentials'
|
7
7
|
require 'ingenico/direct/sdk/domain/card_fraud_results'
|
8
|
+
require 'ingenico/direct/sdk/domain/external_token_linked'
|
8
9
|
require 'ingenico/direct/sdk/domain/three_d_secure_results'
|
9
10
|
|
10
11
|
module Ingenico::Direct::SDK
|
11
12
|
module Domain
|
12
13
|
|
14
|
+
# @attr [Long] authenticated_amount
|
13
15
|
# @attr [String] authorisation_code
|
14
16
|
# @attr [Ingenico::Direct::SDK::Domain::CardEssentials] card
|
17
|
+
# @attr [Ingenico::Direct::SDK::Domain::ExternalTokenLinked] external_token_linked
|
15
18
|
# @attr [Ingenico::Direct::SDK::Domain::CardFraudResults] fraud_results
|
16
19
|
# @attr [String] initial_scheme_transaction_id
|
17
20
|
# @attr [String] payment_option
|
@@ -19,8 +22,10 @@ module Ingenico::Direct::SDK
|
|
19
22
|
# @attr [Ingenico::Direct::SDK::Domain::ThreeDSecureResults] three_d_secure_results
|
20
23
|
# @attr [String] token
|
21
24
|
class CardPaymentMethodSpecificOutput < Ingenico::Direct::SDK::DataObject
|
25
|
+
attr_accessor :authenticated_amount
|
22
26
|
attr_accessor :authorisation_code
|
23
27
|
attr_accessor :card
|
28
|
+
attr_accessor :external_token_linked
|
24
29
|
attr_accessor :fraud_results
|
25
30
|
attr_accessor :initial_scheme_transaction_id
|
26
31
|
attr_accessor :payment_option
|
@@ -31,8 +36,10 @@ module Ingenico::Direct::SDK
|
|
31
36
|
# @return (Hash)
|
32
37
|
def to_h
|
33
38
|
hash = super
|
39
|
+
hash['authenticatedAmount'] = @authenticated_amount unless @authenticated_amount.nil?
|
34
40
|
hash['authorisationCode'] = @authorisation_code unless @authorisation_code.nil?
|
35
41
|
hash['card'] = @card.to_h if @card
|
42
|
+
hash['externalTokenLinked'] = @external_token_linked.to_h if @external_token_linked
|
36
43
|
hash['fraudResults'] = @fraud_results.to_h if @fraud_results
|
37
44
|
hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
|
38
45
|
hash['paymentOption'] = @payment_option unless @payment_option.nil?
|
@@ -44,11 +51,16 @@ module Ingenico::Direct::SDK
|
|
44
51
|
|
45
52
|
def from_hash(hash)
|
46
53
|
super
|
54
|
+
@authenticated_amount = hash['authenticatedAmount'] if hash.key? 'authenticatedAmount'
|
47
55
|
@authorisation_code = hash['authorisationCode'] if hash.key? 'authorisationCode'
|
48
56
|
if hash.key? 'card'
|
49
57
|
raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
|
50
58
|
@card = Ingenico::Direct::SDK::Domain::CardEssentials.new_from_hash(hash['card'])
|
51
59
|
end
|
60
|
+
if hash.key? 'externalTokenLinked'
|
61
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['externalTokenLinked']] unless hash['externalTokenLinked'].is_a? Hash
|
62
|
+
@external_token_linked = Ingenico::Direct::SDK::Domain::ExternalTokenLinked.new_from_hash(hash['externalTokenLinked'])
|
63
|
+
end
|
52
64
|
if hash.key? 'fraudResults'
|
53
65
|
raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
|
54
66
|
@fraud_results = Ingenico::Direct::SDK::Domain::CardFraudResults.new_from_hash(hash['fraudResults'])
|
@@ -7,20 +7,28 @@ require 'ingenico/direct/sdk/data_object'
|
|
7
7
|
module Ingenico::Direct::SDK
|
8
8
|
module Domain
|
9
9
|
|
10
|
+
# @attr [String] computed_token
|
10
11
|
# @attr [String] gts_computed_token
|
12
|
+
# @attr [String] generated_token
|
11
13
|
class ExternalTokenLinked < Ingenico::Direct::SDK::DataObject
|
14
|
+
attr_accessor :computed_token
|
12
15
|
attr_accessor :gts_computed_token
|
16
|
+
attr_accessor :generated_token
|
13
17
|
|
14
18
|
# @return (Hash)
|
15
19
|
def to_h
|
16
20
|
hash = super
|
21
|
+
hash['ComputedToken'] = @computed_token unless @computed_token.nil?
|
17
22
|
hash['GTSComputedToken'] = @gts_computed_token unless @gts_computed_token.nil?
|
23
|
+
hash['GeneratedToken'] = @generated_token unless @generated_token.nil?
|
18
24
|
hash
|
19
25
|
end
|
20
26
|
|
21
27
|
def from_hash(hash)
|
22
28
|
super
|
29
|
+
@computed_token = hash['ComputedToken'] if hash.key? 'ComputedToken'
|
23
30
|
@gts_computed_token = hash['GTSComputedToken'] if hash.key? 'GTSComputedToken'
|
31
|
+
@generated_token = hash['GeneratedToken'] if hash.key? 'GeneratedToken'
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
@@ -3,26 +3,25 @@
|
|
3
3
|
# https://support.direct.ingenico.com/documentation/api/reference/
|
4
4
|
#
|
5
5
|
require 'ingenico/direct/sdk/data_object'
|
6
|
-
require 'ingenico/direct/sdk/domain/card_payment_method_specific_input_for_hosted_checkout'
|
7
6
|
require 'ingenico/direct/sdk/domain/payment_product_filters_hosted_checkout'
|
8
7
|
|
9
8
|
module Ingenico::Direct::SDK
|
10
9
|
module Domain
|
11
10
|
|
12
|
-
# @attr [Ingenico::Direct::SDK::Domain::CardPaymentMethodSpecificInputForHostedCheckout] card_payment_method_specific_input
|
13
11
|
# @attr [true/false] is_recurring
|
14
12
|
# @attr [String] locale
|
15
13
|
# @attr [Ingenico::Direct::SDK::Domain::PaymentProductFiltersHostedCheckout] payment_product_filters
|
16
14
|
# @attr [String] return_url
|
15
|
+
# @attr [Integer] session_timeout
|
17
16
|
# @attr [true/false] show_result_page
|
18
17
|
# @attr [String] tokens
|
19
18
|
# @attr [String] variant
|
20
19
|
class HostedCheckoutSpecificInput < Ingenico::Direct::SDK::DataObject
|
21
|
-
attr_accessor :card_payment_method_specific_input
|
22
20
|
attr_accessor :is_recurring
|
23
21
|
attr_accessor :locale
|
24
22
|
attr_accessor :payment_product_filters
|
25
23
|
attr_accessor :return_url
|
24
|
+
attr_accessor :session_timeout
|
26
25
|
attr_accessor :show_result_page
|
27
26
|
attr_accessor :tokens
|
28
27
|
attr_accessor :variant
|
@@ -30,11 +29,11 @@ module Ingenico::Direct::SDK
|
|
30
29
|
# @return (Hash)
|
31
30
|
def to_h
|
32
31
|
hash = super
|
33
|
-
hash['cardPaymentMethodSpecificInput'] = @card_payment_method_specific_input.to_h if @card_payment_method_specific_input
|
34
32
|
hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
|
35
33
|
hash['locale'] = @locale unless @locale.nil?
|
36
34
|
hash['paymentProductFilters'] = @payment_product_filters.to_h if @payment_product_filters
|
37
35
|
hash['returnUrl'] = @return_url unless @return_url.nil?
|
36
|
+
hash['sessionTimeout'] = @session_timeout unless @session_timeout.nil?
|
38
37
|
hash['showResultPage'] = @show_result_page unless @show_result_page.nil?
|
39
38
|
hash['tokens'] = @tokens unless @tokens.nil?
|
40
39
|
hash['variant'] = @variant unless @variant.nil?
|
@@ -43,10 +42,6 @@ module Ingenico::Direct::SDK
|
|
43
42
|
|
44
43
|
def from_hash(hash)
|
45
44
|
super
|
46
|
-
if hash.key? 'cardPaymentMethodSpecificInput'
|
47
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['cardPaymentMethodSpecificInput']] unless hash['cardPaymentMethodSpecificInput'].is_a? Hash
|
48
|
-
@card_payment_method_specific_input = Ingenico::Direct::SDK::Domain::CardPaymentMethodSpecificInputForHostedCheckout.new_from_hash(hash['cardPaymentMethodSpecificInput'])
|
49
|
-
end
|
50
45
|
@is_recurring = hash['isRecurring'] if hash.key? 'isRecurring'
|
51
46
|
@locale = hash['locale'] if hash.key? 'locale'
|
52
47
|
if hash.key? 'paymentProductFilters'
|
@@ -54,6 +49,7 @@ module Ingenico::Direct::SDK
|
|
54
49
|
@payment_product_filters = Ingenico::Direct::SDK::Domain::PaymentProductFiltersHostedCheckout.new_from_hash(hash['paymentProductFilters'])
|
55
50
|
end
|
56
51
|
@return_url = hash['returnUrl'] if hash.key? 'returnUrl'
|
52
|
+
@session_timeout = hash['sessionTimeout'] if hash.key? 'sessionTimeout'
|
57
53
|
@show_result_page = hash['showResultPage'] if hash.key? 'showResultPage'
|
58
54
|
@tokens = hash['tokens'] if hash.key? 'tokens'
|
59
55
|
@variant = hash['variant'] if hash.key? 'variant'
|
@@ -7,20 +7,20 @@ require 'ingenico/direct/sdk/data_object'
|
|
7
7
|
module Ingenico::Direct::SDK
|
8
8
|
module Domain
|
9
9
|
|
10
|
-
# @attr [
|
11
|
-
class
|
12
|
-
attr_accessor :
|
10
|
+
# @attr [String] check_in_date
|
11
|
+
class LodgingData < Ingenico::Direct::SDK::DataObject
|
12
|
+
attr_accessor :check_in_date
|
13
13
|
|
14
14
|
# @return (Hash)
|
15
15
|
def to_h
|
16
16
|
hash = super
|
17
|
-
hash['
|
17
|
+
hash['checkInDate'] = @check_in_date unless @check_in_date.nil?
|
18
18
|
hash
|
19
19
|
end
|
20
20
|
|
21
21
|
def from_hash(hash)
|
22
22
|
super
|
23
|
-
@
|
23
|
+
@check_in_date = hash['checkInDate'] if hash.key? 'checkInDate'
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
#
|
2
|
+
# This class was auto-generated from the API references found at
|
3
|
+
# https://support.direct.ingenico.com/documentation/api/reference/
|
4
|
+
#
|
5
|
+
require 'ingenico/direct/sdk/data_object'
|
6
|
+
require 'ingenico/direct/sdk/domain/amount_of_money'
|
7
|
+
require 'ingenico/direct/sdk/domain/payment_references'
|
8
|
+
require 'ingenico/direct/sdk/domain/payment_status_output'
|
9
|
+
|
10
|
+
module Ingenico::Direct::SDK
|
11
|
+
module Domain
|
12
|
+
|
13
|
+
# @attr [Ingenico::Direct::SDK::Domain::AmountOfMoney] amount_of_money
|
14
|
+
# @attr [String] id
|
15
|
+
# @attr [String] payment_method
|
16
|
+
# @attr [Ingenico::Direct::SDK::Domain::PaymentReferences] references
|
17
|
+
# @attr [String] status
|
18
|
+
# @attr [Ingenico::Direct::SDK::Domain::PaymentStatusOutput] status_output
|
19
|
+
class OperationOutput < Ingenico::Direct::SDK::DataObject
|
20
|
+
attr_accessor :amount_of_money
|
21
|
+
attr_accessor :id
|
22
|
+
attr_accessor :payment_method
|
23
|
+
attr_accessor :references
|
24
|
+
attr_accessor :status
|
25
|
+
attr_accessor :status_output
|
26
|
+
|
27
|
+
# @return (Hash)
|
28
|
+
def to_h
|
29
|
+
hash = super
|
30
|
+
hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
|
31
|
+
hash['id'] = @id unless @id.nil?
|
32
|
+
hash['paymentMethod'] = @payment_method unless @payment_method.nil?
|
33
|
+
hash['references'] = @references.to_h if @references
|
34
|
+
hash['status'] = @status unless @status.nil?
|
35
|
+
hash['statusOutput'] = @status_output.to_h if @status_output
|
36
|
+
hash
|
37
|
+
end
|
38
|
+
|
39
|
+
def from_hash(hash)
|
40
|
+
super
|
41
|
+
if hash.key? 'amountOfMoney'
|
42
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
|
43
|
+
@amount_of_money = Ingenico::Direct::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
|
44
|
+
end
|
45
|
+
@id = hash['id'] if hash.key? 'id'
|
46
|
+
@payment_method = hash['paymentMethod'] if hash.key? 'paymentMethod'
|
47
|
+
if hash.key? 'references'
|
48
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
|
49
|
+
@references = Ingenico::Direct::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
|
50
|
+
end
|
51
|
+
@status = hash['status'] if hash.key? 'status'
|
52
|
+
if hash.key? 'statusOutput'
|
53
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['statusOutput']] unless hash['statusOutput'].is_a? Hash
|
54
|
+
@status_output = Ingenico::Direct::SDK::Domain::PaymentStatusOutput.new_from_hash(hash['statusOutput'])
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
#
|
2
|
+
# This class was auto-generated from the API references found at
|
3
|
+
# https://support.direct.ingenico.com/documentation/api/reference/
|
4
|
+
#
|
5
|
+
require 'ingenico/direct/sdk/data_object'
|
6
|
+
require 'ingenico/direct/sdk/domain/hosted_checkout_specific_output'
|
7
|
+
require 'ingenico/direct/sdk/domain/operation_output'
|
8
|
+
require 'ingenico/direct/sdk/domain/payment_output'
|
9
|
+
require 'ingenico/direct/sdk/domain/payment_status_output'
|
10
|
+
|
11
|
+
module Ingenico::Direct::SDK
|
12
|
+
module Domain
|
13
|
+
|
14
|
+
# @attr [Array<Ingenico::Direct::SDK::Domain::OperationOutput>] operations
|
15
|
+
# @attr [Ingenico::Direct::SDK::Domain::HostedCheckoutSpecificOutput] hosted_checkout_specific_output
|
16
|
+
# @attr [String] id
|
17
|
+
# @attr [Ingenico::Direct::SDK::Domain::PaymentOutput] payment_output
|
18
|
+
# @attr [String] status
|
19
|
+
# @attr [Ingenico::Direct::SDK::Domain::PaymentStatusOutput] status_output
|
20
|
+
class PaymentDetailsResponse < Ingenico::Direct::SDK::DataObject
|
21
|
+
attr_accessor :operations
|
22
|
+
attr_accessor :hosted_checkout_specific_output
|
23
|
+
attr_accessor :id
|
24
|
+
attr_accessor :payment_output
|
25
|
+
attr_accessor :status
|
26
|
+
attr_accessor :status_output
|
27
|
+
|
28
|
+
# @return (Hash)
|
29
|
+
def to_h
|
30
|
+
hash = super
|
31
|
+
hash['Operations'] = @operations.collect(&:to_h) if @operations
|
32
|
+
hash['hostedCheckoutSpecificOutput'] = @hosted_checkout_specific_output.to_h if @hosted_checkout_specific_output
|
33
|
+
hash['id'] = @id unless @id.nil?
|
34
|
+
hash['paymentOutput'] = @payment_output.to_h if @payment_output
|
35
|
+
hash['status'] = @status unless @status.nil?
|
36
|
+
hash['statusOutput'] = @status_output.to_h if @status_output
|
37
|
+
hash
|
38
|
+
end
|
39
|
+
|
40
|
+
def from_hash(hash)
|
41
|
+
super
|
42
|
+
if hash.key? 'Operations'
|
43
|
+
raise TypeError, "value '%s' is not an Array" % [hash['Operations']] unless hash['Operations'].is_a? Array
|
44
|
+
@operations = []
|
45
|
+
hash['Operations'].each do |e|
|
46
|
+
@operations << Ingenico::Direct::SDK::Domain::OperationOutput.new_from_hash(e)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
if hash.key? 'hostedCheckoutSpecificOutput'
|
50
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['hostedCheckoutSpecificOutput']] unless hash['hostedCheckoutSpecificOutput'].is_a? Hash
|
51
|
+
@hosted_checkout_specific_output = Ingenico::Direct::SDK::Domain::HostedCheckoutSpecificOutput.new_from_hash(hash['hostedCheckoutSpecificOutput'])
|
52
|
+
end
|
53
|
+
@id = hash['id'] if hash.key? 'id'
|
54
|
+
if hash.key? 'paymentOutput'
|
55
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['paymentOutput']] unless hash['paymentOutput'].is_a? Hash
|
56
|
+
@payment_output = Ingenico::Direct::SDK::Domain::PaymentOutput.new_from_hash(hash['paymentOutput'])
|
57
|
+
end
|
58
|
+
@status = hash['status'] if hash.key? 'status'
|
59
|
+
if hash.key? 'statusOutput'
|
60
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['statusOutput']] unless hash['statusOutput'].is_a? Hash
|
61
|
+
@status_output = Ingenico::Direct::SDK::Domain::PaymentStatusOutput.new_from_hash(hash['statusOutput'])
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -16,6 +16,7 @@ module Ingenico::Direct::SDK
|
|
16
16
|
# @attr [true/false] allows_recurring
|
17
17
|
# @attr [true/false] allows_tokenization
|
18
18
|
# @attr [Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints] display_hints
|
19
|
+
# @attr [Array<Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints>] display_hints_list
|
19
20
|
# @attr [Array<Ingenico::Direct::SDK::Domain::PaymentProductField>] fields
|
20
21
|
# @attr [Integer] id
|
21
22
|
# @attr [String] payment_method
|
@@ -28,6 +29,7 @@ module Ingenico::Direct::SDK
|
|
28
29
|
attr_accessor :allows_recurring
|
29
30
|
attr_accessor :allows_tokenization
|
30
31
|
attr_accessor :display_hints
|
32
|
+
attr_accessor :display_hints_list
|
31
33
|
attr_accessor :fields
|
32
34
|
attr_accessor :id
|
33
35
|
attr_accessor :payment_method
|
@@ -43,6 +45,7 @@ module Ingenico::Direct::SDK
|
|
43
45
|
hash['allowsRecurring'] = @allows_recurring unless @allows_recurring.nil?
|
44
46
|
hash['allowsTokenization'] = @allows_tokenization unless @allows_tokenization.nil?
|
45
47
|
hash['displayHints'] = @display_hints.to_h if @display_hints
|
48
|
+
hash['displayHintsList'] = @display_hints_list.collect(&:to_h) if @display_hints_list
|
46
49
|
hash['fields'] = @fields.collect(&:to_h) if @fields
|
47
50
|
hash['id'] = @id unless @id.nil?
|
48
51
|
hash['paymentMethod'] = @payment_method unless @payment_method.nil?
|
@@ -68,6 +71,13 @@ module Ingenico::Direct::SDK
|
|
68
71
|
raise TypeError, "value '%s' is not a Hash" % [hash['displayHints']] unless hash['displayHints'].is_a? Hash
|
69
72
|
@display_hints = Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints.new_from_hash(hash['displayHints'])
|
70
73
|
end
|
74
|
+
if hash.key? 'displayHintsList'
|
75
|
+
raise TypeError, "value '%s' is not an Array" % [hash['displayHintsList']] unless hash['displayHintsList'].is_a? Array
|
76
|
+
@display_hints_list = []
|
77
|
+
hash['displayHintsList'].each do |e|
|
78
|
+
@display_hints_list << Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints.new_from_hash(e)
|
79
|
+
end
|
80
|
+
end
|
71
81
|
if hash.key? 'fields'
|
72
82
|
raise TypeError, "value '%s' is not an Array" % [hash['fields']] unless hash['fields'].is_a? Array
|
73
83
|
@fields = []
|
@@ -7,19 +7,23 @@ require 'ingenico/direct/sdk/data_object'
|
|
7
7
|
module Ingenico::Direct::SDK
|
8
8
|
module Domain
|
9
9
|
|
10
|
+
# @attr [String] gateway
|
10
11
|
# @attr [Array<String>] networks
|
11
12
|
class PaymentProduct320SpecificData < Ingenico::Direct::SDK::DataObject
|
13
|
+
attr_accessor :gateway
|
12
14
|
attr_accessor :networks
|
13
15
|
|
14
16
|
# @return (Hash)
|
15
17
|
def to_h
|
16
18
|
hash = super
|
19
|
+
hash['gateway'] = @gateway unless @gateway.nil?
|
17
20
|
hash['networks'] = @networks unless @networks.nil?
|
18
21
|
hash
|
19
22
|
end
|
20
23
|
|
21
24
|
def from_hash(hash)
|
22
25
|
super
|
26
|
+
@gateway = hash['gateway'] if hash.key? 'gateway'
|
23
27
|
if hash.key? 'networks'
|
24
28
|
raise TypeError, "value '%s' is not an Array" % [hash['networks']] unless hash['networks'].is_a? Array
|
25
29
|
@networks = []
|
@@ -11,10 +11,12 @@ module Ingenico::Direct::SDK
|
|
11
11
|
|
12
12
|
# @attr [Ingenico::Direct::SDK::Domain::AccountOnFile] account_on_file
|
13
13
|
# @attr [Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints] display_hints
|
14
|
+
# @attr [Array<Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints>] display_hints_list
|
14
15
|
# @attr [String] id
|
15
16
|
class PaymentProductGroup < Ingenico::Direct::SDK::DataObject
|
16
17
|
attr_accessor :account_on_file
|
17
18
|
attr_accessor :display_hints
|
19
|
+
attr_accessor :display_hints_list
|
18
20
|
attr_accessor :id
|
19
21
|
|
20
22
|
# @return (Hash)
|
@@ -22,6 +24,7 @@ module Ingenico::Direct::SDK
|
|
22
24
|
hash = super
|
23
25
|
hash['accountOnFile'] = @account_on_file.to_h if @account_on_file
|
24
26
|
hash['displayHints'] = @display_hints.to_h if @display_hints
|
27
|
+
hash['displayHintsList'] = @display_hints_list.collect(&:to_h) if @display_hints_list
|
25
28
|
hash['id'] = @id unless @id.nil?
|
26
29
|
hash
|
27
30
|
end
|
@@ -36,6 +39,13 @@ module Ingenico::Direct::SDK
|
|
36
39
|
raise TypeError, "value '%s' is not a Hash" % [hash['displayHints']] unless hash['displayHints'].is_a? Hash
|
37
40
|
@display_hints = Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints.new_from_hash(hash['displayHints'])
|
38
41
|
end
|
42
|
+
if hash.key? 'displayHintsList'
|
43
|
+
raise TypeError, "value '%s' is not an Array" % [hash['displayHintsList']] unless hash['displayHintsList'].is_a? Array
|
44
|
+
@display_hints_list = []
|
45
|
+
hash['displayHintsList'].each do |e|
|
46
|
+
@display_hints_list << Ingenico::Direct::SDK::Domain::PaymentProductDisplayHints.new_from_hash(e)
|
47
|
+
end
|
48
|
+
end
|
39
49
|
@id = hash['id'] if hash.key? 'id'
|
40
50
|
end
|
41
51
|
end
|
@@ -4,18 +4,22 @@
|
|
4
4
|
#
|
5
5
|
require 'ingenico/direct/sdk/data_object'
|
6
6
|
require 'ingenico/direct/sdk/domain/amount_of_money'
|
7
|
+
require 'ingenico/direct/sdk/domain/payment_references'
|
7
8
|
|
8
9
|
module Ingenico::Direct::SDK
|
9
10
|
module Domain
|
10
11
|
|
11
12
|
# @attr [Ingenico::Direct::SDK::Domain::AmountOfMoney] amount_of_money
|
13
|
+
# @attr [Ingenico::Direct::SDK::Domain::PaymentReferences] references
|
12
14
|
class RefundRequest < Ingenico::Direct::SDK::DataObject
|
13
15
|
attr_accessor :amount_of_money
|
16
|
+
attr_accessor :references
|
14
17
|
|
15
18
|
# @return (Hash)
|
16
19
|
def to_h
|
17
20
|
hash = super
|
18
21
|
hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
|
22
|
+
hash['references'] = @references.to_h if @references
|
19
23
|
hash
|
20
24
|
end
|
21
25
|
|
@@ -25,6 +29,10 @@ module Ingenico::Direct::SDK
|
|
25
29
|
raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
|
26
30
|
@amount_of_money = Ingenico::Direct::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
|
27
31
|
end
|
32
|
+
if hash.key? 'references'
|
33
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
|
34
|
+
@references = Ingenico::Direct::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
|
35
|
+
end
|
28
36
|
end
|
29
37
|
end
|
30
38
|
end
|
@@ -10,6 +10,7 @@ require 'ingenico/direct/sdk/domain/three_d_secure_data'
|
|
10
10
|
module Ingenico::Direct::SDK
|
11
11
|
module Domain
|
12
12
|
|
13
|
+
# @attr [Long] authentication_amount
|
13
14
|
# @attr [String] challenge_canvas_size
|
14
15
|
# @attr [String] challenge_indicator
|
15
16
|
# @attr [String] exemption_request
|
@@ -21,6 +22,7 @@ module Ingenico::Direct::SDK
|
|
21
22
|
# @attr [true/false] skip_authentication
|
22
23
|
# @attr [true/false] skip_soft_decline
|
23
24
|
class ThreeDSecure < Ingenico::Direct::SDK::DataObject
|
25
|
+
attr_accessor :authentication_amount
|
24
26
|
attr_accessor :challenge_canvas_size
|
25
27
|
attr_accessor :challenge_indicator
|
26
28
|
attr_accessor :exemption_request
|
@@ -35,6 +37,7 @@ module Ingenico::Direct::SDK
|
|
35
37
|
# @return (Hash)
|
36
38
|
def to_h
|
37
39
|
hash = super
|
40
|
+
hash['authenticationAmount'] = @authentication_amount unless @authentication_amount.nil?
|
38
41
|
hash['challengeCanvasSize'] = @challenge_canvas_size unless @challenge_canvas_size.nil?
|
39
42
|
hash['challengeIndicator'] = @challenge_indicator unless @challenge_indicator.nil?
|
40
43
|
hash['exemptionRequest'] = @exemption_request unless @exemption_request.nil?
|
@@ -50,6 +53,7 @@ module Ingenico::Direct::SDK
|
|
50
53
|
|
51
54
|
def from_hash(hash)
|
52
55
|
super
|
56
|
+
@authentication_amount = hash['authenticationAmount'] if hash.key? 'authenticationAmount'
|
53
57
|
@challenge_canvas_size = hash['challengeCanvasSize'] if hash.key? 'challengeCanvasSize'
|
54
58
|
@challenge_indicator = hash['challengeIndicator'] if hash.key? 'challengeIndicator'
|
55
59
|
@exemption_request = hash['exemptionRequest'] if hash.key? 'exemptionRequest'
|
@@ -13,6 +13,7 @@ require 'ingenico/direct/sdk/domain/complete_payment_response'
|
|
13
13
|
require 'ingenico/direct/sdk/domain/create_payment_request'
|
14
14
|
require 'ingenico/direct/sdk/domain/create_payment_response'
|
15
15
|
require 'ingenico/direct/sdk/domain/error_response'
|
16
|
+
require 'ingenico/direct/sdk/domain/payment_details_response'
|
16
17
|
require 'ingenico/direct/sdk/domain/payment_error_response'
|
17
18
|
require 'ingenico/direct/sdk/domain/payment_response'
|
18
19
|
require 'ingenico/direct/sdk/domain/refund_error_response'
|
@@ -255,6 +256,37 @@ module Ingenico::Direct::SDK
|
|
255
256
|
raise create_exception(e.status_code, e.body, error_object, context)
|
256
257
|
end
|
257
258
|
|
259
|
+
# Resource /v2/!{merchantId}/payments/!{paymentId}/details - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetPaymentDetailsApi Get payment details}
|
260
|
+
# @param payment_id [String]
|
261
|
+
# @param context [Ingenico::Direct::SDK::CallContext]
|
262
|
+
# @return [Ingenico::Direct::SDK::Domain::PaymentDetailsResponse]
|
263
|
+
# @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
264
|
+
# @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
265
|
+
# @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
|
266
|
+
# @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
267
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
268
|
+
# @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
|
269
|
+
# the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
|
270
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
271
|
+
# @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
|
272
|
+
def get_payment_details(payment_id, context = nil)
|
273
|
+
path_context = {
|
274
|
+
'paymentId'.freeze => payment_id,
|
275
|
+
}
|
276
|
+
uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/details', path_context)
|
277
|
+
@communicator.get(
|
278
|
+
uri,
|
279
|
+
client_headers,
|
280
|
+
nil,
|
281
|
+
Ingenico::Direct::SDK::Domain::PaymentDetailsResponse,
|
282
|
+
context
|
283
|
+
)
|
284
|
+
rescue ResponseException => e
|
285
|
+
error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
|
286
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
287
|
+
raise create_exception(e.status_code, e.body, error_object, context)
|
288
|
+
end
|
289
|
+
|
258
290
|
# Resource /v2/!{merchantId}/payments/!{paymentId}/refunds - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetRefundsApi Get Refunds Api}
|
259
291
|
# @param payment_id [String]
|
260
292
|
# @param context [Ingenico::Direct::SDK::CallContext]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: direct-sdk-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ingenico ePayments
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|
@@ -174,7 +174,6 @@ files:
|
|
174
174
|
- lib/ingenico/direct/sdk/domain/card_fraud_results.rb
|
175
175
|
- lib/ingenico/direct/sdk/domain/card_payment_method_specific_input.rb
|
176
176
|
- lib/ingenico/direct/sdk/domain/card_payment_method_specific_input_base.rb
|
177
|
-
- lib/ingenico/direct/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.rb
|
178
177
|
- lib/ingenico/direct/sdk/domain/card_payment_method_specific_output.rb
|
179
178
|
- lib/ingenico/direct/sdk/domain/card_payout_method_specific_input.rb
|
180
179
|
- lib/ingenico/direct/sdk/domain/card_recurrence_details.rb
|
@@ -225,12 +224,14 @@ files:
|
|
225
224
|
- lib/ingenico/direct/sdk/domain/line_item.rb
|
226
225
|
- lib/ingenico/direct/sdk/domain/line_item_invoice_data.rb
|
227
226
|
- lib/ingenico/direct/sdk/domain/loan_recipient.rb
|
227
|
+
- lib/ingenico/direct/sdk/domain/lodging_data.rb
|
228
228
|
- lib/ingenico/direct/sdk/domain/merchant_action.rb
|
229
229
|
- lib/ingenico/direct/sdk/domain/mobile_payment_data.rb
|
230
230
|
- lib/ingenico/direct/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.rb
|
231
231
|
- lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_input.rb
|
232
232
|
- lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_output.rb
|
233
233
|
- lib/ingenico/direct/sdk/domain/mobile_payment_product320_specific_input.rb
|
234
|
+
- lib/ingenico/direct/sdk/domain/operation_output.rb
|
234
235
|
- lib/ingenico/direct/sdk/domain/order.rb
|
235
236
|
- lib/ingenico/direct/sdk/domain/order_line_details.rb
|
236
237
|
- lib/ingenico/direct/sdk/domain/order_references.rb
|
@@ -239,6 +240,7 @@ files:
|
|
239
240
|
- lib/ingenico/direct/sdk/domain/payment_account_on_file.rb
|
240
241
|
- lib/ingenico/direct/sdk/domain/payment_context.rb
|
241
242
|
- lib/ingenico/direct/sdk/domain/payment_creation_output.rb
|
243
|
+
- lib/ingenico/direct/sdk/domain/payment_details_response.rb
|
242
244
|
- lib/ingenico/direct/sdk/domain/payment_error_response.rb
|
243
245
|
- lib/ingenico/direct/sdk/domain/payment_output.rb
|
244
246
|
- lib/ingenico/direct/sdk/domain/payment_product.rb
|