connect-sdk-ruby 1.33.0 → 1.34.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/connect-sdk-ruby.gemspec +1 -1
- data/examples/merchant/payments/create_payment_example.rb +64 -18
- data/examples/merchant/riskassessments/risk_assessment_cards_example.rb +1 -1
- data/lib/ingenico/connect/sdk/domain/definitions/airline_data.rb +2 -0
- data/lib/ingenico/connect/sdk/domain/definitions/company_information.rb +7 -0
- data/lib/ingenico/connect/sdk/domain/definitions/customer_base.rb +2 -0
- data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields.rb +24 -0
- data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields_shipping_details.rb +7 -0
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_request.rb +11 -0
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/created_payment_output.rb +1 -1
- data/lib/ingenico/connect/sdk/domain/payment/abstract_card_payment_method_specific_input.rb +24 -0
- data/lib/ingenico/connect/sdk/domain/payment/abstract_sepa_direct_debit_payment_product771_specific_input.rb +1 -1
- data/lib/ingenico/connect/sdk/domain/payment/abstract_three_d_secure.rb +74 -0
- data/lib/ingenico/connect/sdk/domain/payment/additional_order_input.rb +1 -1
- data/lib/ingenico/connect/sdk/domain/payment/browser_data.rb +73 -0
- data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input.rb +15 -0
- data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input_base.rb +20 -0
- data/lib/ingenico/connect/sdk/domain/payment/card_recurrence_details.rb +45 -0
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_method_specific_input.rb +2 -0
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1503_specific_input.rb +3 -0
- data/lib/ingenico/connect/sdk/domain/payment/complete_payment_request.rb +11 -0
- data/lib/ingenico/connect/sdk/domain/payment/contact_details.rb +14 -0
- data/lib/ingenico/connect/sdk/domain/payment/create_payment_request.rb +11 -0
- data/lib/ingenico/connect/sdk/domain/payment/customer.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/payment/customer_account.rb +120 -0
- data/lib/ingenico/connect/sdk/domain/payment/customer_account_authentication.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/payment/customer_approve_payment.rb +31 -0
- data/lib/ingenico/connect/sdk/domain/payment/customer_device.rb +84 -0
- data/lib/ingenico/connect/sdk/domain/payment/customer_payment_activity.rb +45 -0
- data/lib/ingenico/connect/sdk/domain/payment/device_render_options.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/payment/external_cardholder_authentication_data.rb +21 -0
- data/lib/ingenico/connect/sdk/domain/payment/gift_card_purchase.rb +42 -0
- data/lib/ingenico/connect/sdk/domain/payment/level3_summary_data.rb +4 -4
- data/lib/ingenico/connect/sdk/domain/payment/merchant.rb +49 -0
- data/lib/ingenico/connect/sdk/domain/payment/merchant_action.rb +11 -0
- data/lib/ingenico/connect/sdk/domain/payment/mobile_three_d_secure_challenge_parameters.rb +52 -0
- data/lib/ingenico/connect/sdk/domain/payment/order.rb +3 -1
- data/lib/ingenico/connect/sdk/domain/payment/order_approve_payment.rb +11 -0
- data/lib/ingenico/connect/sdk/domain/payment/order_type_information.rb +7 -0
- data/lib/ingenico/connect/sdk/domain/payment/payment_account_on_file.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input.rb +13 -0
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input.rb +1 -1
- data/lib/ingenico/connect/sdk/domain/payment/redirection_data.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/payment/sdk_data_input.rb +84 -0
- data/lib/ingenico/connect/sdk/domain/payment/sdk_data_output.rb +31 -0
- data/lib/ingenico/connect/sdk/domain/payment/shipping.rb +53 -0
- data/lib/ingenico/connect/sdk/domain/payment/shopping_cart.rb +32 -0
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure.rb +46 -0
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_base.rb +15 -0
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_data.rb +45 -0
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_results.rb +43 -0
- data/lib/ingenico/connect/sdk/domain/payout/create_payout_request.rb +6 -6
- data/lib/ingenico/connect/sdk/domain/product/value_mapping_element.rb +1 -1
- data/lib/ingenico/connect/sdk/domain/riskassessments/customer_account_risk_assessment.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/riskassessments/customer_device_risk_assessment.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/riskassessments/customer_risk_assessment.rb +38 -0
- data/lib/ingenico/connect/sdk/domain/riskassessments/merchant_risk_assessment.rb +31 -0
- data/lib/ingenico/connect/sdk/domain/riskassessments/order_risk_assessment.rb +11 -0
- data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment.rb +11 -0
- data/lib/ingenico/connect/sdk/domain/riskassessments/shipping_risk_assessment.rb +49 -0
- data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
- metadata +25 -2
@@ -0,0 +1,74 @@
|
|
1
|
+
#
|
2
|
+
# This class was auto-generated from the API references found at
|
3
|
+
# https://epayments-api.developer-ingenico.com/s2sapi/v1/
|
4
|
+
#
|
5
|
+
require 'ingenico/connect/sdk/data_object'
|
6
|
+
require 'ingenico/connect/sdk/domain/payment/sdk_data_input'
|
7
|
+
require 'ingenico/connect/sdk/domain/payment/three_d_secure_data'
|
8
|
+
|
9
|
+
module Ingenico::Connect::SDK
|
10
|
+
module Domain
|
11
|
+
module Payment
|
12
|
+
|
13
|
+
class AbstractThreeDSecure < Ingenico::Connect::SDK::DataObject
|
14
|
+
|
15
|
+
# String
|
16
|
+
attr_accessor :authentication_flow
|
17
|
+
|
18
|
+
# String
|
19
|
+
attr_accessor :challenge_canvas_size
|
20
|
+
|
21
|
+
# String
|
22
|
+
attr_accessor :challenge_indicator
|
23
|
+
|
24
|
+
# {Ingenico::Connect::SDK::Domain::Payment::ThreeDSecureData}
|
25
|
+
attr_accessor :prior_three_d_secure_data
|
26
|
+
|
27
|
+
# {Ingenico::Connect::SDK::Domain::Payment::SdkDataInput}
|
28
|
+
attr_accessor :sdk_data
|
29
|
+
|
30
|
+
# true/false
|
31
|
+
attr_accessor :skip_authentication
|
32
|
+
|
33
|
+
def to_h
|
34
|
+
hash = super
|
35
|
+
add_to_hash(hash, 'authenticationFlow', @authentication_flow)
|
36
|
+
add_to_hash(hash, 'challengeCanvasSize', @challenge_canvas_size)
|
37
|
+
add_to_hash(hash, 'challengeIndicator', @challenge_indicator)
|
38
|
+
add_to_hash(hash, 'priorThreeDSecureData', @prior_three_d_secure_data)
|
39
|
+
add_to_hash(hash, 'sdkData', @sdk_data)
|
40
|
+
add_to_hash(hash, 'skipAuthentication', @skip_authentication)
|
41
|
+
hash
|
42
|
+
end
|
43
|
+
|
44
|
+
def from_hash(hash)
|
45
|
+
super
|
46
|
+
if hash.has_key?('authenticationFlow')
|
47
|
+
@authentication_flow = hash['authenticationFlow']
|
48
|
+
end
|
49
|
+
if hash.has_key?('challengeCanvasSize')
|
50
|
+
@challenge_canvas_size = hash['challengeCanvasSize']
|
51
|
+
end
|
52
|
+
if hash.has_key?('challengeIndicator')
|
53
|
+
@challenge_indicator = hash['challengeIndicator']
|
54
|
+
end
|
55
|
+
if hash.has_key?('priorThreeDSecureData')
|
56
|
+
if !(hash['priorThreeDSecureData'].is_a? Hash)
|
57
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['priorThreeDSecureData']]
|
58
|
+
end
|
59
|
+
@prior_three_d_secure_data = Ingenico::Connect::SDK::Domain::Payment::ThreeDSecureData.new_from_hash(hash['priorThreeDSecureData'])
|
60
|
+
end
|
61
|
+
if hash.has_key?('sdkData')
|
62
|
+
if !(hash['sdkData'].is_a? Hash)
|
63
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['sdkData']]
|
64
|
+
end
|
65
|
+
@sdk_data = Ingenico::Connect::SDK::Domain::Payment::SdkDataInput.new_from_hash(hash['sdkData'])
|
66
|
+
end
|
67
|
+
if hash.has_key?('skipAuthentication')
|
68
|
+
@skip_authentication = hash['skipAuthentication']
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -18,7 +18,7 @@ module Ingenico::Connect::SDK
|
|
18
18
|
|
19
19
|
# {Ingenico::Connect::SDK::Domain::Payment::Level3SummaryData}
|
20
20
|
#
|
21
|
-
# Deprecated; Use Order.shoppingCart instead
|
21
|
+
# Deprecated; Use Order.shoppingCart.amountBreakdown instead
|
22
22
|
attr_accessor :level3_summary_data
|
23
23
|
|
24
24
|
# Integer
|
@@ -0,0 +1,73 @@
|
|
1
|
+
#
|
2
|
+
# This class was auto-generated from the API references found at
|
3
|
+
# https://epayments-api.developer-ingenico.com/s2sapi/v1/
|
4
|
+
#
|
5
|
+
require 'ingenico/connect/sdk/data_object'
|
6
|
+
|
7
|
+
module Ingenico::Connect::SDK
|
8
|
+
module Domain
|
9
|
+
module Payment
|
10
|
+
|
11
|
+
class BrowserData < Ingenico::Connect::SDK::DataObject
|
12
|
+
|
13
|
+
# Integer
|
14
|
+
attr_accessor :color_depth
|
15
|
+
|
16
|
+
# String
|
17
|
+
attr_accessor :inner_height
|
18
|
+
|
19
|
+
# String
|
20
|
+
attr_accessor :inner_width
|
21
|
+
|
22
|
+
# true/false
|
23
|
+
attr_accessor :java_enabled
|
24
|
+
|
25
|
+
# true/false
|
26
|
+
attr_accessor :java_script_enabled
|
27
|
+
|
28
|
+
# String
|
29
|
+
attr_accessor :screen_height
|
30
|
+
|
31
|
+
# String
|
32
|
+
attr_accessor :screen_width
|
33
|
+
|
34
|
+
def to_h
|
35
|
+
hash = super
|
36
|
+
add_to_hash(hash, 'colorDepth', @color_depth)
|
37
|
+
add_to_hash(hash, 'innerHeight', @inner_height)
|
38
|
+
add_to_hash(hash, 'innerWidth', @inner_width)
|
39
|
+
add_to_hash(hash, 'javaEnabled', @java_enabled)
|
40
|
+
add_to_hash(hash, 'javaScriptEnabled', @java_script_enabled)
|
41
|
+
add_to_hash(hash, 'screenHeight', @screen_height)
|
42
|
+
add_to_hash(hash, 'screenWidth', @screen_width)
|
43
|
+
hash
|
44
|
+
end
|
45
|
+
|
46
|
+
def from_hash(hash)
|
47
|
+
super
|
48
|
+
if hash.has_key?('colorDepth')
|
49
|
+
@color_depth = hash['colorDepth']
|
50
|
+
end
|
51
|
+
if hash.has_key?('innerHeight')
|
52
|
+
@inner_height = hash['innerHeight']
|
53
|
+
end
|
54
|
+
if hash.has_key?('innerWidth')
|
55
|
+
@inner_width = hash['innerWidth']
|
56
|
+
end
|
57
|
+
if hash.has_key?('javaEnabled')
|
58
|
+
@java_enabled = hash['javaEnabled']
|
59
|
+
end
|
60
|
+
if hash.has_key?('javaScriptEnabled')
|
61
|
+
@java_script_enabled = hash['javaScriptEnabled']
|
62
|
+
end
|
63
|
+
if hash.has_key?('screenHeight')
|
64
|
+
@screen_height = hash['screenHeight']
|
65
|
+
end
|
66
|
+
if hash.has_key?('screenWidth')
|
67
|
+
@screen_width = hash['screenWidth']
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -5,6 +5,7 @@
|
|
5
5
|
require 'ingenico/connect/sdk/domain/definitions/card'
|
6
6
|
require 'ingenico/connect/sdk/domain/payment/abstract_card_payment_method_specific_input'
|
7
7
|
require 'ingenico/connect/sdk/domain/payment/external_cardholder_authentication_data'
|
8
|
+
require 'ingenico/connect/sdk/domain/payment/three_d_secure'
|
8
9
|
|
9
10
|
module Ingenico::Connect::SDK
|
10
11
|
module Domain
|
@@ -16,20 +17,28 @@ module Ingenico::Connect::SDK
|
|
16
17
|
attr_accessor :card
|
17
18
|
|
18
19
|
# {Ingenico::Connect::SDK::Domain::Payment::ExternalCardholderAuthenticationData}
|
20
|
+
#
|
21
|
+
# Deprecated; Use threeDSecure.externalCardholderAuthenticationData instead
|
19
22
|
attr_accessor :external_cardholder_authentication_data
|
20
23
|
|
21
24
|
# true/false
|
22
25
|
attr_accessor :is_recurring
|
23
26
|
|
24
27
|
# String
|
28
|
+
#
|
29
|
+
# Deprecated; Use threeDSecure.redirectionData.returnUrl instead
|
25
30
|
attr_accessor :return_url
|
26
31
|
|
32
|
+
# {Ingenico::Connect::SDK::Domain::Payment::ThreeDSecure}
|
33
|
+
attr_accessor :three_d_secure
|
34
|
+
|
27
35
|
def to_h
|
28
36
|
hash = super
|
29
37
|
add_to_hash(hash, 'card', @card)
|
30
38
|
add_to_hash(hash, 'externalCardholderAuthenticationData', @external_cardholder_authentication_data)
|
31
39
|
add_to_hash(hash, 'isRecurring', @is_recurring)
|
32
40
|
add_to_hash(hash, 'returnUrl', @return_url)
|
41
|
+
add_to_hash(hash, 'threeDSecure', @three_d_secure)
|
33
42
|
hash
|
34
43
|
end
|
35
44
|
|
@@ -53,6 +62,12 @@ module Ingenico::Connect::SDK
|
|
53
62
|
if hash.has_key?('returnUrl')
|
54
63
|
@return_url = hash['returnUrl']
|
55
64
|
end
|
65
|
+
if hash.has_key?('threeDSecure')
|
66
|
+
if !(hash['threeDSecure'].is_a? Hash)
|
67
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']]
|
68
|
+
end
|
69
|
+
@three_d_secure = Ingenico::Connect::SDK::Domain::Payment::ThreeDSecure.new_from_hash(hash['threeDSecure'])
|
70
|
+
end
|
56
71
|
end
|
57
72
|
end
|
58
73
|
end
|
@@ -3,12 +3,32 @@
|
|
3
3
|
# https://epayments-api.developer-ingenico.com/s2sapi/v1/
|
4
4
|
#
|
5
5
|
require 'ingenico/connect/sdk/domain/payment/abstract_card_payment_method_specific_input'
|
6
|
+
require 'ingenico/connect/sdk/domain/payment/three_d_secure_base'
|
6
7
|
|
7
8
|
module Ingenico::Connect::SDK
|
8
9
|
module Domain
|
9
10
|
module Payment
|
10
11
|
|
11
12
|
class CardPaymentMethodSpecificInputBase < Ingenico::Connect::SDK::Domain::Payment::AbstractCardPaymentMethodSpecificInput
|
13
|
+
|
14
|
+
# {Ingenico::Connect::SDK::Domain::Payment::ThreeDSecureBase}
|
15
|
+
attr_accessor :three_d_secure
|
16
|
+
|
17
|
+
def to_h
|
18
|
+
hash = super
|
19
|
+
add_to_hash(hash, 'threeDSecure', @three_d_secure)
|
20
|
+
hash
|
21
|
+
end
|
22
|
+
|
23
|
+
def from_hash(hash)
|
24
|
+
super
|
25
|
+
if hash.has_key?('threeDSecure')
|
26
|
+
if !(hash['threeDSecure'].is_a? Hash)
|
27
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']]
|
28
|
+
end
|
29
|
+
@three_d_secure = Ingenico::Connect::SDK::Domain::Payment::ThreeDSecureBase.new_from_hash(hash['threeDSecure'])
|
30
|
+
end
|
31
|
+
end
|
12
32
|
end
|
13
33
|
end
|
14
34
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
# This class was auto-generated from the API references found at
|
3
|
+
# https://epayments-api.developer-ingenico.com/s2sapi/v1/
|
4
|
+
#
|
5
|
+
require 'ingenico/connect/sdk/data_object'
|
6
|
+
|
7
|
+
module Ingenico::Connect::SDK
|
8
|
+
module Domain
|
9
|
+
module Payment
|
10
|
+
|
11
|
+
class CardRecurrenceDetails < Ingenico::Connect::SDK::DataObject
|
12
|
+
|
13
|
+
# String
|
14
|
+
attr_accessor :end_date
|
15
|
+
|
16
|
+
# Integer
|
17
|
+
attr_accessor :min_frequency
|
18
|
+
|
19
|
+
# String
|
20
|
+
attr_accessor :recurring_payment_sequence_indicator
|
21
|
+
|
22
|
+
def to_h
|
23
|
+
hash = super
|
24
|
+
add_to_hash(hash, 'endDate', @end_date)
|
25
|
+
add_to_hash(hash, 'minFrequency', @min_frequency)
|
26
|
+
add_to_hash(hash, 'recurringPaymentSequenceIndicator', @recurring_payment_sequence_indicator)
|
27
|
+
hash
|
28
|
+
end
|
29
|
+
|
30
|
+
def from_hash(hash)
|
31
|
+
super
|
32
|
+
if hash.has_key?('endDate')
|
33
|
+
@end_date = hash['endDate']
|
34
|
+
end
|
35
|
+
if hash.has_key?('minFrequency')
|
36
|
+
@min_frequency = hash['minFrequency']
|
37
|
+
end
|
38
|
+
if hash.has_key?('recurringPaymentSequenceIndicator')
|
39
|
+
@recurring_payment_sequence_indicator = hash['recurringPaymentSequenceIndicator']
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -13,6 +13,8 @@ module Ingenico::Connect::SDK
|
|
13
13
|
class CashPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::AbstractCashPaymentMethodSpecificInput
|
14
14
|
|
15
15
|
# {Ingenico::Connect::SDK::Domain::Payment::CashPaymentProduct1503SpecificInput}
|
16
|
+
#
|
17
|
+
# Deprecated; No replacement
|
16
18
|
attr_accessor :payment_product1503_specific_input
|
17
19
|
|
18
20
|
# {Ingenico::Connect::SDK::Domain::Payment::CashPaymentProduct1504SpecificInput}
|
@@ -8,9 +8,12 @@ module Ingenico::Connect::SDK
|
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
+
# Deprecated; No replacement
|
11
12
|
class CashPaymentProduct1503SpecificInput < Ingenico::Connect::SDK::DataObject
|
12
13
|
|
13
14
|
# String
|
15
|
+
#
|
16
|
+
# Deprecated; No replacement, since Boleto Bancario no longer needs a return URL
|
14
17
|
attr_accessor :return_url
|
15
18
|
|
16
19
|
def to_h
|
@@ -4,6 +4,7 @@
|
|
4
4
|
#
|
5
5
|
require 'ingenico/connect/sdk/data_object'
|
6
6
|
require 'ingenico/connect/sdk/domain/payment/complete_payment_card_payment_method_specific_input'
|
7
|
+
require 'ingenico/connect/sdk/domain/payment/merchant'
|
7
8
|
require 'ingenico/connect/sdk/domain/payment/order'
|
8
9
|
|
9
10
|
module Ingenico::Connect::SDK
|
@@ -15,12 +16,16 @@ module Ingenico::Connect::SDK
|
|
15
16
|
# {Ingenico::Connect::SDK::Domain::Payment::CompletePaymentCardPaymentMethodSpecificInput}
|
16
17
|
attr_accessor :card_payment_method_specific_input
|
17
18
|
|
19
|
+
# {Ingenico::Connect::SDK::Domain::Payment::Merchant}
|
20
|
+
attr_accessor :merchant
|
21
|
+
|
18
22
|
# {Ingenico::Connect::SDK::Domain::Payment::Order}
|
19
23
|
attr_accessor :order
|
20
24
|
|
21
25
|
def to_h
|
22
26
|
hash = super
|
23
27
|
add_to_hash(hash, 'cardPaymentMethodSpecificInput', @card_payment_method_specific_input)
|
28
|
+
add_to_hash(hash, 'merchant', @merchant)
|
24
29
|
add_to_hash(hash, 'order', @order)
|
25
30
|
hash
|
26
31
|
end
|
@@ -33,6 +38,12 @@ module Ingenico::Connect::SDK
|
|
33
38
|
end
|
34
39
|
@card_payment_method_specific_input = Ingenico::Connect::SDK::Domain::Payment::CompletePaymentCardPaymentMethodSpecificInput.new_from_hash(hash['cardPaymentMethodSpecificInput'])
|
35
40
|
end
|
41
|
+
if hash.has_key?('merchant')
|
42
|
+
if !(hash['merchant'].is_a? Hash)
|
43
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['merchant']]
|
44
|
+
end
|
45
|
+
@merchant = Ingenico::Connect::SDK::Domain::Payment::Merchant.new_from_hash(hash['merchant'])
|
46
|
+
end
|
36
47
|
if hash.has_key?('order')
|
37
48
|
if !(hash['order'].is_a? Hash)
|
38
49
|
raise TypeError, "value '%s' is not a Hash" % [hash['order']]
|
@@ -13,13 +13,21 @@ module Ingenico::Connect::SDK
|
|
13
13
|
# String
|
14
14
|
attr_accessor :fax_number
|
15
15
|
|
16
|
+
# String
|
17
|
+
attr_accessor :mobile_phone_number
|
18
|
+
|
16
19
|
# String
|
17
20
|
attr_accessor :phone_number
|
18
21
|
|
22
|
+
# String
|
23
|
+
attr_accessor :work_phone_number
|
24
|
+
|
19
25
|
def to_h
|
20
26
|
hash = super
|
21
27
|
add_to_hash(hash, 'faxNumber', @fax_number)
|
28
|
+
add_to_hash(hash, 'mobilePhoneNumber', @mobile_phone_number)
|
22
29
|
add_to_hash(hash, 'phoneNumber', @phone_number)
|
30
|
+
add_to_hash(hash, 'workPhoneNumber', @work_phone_number)
|
23
31
|
hash
|
24
32
|
end
|
25
33
|
|
@@ -28,9 +36,15 @@ module Ingenico::Connect::SDK
|
|
28
36
|
if hash.has_key?('faxNumber')
|
29
37
|
@fax_number = hash['faxNumber']
|
30
38
|
end
|
39
|
+
if hash.has_key?('mobilePhoneNumber')
|
40
|
+
@mobile_phone_number = hash['mobilePhoneNumber']
|
41
|
+
end
|
31
42
|
if hash.has_key?('phoneNumber')
|
32
43
|
@phone_number = hash['phoneNumber']
|
33
44
|
end
|
45
|
+
if hash.has_key?('workPhoneNumber')
|
46
|
+
@work_phone_number = hash['workPhoneNumber']
|
47
|
+
end
|
34
48
|
end
|
35
49
|
end
|
36
50
|
end
|
@@ -9,6 +9,7 @@ require 'ingenico/connect/sdk/domain/payment/card_payment_method_specific_input'
|
|
9
9
|
require 'ingenico/connect/sdk/domain/payment/cash_payment_method_specific_input'
|
10
10
|
require 'ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input'
|
11
11
|
require 'ingenico/connect/sdk/domain/payment/invoice_payment_method_specific_input'
|
12
|
+
require 'ingenico/connect/sdk/domain/payment/merchant'
|
12
13
|
require 'ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_input'
|
13
14
|
require 'ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_input'
|
14
15
|
require 'ingenico/connect/sdk/domain/payment/order'
|
@@ -45,6 +46,9 @@ module Ingenico::Connect::SDK
|
|
45
46
|
# {Ingenico::Connect::SDK::Domain::Payment::InvoicePaymentMethodSpecificInput}
|
46
47
|
attr_accessor :invoice_payment_method_specific_input
|
47
48
|
|
49
|
+
# {Ingenico::Connect::SDK::Domain::Payment::Merchant}
|
50
|
+
attr_accessor :merchant
|
51
|
+
|
48
52
|
# {Ingenico::Connect::SDK::Domain::Payment::MobilePaymentMethodSpecificInput}
|
49
53
|
attr_accessor :mobile_payment_method_specific_input
|
50
54
|
|
@@ -67,6 +71,7 @@ module Ingenico::Connect::SDK
|
|
67
71
|
add_to_hash(hash, 'encryptedCustomerInput', @encrypted_customer_input)
|
68
72
|
add_to_hash(hash, 'fraudFields', @fraud_fields)
|
69
73
|
add_to_hash(hash, 'invoicePaymentMethodSpecificInput', @invoice_payment_method_specific_input)
|
74
|
+
add_to_hash(hash, 'merchant', @merchant)
|
70
75
|
add_to_hash(hash, 'mobilePaymentMethodSpecificInput', @mobile_payment_method_specific_input)
|
71
76
|
add_to_hash(hash, 'order', @order)
|
72
77
|
add_to_hash(hash, 'redirectPaymentMethodSpecificInput', @redirect_payment_method_specific_input)
|
@@ -121,6 +126,12 @@ module Ingenico::Connect::SDK
|
|
121
126
|
end
|
122
127
|
@invoice_payment_method_specific_input = Ingenico::Connect::SDK::Domain::Payment::InvoicePaymentMethodSpecificInput.new_from_hash(hash['invoicePaymentMethodSpecificInput'])
|
123
128
|
end
|
129
|
+
if hash.has_key?('merchant')
|
130
|
+
if !(hash['merchant'].is_a? Hash)
|
131
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['merchant']]
|
132
|
+
end
|
133
|
+
@merchant = Ingenico::Connect::SDK::Domain::Payment::Merchant.new_from_hash(hash['merchant'])
|
134
|
+
end
|
124
135
|
if hash.has_key?('mobilePaymentMethodSpecificInput')
|
125
136
|
if !(hash['mobilePaymentMethodSpecificInput'].is_a? Hash)
|
126
137
|
raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']]
|
@@ -6,6 +6,8 @@ require 'ingenico/connect/sdk/domain/definitions/address'
|
|
6
6
|
require 'ingenico/connect/sdk/domain/definitions/customer_base'
|
7
7
|
require 'ingenico/connect/sdk/domain/payment/address_personal'
|
8
8
|
require 'ingenico/connect/sdk/domain/payment/contact_details'
|
9
|
+
require 'ingenico/connect/sdk/domain/payment/customer_account'
|
10
|
+
require 'ingenico/connect/sdk/domain/payment/customer_device'
|
9
11
|
require 'ingenico/connect/sdk/domain/payment/personal_information'
|
10
12
|
|
11
13
|
module Ingenico::Connect::SDK
|
@@ -14,15 +16,27 @@ module Ingenico::Connect::SDK
|
|
14
16
|
|
15
17
|
class Customer < Ingenico::Connect::SDK::Domain::Definitions::CustomerBase
|
16
18
|
|
19
|
+
# {Ingenico::Connect::SDK::Domain::Payment::CustomerAccount}
|
20
|
+
attr_accessor :account
|
21
|
+
|
22
|
+
# String
|
23
|
+
attr_accessor :account_type
|
24
|
+
|
17
25
|
# {Ingenico::Connect::SDK::Domain::Definitions::Address}
|
18
26
|
attr_accessor :billing_address
|
19
27
|
|
20
28
|
# {Ingenico::Connect::SDK::Domain::Payment::ContactDetails}
|
21
29
|
attr_accessor :contact_details
|
22
30
|
|
31
|
+
# {Ingenico::Connect::SDK::Domain::Payment::CustomerDevice}
|
32
|
+
attr_accessor :device
|
33
|
+
|
23
34
|
# String
|
24
35
|
attr_accessor :fiscal_number
|
25
36
|
|
37
|
+
# true/false
|
38
|
+
attr_accessor :is_previous_customer
|
39
|
+
|
26
40
|
# String
|
27
41
|
attr_accessor :locale
|
28
42
|
|
@@ -30,13 +44,19 @@ module Ingenico::Connect::SDK
|
|
30
44
|
attr_accessor :personal_information
|
31
45
|
|
32
46
|
# {Ingenico::Connect::SDK::Domain::Payment::AddressPersonal}
|
47
|
+
#
|
48
|
+
# Deprecated; Use Order.shipping.address instead
|
33
49
|
attr_accessor :shipping_address
|
34
50
|
|
35
51
|
def to_h
|
36
52
|
hash = super
|
53
|
+
add_to_hash(hash, 'account', @account)
|
54
|
+
add_to_hash(hash, 'accountType', @account_type)
|
37
55
|
add_to_hash(hash, 'billingAddress', @billing_address)
|
38
56
|
add_to_hash(hash, 'contactDetails', @contact_details)
|
57
|
+
add_to_hash(hash, 'device', @device)
|
39
58
|
add_to_hash(hash, 'fiscalNumber', @fiscal_number)
|
59
|
+
add_to_hash(hash, 'isPreviousCustomer', @is_previous_customer)
|
40
60
|
add_to_hash(hash, 'locale', @locale)
|
41
61
|
add_to_hash(hash, 'personalInformation', @personal_information)
|
42
62
|
add_to_hash(hash, 'shippingAddress', @shipping_address)
|
@@ -45,6 +65,15 @@ module Ingenico::Connect::SDK
|
|
45
65
|
|
46
66
|
def from_hash(hash)
|
47
67
|
super
|
68
|
+
if hash.has_key?('account')
|
69
|
+
if !(hash['account'].is_a? Hash)
|
70
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['account']]
|
71
|
+
end
|
72
|
+
@account = Ingenico::Connect::SDK::Domain::Payment::CustomerAccount.new_from_hash(hash['account'])
|
73
|
+
end
|
74
|
+
if hash.has_key?('accountType')
|
75
|
+
@account_type = hash['accountType']
|
76
|
+
end
|
48
77
|
if hash.has_key?('billingAddress')
|
49
78
|
if !(hash['billingAddress'].is_a? Hash)
|
50
79
|
raise TypeError, "value '%s' is not a Hash" % [hash['billingAddress']]
|
@@ -57,9 +86,18 @@ module Ingenico::Connect::SDK
|
|
57
86
|
end
|
58
87
|
@contact_details = Ingenico::Connect::SDK::Domain::Payment::ContactDetails.new_from_hash(hash['contactDetails'])
|
59
88
|
end
|
89
|
+
if hash.has_key?('device')
|
90
|
+
if !(hash['device'].is_a? Hash)
|
91
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['device']]
|
92
|
+
end
|
93
|
+
@device = Ingenico::Connect::SDK::Domain::Payment::CustomerDevice.new_from_hash(hash['device'])
|
94
|
+
end
|
60
95
|
if hash.has_key?('fiscalNumber')
|
61
96
|
@fiscal_number = hash['fiscalNumber']
|
62
97
|
end
|
98
|
+
if hash.has_key?('isPreviousCustomer')
|
99
|
+
@is_previous_customer = hash['isPreviousCustomer']
|
100
|
+
end
|
63
101
|
if hash.has_key?('locale')
|
64
102
|
@locale = hash['locale']
|
65
103
|
end
|