connect-sdk-ruby 1.12.0 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/connect-sdk-ruby.gemspec +1 -1
  3. data/examples/merchant/mandates/block_mandate_example.rb +22 -0
  4. data/examples/merchant/mandates/create_mandate_example.rb +66 -0
  5. data/examples/merchant/mandates/get_mandate_example.rb +22 -0
  6. data/examples/merchant/mandates/revoke_mandate_example.rb +22 -0
  7. data/examples/merchant/mandates/unblock_mandate_example.rb +22 -0
  8. data/examples/merchant/products/get_customer_details_example.rb +1 -1
  9. data/lib/ingenico/connect/sdk/domain/definitions/redirect_data_base.rb +38 -0
  10. data/lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_request.rb +22 -0
  11. data/lib/ingenico/connect/sdk/domain/hostedcheckout/hosted_checkout_specific_input.rb +7 -0
  12. data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_base.rb +70 -0
  13. data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_request.rb +15 -0
  14. data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_response.rb +46 -0
  15. data/lib/ingenico/connect/sdk/domain/mandates/get_mandate_response.rb +35 -0
  16. data/lib/ingenico/connect/sdk/domain/mandates/mandate_address.rb +59 -0
  17. data/lib/ingenico/connect/sdk/domain/mandates/mandate_contact_details.rb +38 -0
  18. data/lib/ingenico/connect/sdk/domain/mandates/mandate_customer.rb +75 -0
  19. data/lib/ingenico/connect/sdk/domain/mandates/mandate_merchant_action.rb +42 -0
  20. data/lib/ingenico/connect/sdk/domain/mandates/mandate_personal_information.rb +42 -0
  21. data/lib/ingenico/connect/sdk/domain/mandates/mandate_personal_name.rb +38 -0
  22. data/lib/ingenico/connect/sdk/domain/mandates/mandate_redirect_data.rb +15 -0
  23. data/lib/ingenico/connect/sdk/domain/mandates/mandate_response.rb +63 -0
  24. data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input.rb +2 -9
  25. data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input_base.rb +31 -0
  26. data/lib/ingenico/connect/sdk/domain/payment/order.rb +11 -0
  27. data/lib/ingenico/connect/sdk/domain/payment/payment_product771_specific_output.rb +31 -0
  28. data/lib/ingenico/connect/sdk/domain/payment/redirect_data.rb +2 -25
  29. data/lib/ingenico/connect/sdk/domain/payment/seller.rb +91 -0
  30. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input.rb +2 -2
  31. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input_base.rb +35 -0
  32. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_output.rb +11 -0
  33. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_product771_specific_input.rb +42 -0
  34. data/lib/ingenico/connect/sdk/merchant/mandates/mandates_client.rb +221 -0
  35. data/lib/ingenico/connect/sdk/merchant/merchant_client.rb +9 -0
  36. data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
  37. data/lib/ingenico/connect/sdk/modules.rb +10 -0
  38. metadata +26 -2
