connect-sdk-ruby 1.12.0 → 1.13.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.
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