@@ -0,0 +1,35 @@
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/mandates/mandate_response'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Mandates
11
+
12
+ class GetMandateResponse < Ingenico::Connect::SDK::DataObject
13
+
14
+ # {Ingenico::Connect::SDK::Domain::Mandates::MandateResponse}
15
+ attr_accessor :mandate
16
+
17
+ def to_h
18
+ hash = super
19
+ add_to_hash(hash, 'mandate', @mandate)
20
+ hash
21
+ end
22
+
23
+ def from_hash(hash)
24
+ super
25
+ if hash.has_key?('mandate')
26
+ if !(hash['mandate'].is_a? Hash)
27
+ raise TypeError, "value '%s' is not a Hash" % [hash['mandate']]
28
+ end
29
+ @mandate = Ingenico::Connect::SDK::Domain::Mandates::MandateResponse.new_from_hash(hash['mandate'])
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,59 @@
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 Mandates
10
+
11
+ class MandateAddress < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :city
15
+
16
+ # String
17
+ attr_accessor :country_code
18
+
19
+ # String
20
+ attr_accessor :house_number
21
+
22
+ # String
23
+ attr_accessor :street
24
+
25
+ # String
26
+ attr_accessor :zip
27
+
28
+ def to_h
29
+ hash = super
30
+ add_to_hash(hash, 'city', @city)
31
+ add_to_hash(hash, 'countryCode', @country_code)
32
+ add_to_hash(hash, 'houseNumber', @house_number)
33
+ add_to_hash(hash, 'street', @street)
34
+ add_to_hash(hash, 'zip', @zip)
35
+ hash
36
+ end
37
+
38
+ def from_hash(hash)
39
+ super
40
+ if hash.has_key?('city')
41
+ @city = hash['city']
42
+ end
43
+ if hash.has_key?('countryCode')
44
+ @country_code = hash['countryCode']
45
+ end
46
+ if hash.has_key?('houseNumber')
47
+ @house_number = hash['houseNumber']
48
+ end
49
+ if hash.has_key?('street')
50
+ @street = hash['street']
51
+ end
52
+ if hash.has_key?('zip')
53
+ @zip = hash['zip']
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,38 @@
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 Mandates
10
+
11
+ class MandateContactDetails < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :email_address
15
+
16
+ # String
17
+ attr_accessor :phone_number
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'emailAddress', @email_address)
22
+ add_to_hash(hash, 'phoneNumber', @phone_number)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('emailAddress')
29
+ @email_address = hash['emailAddress']
30
+ end
31
+ if hash.has_key?('phoneNumber')
32
+ @phone_number = hash['phoneNumber']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,75 @@
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/definitions/bank_account_iban'
7
+ require 'ingenico/connect/sdk/domain/mandates/mandate_address'
8
+ require 'ingenico/connect/sdk/domain/mandates/mandate_contact_details'
9
+ require 'ingenico/connect/sdk/domain/mandates/mandate_personal_information'
10
+
11
+ module Ingenico::Connect::SDK
12
+ module Domain
13
+ module Mandates
14
+
15
+ class MandateCustomer < Ingenico::Connect::SDK::DataObject
16
+
17
+ # {Ingenico::Connect::SDK::Domain::Definitions::BankAccountIban}
18
+ attr_accessor :bank_account_iban
19
+
20
+ # String
21
+ attr_accessor :company_name
22
+
23
+ # {Ingenico::Connect::SDK::Domain::Mandates::MandateContactDetails}
24
+ attr_accessor :contact_details
25
+
26
+ # {Ingenico::Connect::SDK::Domain::Mandates::MandateAddress}
27
+ attr_accessor :mandate_address
28
+
29
+ # {Ingenico::Connect::SDK::Domain::Mandates::MandatePersonalInformation}
30
+ attr_accessor :personal_information
31
+
32
+ def to_h
33
+ hash = super
34
+ add_to_hash(hash, 'bankAccountIban', @bank_account_iban)
35
+ add_to_hash(hash, 'companyName', @company_name)
36
+ add_to_hash(hash, 'contactDetails', @contact_details)
37
+ add_to_hash(hash, 'mandateAddress', @mandate_address)
38
+ add_to_hash(hash, 'personalInformation', @personal_information)
39
+ hash
40
+ end
41
+
42
+ def from_hash(hash)
43
+ super
44
+ if hash.has_key?('bankAccountIban')
45
+ if !(hash['bankAccountIban'].is_a? Hash)
46
+ raise TypeError, "value '%s' is not a Hash" % [hash['bankAccountIban']]
47
+ end
48
+ @bank_account_iban = Ingenico::Connect::SDK::Domain::Definitions::BankAccountIban.new_from_hash(hash['bankAccountIban'])
49
+ end
50
+ if hash.has_key?('companyName')
51
+ @company_name = hash['companyName']
52
+ end
53
+ if hash.has_key?('contactDetails')
54
+ if !(hash['contactDetails'].is_a? Hash)
55
+ raise TypeError, "value '%s' is not a Hash" % [hash['contactDetails']]
56
+ end
57
+ @contact_details = Ingenico::Connect::SDK::Domain::Mandates::MandateContactDetails.new_from_hash(hash['contactDetails'])
58
+ end
59
+ if hash.has_key?('mandateAddress')
60
+ if !(hash['mandateAddress'].is_a? Hash)
61
+ raise TypeError, "value '%s' is not a Hash" % [hash['mandateAddress']]
62
+ end
63
+ @mandate_address = Ingenico::Connect::SDK::Domain::Mandates::MandateAddress.new_from_hash(hash['mandateAddress'])
64
+ end
65
+ if hash.has_key?('personalInformation')
66
+ if !(hash['personalInformation'].is_a? Hash)
67
+ raise TypeError, "value '%s' is not a Hash" % [hash['personalInformation']]
68
+ end
69
+ @personal_information = Ingenico::Connect::SDK::Domain::Mandates::MandatePersonalInformation.new_from_hash(hash['personalInformation'])
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,42 @@
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/mandates/mandate_redirect_data'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Mandates
11
+
12
+ class MandateMerchantAction < Ingenico::Connect::SDK::DataObject
13
+
14
+ # String
15
+ attr_accessor :action_type
16
+
17
+ # {Ingenico::Connect::SDK::Domain::Mandates::MandateRedirectData}
18
+ attr_accessor :redirect_data
19
+
20
+ def to_h
21
+ hash = super
22
+ add_to_hash(hash, 'actionType', @action_type)
23
+ add_to_hash(hash, 'redirectData', @redirect_data)
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ if hash.has_key?('actionType')
30
+ @action_type = hash['actionType']
31
+ end
32
+ if hash.has_key?('redirectData')
33
+ if !(hash['redirectData'].is_a? Hash)
34
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectData']]
35
+ end
36
+ @redirect_data = Ingenico::Connect::SDK::Domain::Mandates::MandateRedirectData.new_from_hash(hash['redirectData'])
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
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/mandates/mandate_personal_name'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Mandates
11
+
12
+ class MandatePersonalInformation < Ingenico::Connect::SDK::DataObject
13
+
14
+ # {Ingenico::Connect::SDK::Domain::Mandates::MandatePersonalName}
15
+ attr_accessor :name
16
+
17
+ # String
18
+ attr_accessor :title
19
+
20
+ def to_h
21
+ hash = super
22
+ add_to_hash(hash, 'name', @name)
23
+ add_to_hash(hash, 'title', @title)
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ if hash.has_key?('name')
30
+ if !(hash['name'].is_a? Hash)
31
+ raise TypeError, "value '%s' is not a Hash" % [hash['name']]
32
+ end
33
+ @name = Ingenico::Connect::SDK::Domain::Mandates::MandatePersonalName.new_from_hash(hash['name'])
34
+ end
35
+ if hash.has_key?('title')
36
+ @title = hash['title']
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,38 @@
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 Mandates
10
+
11
+ class MandatePersonalName < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :first_name
15
+
16
+ # String
17
+ attr_accessor :surname
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'firstName', @first_name)
22
+ add_to_hash(hash, 'surname', @surname)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('firstName')
29
+ @first_name = hash['firstName']
30
+ end
31
+ if hash.has_key?('surname')
32
+ @surname = hash['surname']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
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/domain/definitions/redirect_data_base'
6
+
7
+ module Ingenico::Connect::SDK
8
+ module Domain
9
+ module Mandates
10
+
11
+ class MandateRedirectData < Ingenico::Connect::SDK::Domain::Definitions::RedirectDataBase
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,63 @@
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/mandates/mandate_customer'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Mandates
11
+
12
+ class MandateResponse < Ingenico::Connect::SDK::DataObject
13
+
14
+ # {Ingenico::Connect::SDK::Domain::Mandates::MandateCustomer}
15
+ attr_accessor :customer
16
+
17
+ # String
18
+ attr_accessor :customer_reference
19
+
20
+ # String
21
+ attr_accessor :recurrence_type
22
+
23
+ # String
24
+ attr_accessor :status
25
+
26
+ # String
27
+ attr_accessor :unique_mandate_reference
28
+
29
+ def to_h
30
+ hash = super
31
+ add_to_hash(hash, 'customer', @customer)
32
+ add_to_hash(hash, 'customerReference', @customer_reference)
33
+ add_to_hash(hash, 'recurrenceType', @recurrence_type)
34
+ add_to_hash(hash, 'status', @status)
35
+ add_to_hash(hash, 'uniqueMandateReference', @unique_mandate_reference)
36
+ hash
37
+ end
38
+
39
+ def from_hash(hash)
40
+ super
41
+ if hash.has_key?('customer')
42
+ if !(hash['customer'].is_a? Hash)
43
+ raise TypeError, "value '%s' is not a Hash" % [hash['customer']]
44
+ end
45
+ @customer = Ingenico::Connect::SDK::Domain::Mandates::MandateCustomer.new_from_hash(hash['customer'])
46
+ end
47
+ if hash.has_key?('customerReference')
48
+ @customer_reference = hash['customerReference']
49
+ end
50
+ if hash.has_key?('recurrenceType')
51
+ @recurrence_type = hash['recurrenceType']
52
+ end
53
+ if hash.has_key?('status')
54
+ @status = hash['status']
55
+ end
56
+ if hash.has_key?('uniqueMandateReference')
57
+ @unique_mandate_reference = hash['uniqueMandateReference']
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -2,14 +2,14 @@
2
2
  # This class was auto-generated from the API references found at
3
3
  # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
4
  #
5
- require 'ingenico/connect/sdk/domain/definitions/abstract_payment_method_specific_input'
5
+ require 'ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input_base'
6
6
  require 'ingenico/connect/sdk/domain/payment/e_invoice_payment_product9000_specific_input'
7
7
 
8
8
  module Ingenico::Connect::SDK
9
9
  module Domain
10
10
  module Payment
11
11
 
12
- class EInvoicePaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Definitions::AbstractPaymentMethodSpecificInput
12
+ class EInvoicePaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::EInvoicePaymentMethodSpecificInputBase
13
13
 
14
14
  # true/false
15
15
  attr_accessor :accepted_terms_and_conditions
@@ -17,14 +17,10 @@ module Ingenico::Connect::SDK
17
17
  # {Ingenico::Connect::SDK::Domain::Payment::EInvoicePaymentProduct9000SpecificInput}
18
18
  attr_accessor :payment_product9000_specific_input
19
19
 
20
- # true/false
21
- attr_accessor :requires_approval
22
-
23
20
  def to_h
24
21
  hash = super
25
22
  add_to_hash(hash, 'acceptedTermsAndConditions', @accepted_terms_and_conditions)
26
23
  add_to_hash(hash, 'paymentProduct9000SpecificInput', @payment_product9000_specific_input)
27
- add_to_hash(hash, 'requiresApproval', @requires_approval)
28
24
  hash
29
25
  end
30
26
 
@@ -39,9 +35,6 @@ module Ingenico::Connect::SDK
39
35
  end
40
36
  @payment_product9000_specific_input = Ingenico::Connect::SDK::Domain::Payment::EInvoicePaymentProduct9000SpecificInput.new_from_hash(hash['paymentProduct9000SpecificInput'])
41
37
  end
42
- if hash.has_key?('requiresApproval')
43
- @requires_approval = hash['requiresApproval']
44
- end
45
38
  end
46
39
  end
47
40
  end