connect-sdk-ruby 2.22.0 → 2.26.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/hostedcheckouts/delete_hosted_checkout_example.rb +22 -0
- data/examples/merchant/payouts/create_payout_example.rb +17 -13
- data/lib/ingenico/connect/sdk/domain/definitions/card_fraud_results.rb +9 -0
- data/lib/ingenico/connect/sdk/domain/definitions/microsoft_fraud_results.rb +32 -0
- data/lib/ingenico/connect/sdk/domain/payment/abstract_three_d_secure.rb +7 -0
- data/lib/ingenico/connect/sdk/domain/payment/customer_account_authentication.rb +7 -0
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product4101_specific_input.rb +12 -19
- data/lib/ingenico/connect/sdk/domain/payout/bank_transfer_payout_method_specific_input.rb +2 -0
- data/lib/ingenico/connect/sdk/domain/payout/card_payout_method_specific_input.rb +9 -0
- data/lib/ingenico/connect/sdk/domain/payout/create_payout_request.rb +14 -1
- data/lib/ingenico/connect/sdk/domain/payout/payout_details.rb +52 -0
- data/lib/ingenico/connect/sdk/domain/payout/payout_recipient.rb +46 -0
- data/lib/ingenico/connect/sdk/merchant/hostedcheckouts/hostedcheckouts_client.rb +29 -0
- data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
- data/lib/ingenico/connect/sdk/request_header.rb +4 -5
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a02706ec5b92c4aef370fa8a669581eaafc9cfec56c79969986656d71d73094d
|
4
|
+
data.tar.gz: 751da15e062dda64a8fe59cd64c5b4c98ad2786f43c657aedd301d6cd8954483
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 879ed4b786ddbb83969554bf6bf5a784931d18c31dceec8c39e0efe4862b5d3dbb6118ee3354638f780e13509784f84904977aef2704d504e83a77b524c7ef93
|
7
|
+
data.tar.gz: 48d48bfb9e023058d252dc3dd9c6b1246d693720a727e3f951ec0142598e6ca043cb24c57aa90b429dc4953c3ff57c3aec7aa2489919d021be1eb99a0a42716f
|
data/connect-sdk-ruby.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'connect-sdk-ruby'
|
3
|
-
spec.version = '2.
|
3
|
+
spec.version = '2.26.0'
|
4
4
|
spec.authors = ['Ingenico ePayments']
|
5
5
|
spec.email = ['github@epay.ingenico.com']
|
6
6
|
spec.summary = %q{SDK to communicate with the Ingenico ePayments platform using the Ingenico Connect Server API}
|
@@ -0,0 +1,22 @@
|
|
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/factory'
|
6
|
+
|
7
|
+
|
8
|
+
def example
|
9
|
+
get_client do |client|
|
10
|
+
client.merchant('merchantId').hostedcheckouts.delete('hostedCheckoutId')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_client
|
15
|
+
api_key_id = ENV.fetch('connect.api.apiKeyId', 'someKey')
|
16
|
+
secret_api_key = ENV.fetch('connect.api.secretApiKey', 'someSecret')
|
17
|
+
configuration_file_name = File.join(__FILE__, '..', '..', 'example_configuration.yml')
|
18
|
+
yield client = Ingenico::Connect::SDK::Factory.create_client_from_file(configuration_file_name, api_key_id, secret_api_key)
|
19
|
+
ensure
|
20
|
+
# Free networking resources when done
|
21
|
+
client.close unless client.nil?
|
22
|
+
end
|
@@ -14,6 +14,7 @@ require 'ingenico/connect/sdk/domain/payment/personal_name'
|
|
14
14
|
require 'ingenico/connect/sdk/domain/payout/bank_transfer_payout_method_specific_input'
|
15
15
|
require 'ingenico/connect/sdk/domain/payout/create_payout_request'
|
16
16
|
require 'ingenico/connect/sdk/domain/payout/payout_customer'
|
17
|
+
require 'ingenico/connect/sdk/domain/payout/payout_details'
|
17
18
|
require 'ingenico/connect/sdk/domain/payout/payout_references'
|
18
19
|
|
19
20
|
Definitions = Ingenico::Connect::SDK::Domain::Definitions
|
@@ -22,14 +23,20 @@ Payout = Ingenico::Connect::SDK::Domain::Payout
|
|
22
23
|
|
23
24
|
def example
|
24
25
|
get_client do |client|
|
25
|
-
amount_of_money = Definitions::AmountOfMoney.new
|
26
|
-
amount_of_money.amount = 2345
|
27
|
-
amount_of_money.currency_code = 'EUR'
|
28
|
-
|
29
26
|
bank_account_iban = Definitions::BankAccountIban.new
|
30
27
|
bank_account_iban.account_holder_name = 'Wile E. Coyote'
|
31
28
|
bank_account_iban.iban = 'IT60X0542811101000000123456'
|
32
29
|
|
30
|
+
bank_transfer_payout_method_specific_input = Payout::BankTransferPayoutMethodSpecificInput.new
|
31
|
+
bank_transfer_payout_method_specific_input.bank_account_iban = bank_account_iban
|
32
|
+
bank_transfer_payout_method_specific_input.payout_date = '20150102'
|
33
|
+
bank_transfer_payout_method_specific_input.payout_text = 'Payout Acme'
|
34
|
+
bank_transfer_payout_method_specific_input.swift_code = 'swift'
|
35
|
+
|
36
|
+
amount_of_money = Definitions::AmountOfMoney.new
|
37
|
+
amount_of_money.amount = 2345
|
38
|
+
amount_of_money.currency_code = 'EUR'
|
39
|
+
|
33
40
|
address = Definitions::Address.new
|
34
41
|
address.city = 'Burbank'
|
35
42
|
address.country_code = 'US'
|
@@ -56,20 +63,17 @@ def example
|
|
56
63
|
customer.contact_details = contact_details
|
57
64
|
customer.name = name
|
58
65
|
|
59
|
-
bank_transfer_payout_method_specific_input = Payout::BankTransferPayoutMethodSpecificInput.new
|
60
|
-
bank_transfer_payout_method_specific_input.bank_account_iban = bank_account_iban
|
61
|
-
bank_transfer_payout_method_specific_input.customer = customer
|
62
|
-
bank_transfer_payout_method_specific_input.payout_date = '20150102'
|
63
|
-
bank_transfer_payout_method_specific_input.payout_text = 'Payout Acme'
|
64
|
-
bank_transfer_payout_method_specific_input.swift_code = 'swift'
|
65
|
-
|
66
66
|
references = Payout::PayoutReferences.new
|
67
67
|
references.merchant_reference = 'AcmeOrder001'
|
68
68
|
|
69
|
+
payout_details = Payout::PayoutDetails.new
|
70
|
+
payout_details.amount_of_money = amount_of_money
|
71
|
+
payout_details.customer = customer
|
72
|
+
payout_details.references = references
|
73
|
+
|
69
74
|
body = Payout::CreatePayoutRequest.new
|
70
|
-
body.amount_of_money = amount_of_money
|
71
75
|
body.bank_transfer_payout_method_specific_input = bank_transfer_payout_method_specific_input
|
72
|
-
body.
|
76
|
+
body.payout_details = payout_details
|
73
77
|
|
74
78
|
begin
|
75
79
|
response = client.merchant('merchantId').payouts.create(body)
|
@@ -5,6 +5,7 @@
|
|
5
5
|
require 'ingenico/connect/sdk/domain/definitions/fraud_results'
|
6
6
|
require 'ingenico/connect/sdk/domain/definitions/fraud_results_retail_decisions'
|
7
7
|
require 'ingenico/connect/sdk/domain/definitions/fraugster_results'
|
8
|
+
require 'ingenico/connect/sdk/domain/definitions/microsoft_fraud_results'
|
8
9
|
|
9
10
|
module Ingenico::Connect::SDK
|
10
11
|
module Domain
|
@@ -13,6 +14,7 @@ module Ingenico::Connect::SDK
|
|
13
14
|
# @attr [String] avs_result
|
14
15
|
# @attr [String] cvv_result
|
15
16
|
# @attr [Ingenico::Connect::SDK::Domain::Definitions::FraugsterResults] fraugster
|
17
|
+
# @attr [Ingenico::Connect::SDK::Domain::Definitions::MicrosoftFraudResults] microsoft_fraud_protection
|
16
18
|
# @attr [Ingenico::Connect::SDK::Domain::Definitions::FraudResultsRetailDecisions] retail_decisions
|
17
19
|
class CardFraudResults < Ingenico::Connect::SDK::Domain::Definitions::FraudResults
|
18
20
|
|
@@ -22,6 +24,8 @@ module Ingenico::Connect::SDK
|
|
22
24
|
|
23
25
|
attr_accessor :fraugster
|
24
26
|
|
27
|
+
attr_accessor :microsoft_fraud_protection
|
28
|
+
|
25
29
|
attr_accessor :retail_decisions
|
26
30
|
|
27
31
|
# @return (Hash)
|
@@ -30,6 +34,7 @@ module Ingenico::Connect::SDK
|
|
30
34
|
hash['avsResult'] = @avs_result unless @avs_result.nil?
|
31
35
|
hash['cvvResult'] = @cvv_result unless @cvv_result.nil?
|
32
36
|
hash['fraugster'] = @fraugster.to_h unless @fraugster.nil?
|
37
|
+
hash['microsoftFraudProtection'] = @microsoft_fraud_protection.to_h unless @microsoft_fraud_protection.nil?
|
33
38
|
hash['retailDecisions'] = @retail_decisions.to_h unless @retail_decisions.nil?
|
34
39
|
hash
|
35
40
|
end
|
@@ -46,6 +51,10 @@ module Ingenico::Connect::SDK
|
|
46
51
|
raise TypeError, "value '%s' is not a Hash" % [hash['fraugster']] unless hash['fraugster'].is_a? Hash
|
47
52
|
@fraugster = Ingenico::Connect::SDK::Domain::Definitions::FraugsterResults.new_from_hash(hash['fraugster'])
|
48
53
|
end
|
54
|
+
if hash.has_key? 'microsoftFraudProtection'
|
55
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['microsoftFraudProtection']] unless hash['microsoftFraudProtection'].is_a? Hash
|
56
|
+
@microsoft_fraud_protection = Ingenico::Connect::SDK::Domain::Definitions::MicrosoftFraudResults.new_from_hash(hash['microsoftFraudProtection'])
|
57
|
+
end
|
49
58
|
if hash.has_key? 'retailDecisions'
|
50
59
|
raise TypeError, "value '%s' is not a Hash" % [hash['retailDecisions']] unless hash['retailDecisions'].is_a? Hash
|
51
60
|
@retail_decisions = Ingenico::Connect::SDK::Domain::Definitions::FraudResultsRetailDecisions.new_from_hash(hash['retailDecisions'])
|
@@ -0,0 +1,32 @@
|
|
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 Definitions
|
10
|
+
|
11
|
+
# @attr [Integer] fraud_score
|
12
|
+
class MicrosoftFraudResults < Ingenico::Connect::SDK::DataObject
|
13
|
+
|
14
|
+
attr_accessor :fraud_score
|
15
|
+
|
16
|
+
# @return (Hash)
|
17
|
+
def to_h
|
18
|
+
hash = super
|
19
|
+
hash['fraudScore'] = @fraud_score unless @fraud_score.nil?
|
20
|
+
hash
|
21
|
+
end
|
22
|
+
|
23
|
+
def from_hash(hash)
|
24
|
+
super
|
25
|
+
if hash.has_key? 'fraudScore'
|
26
|
+
@fraud_score = hash['fraudScore']
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -19,6 +19,7 @@ module Ingenico::Connect::SDK
|
|
19
19
|
# @attr [Ingenico::Connect::SDK::Domain::Payment::ThreeDSecureData] prior_three_d_secure_data
|
20
20
|
# @attr [Ingenico::Connect::SDK::Domain::Payment::SdkDataInput] sdk_data
|
21
21
|
# @attr [true/false] skip_authentication
|
22
|
+
# @attr [String] transaction_risk_level
|
22
23
|
class AbstractThreeDSecure < Ingenico::Connect::SDK::DataObject
|
23
24
|
|
24
25
|
attr_accessor :authentication_amount
|
@@ -37,6 +38,8 @@ module Ingenico::Connect::SDK
|
|
37
38
|
|
38
39
|
attr_accessor :skip_authentication
|
39
40
|
|
41
|
+
attr_accessor :transaction_risk_level
|
42
|
+
|
40
43
|
# @return (Hash)
|
41
44
|
def to_h
|
42
45
|
hash = super
|
@@ -48,6 +51,7 @@ module Ingenico::Connect::SDK
|
|
48
51
|
hash['priorThreeDSecureData'] = @prior_three_d_secure_data.to_h unless @prior_three_d_secure_data.nil?
|
49
52
|
hash['sdkData'] = @sdk_data.to_h unless @sdk_data.nil?
|
50
53
|
hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
|
54
|
+
hash['transactionRiskLevel'] = @transaction_risk_level unless @transaction_risk_level.nil?
|
51
55
|
hash
|
52
56
|
end
|
53
57
|
|
@@ -80,6 +84,9 @@ module Ingenico::Connect::SDK
|
|
80
84
|
if hash.has_key? 'skipAuthentication'
|
81
85
|
@skip_authentication = hash['skipAuthentication']
|
82
86
|
end
|
87
|
+
if hash.has_key? 'transactionRiskLevel'
|
88
|
+
@transaction_risk_level = hash['transactionRiskLevel']
|
89
|
+
end
|
83
90
|
end
|
84
91
|
end
|
85
92
|
end
|
@@ -8,10 +8,13 @@ module Ingenico::Connect::SDK
|
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
+
# @attr [String] data
|
11
12
|
# @attr [String] method
|
12
13
|
# @attr [String] utc_timestamp
|
13
14
|
class CustomerAccountAuthentication < Ingenico::Connect::SDK::DataObject
|
14
15
|
|
16
|
+
attr_accessor :data
|
17
|
+
|
15
18
|
attr_accessor :method
|
16
19
|
|
17
20
|
attr_accessor :utc_timestamp
|
@@ -19,6 +22,7 @@ module Ingenico::Connect::SDK
|
|
19
22
|
# @return (Hash)
|
20
23
|
def to_h
|
21
24
|
hash = super
|
25
|
+
hash['data'] = @data unless @data.nil?
|
22
26
|
hash['method'] = @method unless @method.nil?
|
23
27
|
hash['utcTimestamp'] = @utc_timestamp unless @utc_timestamp.nil?
|
24
28
|
hash
|
@@ -26,6 +30,9 @@ module Ingenico::Connect::SDK
|
|
26
30
|
|
27
31
|
def from_hash(hash)
|
28
32
|
super
|
33
|
+
if hash.has_key? 'data'
|
34
|
+
@data = hash['data']
|
35
|
+
end
|
29
36
|
if hash.has_key? 'method'
|
30
37
|
@method = hash['method']
|
31
38
|
end
|
@@ -8,43 +8,36 @@ module Ingenico::Connect::SDK
|
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
+
# @attr [String] display_name
|
11
12
|
# @attr [String] integration_type
|
12
|
-
# @attr [String]
|
13
|
-
# @attr [String] transaction_note
|
14
|
-
# @attr [String] vpa
|
13
|
+
# @attr [String] virtual_payment_address
|
15
14
|
class RedirectPaymentProduct4101SpecificInput < Ingenico::Connect::SDK::DataObject
|
16
15
|
|
17
|
-
attr_accessor :
|
18
|
-
|
19
|
-
attr_accessor :merchant_name
|
16
|
+
attr_accessor :display_name
|
20
17
|
|
21
|
-
attr_accessor :
|
18
|
+
attr_accessor :integration_type
|
22
19
|
|
23
|
-
attr_accessor :
|
20
|
+
attr_accessor :virtual_payment_address
|
24
21
|
|
25
22
|
# @return (Hash)
|
26
23
|
def to_h
|
27
24
|
hash = super
|
25
|
+
hash['displayName'] = @display_name unless @display_name.nil?
|
28
26
|
hash['integrationType'] = @integration_type unless @integration_type.nil?
|
29
|
-
hash['
|
30
|
-
hash['transactionNote'] = @transaction_note unless @transaction_note.nil?
|
31
|
-
hash['vpa'] = @vpa unless @vpa.nil?
|
27
|
+
hash['virtualPaymentAddress'] = @virtual_payment_address unless @virtual_payment_address.nil?
|
32
28
|
hash
|
33
29
|
end
|
34
30
|
|
35
31
|
def from_hash(hash)
|
36
32
|
super
|
33
|
+
if hash.has_key? 'displayName'
|
34
|
+
@display_name = hash['displayName']
|
35
|
+
end
|
37
36
|
if hash.has_key? 'integrationType'
|
38
37
|
@integration_type = hash['integrationType']
|
39
38
|
end
|
40
|
-
if hash.has_key? '
|
41
|
-
@
|
42
|
-
end
|
43
|
-
if hash.has_key? 'transactionNote'
|
44
|
-
@transaction_note = hash['transactionNote']
|
45
|
-
end
|
46
|
-
if hash.has_key? 'vpa'
|
47
|
-
@vpa = hash['vpa']
|
39
|
+
if hash.has_key? 'virtualPaymentAddress'
|
40
|
+
@virtual_payment_address = hash['virtualPaymentAddress']
|
48
41
|
end
|
49
42
|
end
|
50
43
|
end
|
@@ -4,6 +4,7 @@
|
|
4
4
|
#
|
5
5
|
require 'ingenico/connect/sdk/domain/definitions/card'
|
6
6
|
require 'ingenico/connect/sdk/domain/payout/abstract_payout_method_specific_input'
|
7
|
+
require 'ingenico/connect/sdk/domain/payout/payout_recipient'
|
7
8
|
|
8
9
|
module Ingenico::Connect::SDK
|
9
10
|
module Domain
|
@@ -11,6 +12,7 @@ module Ingenico::Connect::SDK
|
|
11
12
|
|
12
13
|
# @attr [Ingenico::Connect::SDK::Domain::Definitions::Card] card
|
13
14
|
# @attr [Integer] payment_product_id
|
15
|
+
# @attr [Ingenico::Connect::SDK::Domain::Payout::PayoutRecipient] recipient
|
14
16
|
# @attr [String] token
|
15
17
|
class CardPayoutMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payout::AbstractPayoutMethodSpecificInput
|
16
18
|
|
@@ -18,6 +20,8 @@ module Ingenico::Connect::SDK
|
|
18
20
|
|
19
21
|
attr_accessor :payment_product_id
|
20
22
|
|
23
|
+
attr_accessor :recipient
|
24
|
+
|
21
25
|
attr_accessor :token
|
22
26
|
|
23
27
|
# @return (Hash)
|
@@ -25,6 +29,7 @@ module Ingenico::Connect::SDK
|
|
25
29
|
hash = super
|
26
30
|
hash['card'] = @card.to_h unless @card.nil?
|
27
31
|
hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
|
32
|
+
hash['recipient'] = @recipient.to_h unless @recipient.nil?
|
28
33
|
hash['token'] = @token unless @token.nil?
|
29
34
|
hash
|
30
35
|
end
|
@@ -38,6 +43,10 @@ module Ingenico::Connect::SDK
|
|
38
43
|
if hash.has_key? 'paymentProductId'
|
39
44
|
@payment_product_id = hash['paymentProductId']
|
40
45
|
end
|
46
|
+
if hash.has_key? 'recipient'
|
47
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['recipient']] unless hash['recipient'].is_a? Hash
|
48
|
+
@recipient = Ingenico::Connect::SDK::Domain::Payout::PayoutRecipient.new_from_hash(hash['recipient'])
|
49
|
+
end
|
41
50
|
if hash.has_key? 'token'
|
42
51
|
@token = hash['token']
|
43
52
|
end
|
@@ -9,6 +9,7 @@ require 'ingenico/connect/sdk/domain/definitions/bank_account_iban'
|
|
9
9
|
require 'ingenico/connect/sdk/domain/payout/bank_transfer_payout_method_specific_input'
|
10
10
|
require 'ingenico/connect/sdk/domain/payout/card_payout_method_specific_input'
|
11
11
|
require 'ingenico/connect/sdk/domain/payout/payout_customer'
|
12
|
+
require 'ingenico/connect/sdk/domain/payout/payout_details'
|
12
13
|
require 'ingenico/connect/sdk/domain/payout/payout_references'
|
13
14
|
|
14
15
|
module Ingenico::Connect::SDK
|
@@ -22,11 +23,14 @@ module Ingenico::Connect::SDK
|
|
22
23
|
# @attr [Ingenico::Connect::SDK::Domain::Payout::CardPayoutMethodSpecificInput] card_payout_method_specific_input
|
23
24
|
# @attr [Ingenico::Connect::SDK::Domain::Payout::PayoutCustomer] customer
|
24
25
|
# @attr [String] payout_date
|
26
|
+
# @attr [Ingenico::Connect::SDK::Domain::Payout::PayoutDetails] payout_details
|
25
27
|
# @attr [String] payout_text
|
26
28
|
# @attr [Ingenico::Connect::SDK::Domain::Payout::PayoutReferences] references
|
27
29
|
# @attr [String] swift_code
|
28
30
|
class CreatePayoutRequest < Ingenico::Connect::SDK::DataObject
|
29
31
|
|
32
|
+
#
|
33
|
+
# @deprecated Moved to PayoutDetails
|
30
34
|
attr_accessor :amount_of_money
|
31
35
|
|
32
36
|
#
|
@@ -42,17 +46,21 @@ module Ingenico::Connect::SDK
|
|
42
46
|
attr_accessor :card_payout_method_specific_input
|
43
47
|
|
44
48
|
#
|
45
|
-
# @deprecated Moved to
|
49
|
+
# @deprecated Moved to PayoutDetails
|
46
50
|
attr_accessor :customer
|
47
51
|
|
48
52
|
#
|
49
53
|
# @deprecated Moved to BankTransferPayoutMethodSpecificInput
|
50
54
|
attr_accessor :payout_date
|
51
55
|
|
56
|
+
attr_accessor :payout_details
|
57
|
+
|
52
58
|
#
|
53
59
|
# @deprecated Moved to BankTransferPayoutMethodSpecificInput
|
54
60
|
attr_accessor :payout_text
|
55
61
|
|
62
|
+
#
|
63
|
+
# @deprecated Moved to PayoutDetails
|
56
64
|
attr_accessor :references
|
57
65
|
|
58
66
|
#
|
@@ -69,6 +77,7 @@ module Ingenico::Connect::SDK
|
|
69
77
|
hash['cardPayoutMethodSpecificInput'] = @card_payout_method_specific_input.to_h unless @card_payout_method_specific_input.nil?
|
70
78
|
hash['customer'] = @customer.to_h unless @customer.nil?
|
71
79
|
hash['payoutDate'] = @payout_date unless @payout_date.nil?
|
80
|
+
hash['payoutDetails'] = @payout_details.to_h unless @payout_details.nil?
|
72
81
|
hash['payoutText'] = @payout_text unless @payout_text.nil?
|
73
82
|
hash['references'] = @references.to_h unless @references.nil?
|
74
83
|
hash['swiftCode'] = @swift_code unless @swift_code.nil?
|
@@ -104,6 +113,10 @@ module Ingenico::Connect::SDK
|
|
104
113
|
if hash.has_key? 'payoutDate'
|
105
114
|
@payout_date = hash['payoutDate']
|
106
115
|
end
|
116
|
+
if hash.has_key? 'payoutDetails'
|
117
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['payoutDetails']] unless hash['payoutDetails'].is_a? Hash
|
118
|
+
@payout_details = Ingenico::Connect::SDK::Domain::Payout::PayoutDetails.new_from_hash(hash['payoutDetails'])
|
119
|
+
end
|
107
120
|
if hash.has_key? 'payoutText'
|
108
121
|
@payout_text = hash['payoutText']
|
109
122
|
end
|
@@ -0,0 +1,52 @@
|
|
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/amount_of_money'
|
7
|
+
require 'ingenico/connect/sdk/domain/payout/payout_customer'
|
8
|
+
require 'ingenico/connect/sdk/domain/payout/payout_references'
|
9
|
+
|
10
|
+
module Ingenico::Connect::SDK
|
11
|
+
module Domain
|
12
|
+
module Payout
|
13
|
+
|
14
|
+
# @attr [Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney] amount_of_money
|
15
|
+
# @attr [Ingenico::Connect::SDK::Domain::Payout::PayoutCustomer] customer
|
16
|
+
# @attr [Ingenico::Connect::SDK::Domain::Payout::PayoutReferences] references
|
17
|
+
class PayoutDetails < Ingenico::Connect::SDK::DataObject
|
18
|
+
|
19
|
+
attr_accessor :amount_of_money
|
20
|
+
|
21
|
+
attr_accessor :customer
|
22
|
+
|
23
|
+
attr_accessor :references
|
24
|
+
|
25
|
+
# @return (Hash)
|
26
|
+
def to_h
|
27
|
+
hash = super
|
28
|
+
hash['amountOfMoney'] = @amount_of_money.to_h unless @amount_of_money.nil?
|
29
|
+
hash['customer'] = @customer.to_h unless @customer.nil?
|
30
|
+
hash['references'] = @references.to_h unless @references.nil?
|
31
|
+
hash
|
32
|
+
end
|
33
|
+
|
34
|
+
def from_hash(hash)
|
35
|
+
super
|
36
|
+
if hash.has_key? 'amountOfMoney'
|
37
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
|
38
|
+
@amount_of_money = Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
|
39
|
+
end
|
40
|
+
if hash.has_key? 'customer'
|
41
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['customer']] unless hash['customer'].is_a? Hash
|
42
|
+
@customer = Ingenico::Connect::SDK::Domain::Payout::PayoutCustomer.new_from_hash(hash['customer'])
|
43
|
+
end
|
44
|
+
if hash.has_key? 'references'
|
45
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
|
46
|
+
@references = Ingenico::Connect::SDK::Domain::Payout::PayoutReferences.new_from_hash(hash['references'])
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,46 @@
|
|
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 Payout
|
10
|
+
|
11
|
+
# @attr [String] first_name
|
12
|
+
# @attr [String] surname
|
13
|
+
# @attr [String] surname_prefix
|
14
|
+
class PayoutRecipient < Ingenico::Connect::SDK::DataObject
|
15
|
+
|
16
|
+
attr_accessor :first_name
|
17
|
+
|
18
|
+
attr_accessor :surname
|
19
|
+
|
20
|
+
attr_accessor :surname_prefix
|
21
|
+
|
22
|
+
# @return (Hash)
|
23
|
+
def to_h
|
24
|
+
hash = super
|
25
|
+
hash['firstName'] = @first_name unless @first_name.nil?
|
26
|
+
hash['surname'] = @surname unless @surname.nil?
|
27
|
+
hash['surnamePrefix'] = @surname_prefix unless @surname_prefix.nil?
|
28
|
+
hash
|
29
|
+
end
|
30
|
+
|
31
|
+
def from_hash(hash)
|
32
|
+
super
|
33
|
+
if hash.has_key? 'firstName'
|
34
|
+
@first_name = hash['firstName']
|
35
|
+
end
|
36
|
+
if hash.has_key? 'surname'
|
37
|
+
@surname = hash['surname']
|
38
|
+
end
|
39
|
+
if hash.has_key? 'surnamePrefix'
|
40
|
+
@surname_prefix = hash['surnamePrefix']
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -78,6 +78,35 @@ module Ingenico::Connect::SDK
|
|
78
78
|
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
79
79
|
raise create_exception(e.status_code, e.body, error_object, context)
|
80
80
|
end
|
81
|
+
|
82
|
+
# Resource /!{merchantId}/hostedcheckouts/!{hostedCheckoutId} - {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/hostedcheckouts/delete.html Delete hosted checkout}
|
83
|
+
# @param hosted_checkout_id [String]
|
84
|
+
# @param context [Ingenico::Connect::SDK::CallContext]
|
85
|
+
# @raise [Ingenico::Connect::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
86
|
+
# @raise [Ingenico::Connect::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
87
|
+
# @raise [Ingenico::Connect::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
|
88
|
+
# @raise [Ingenico::Connect::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
89
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
90
|
+
# @raise [Ingenico::Connect::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
|
91
|
+
# the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
|
92
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
93
|
+
# @raise [Ingenico::Connect::SDK::ApiException]if the Ingenico ePayments platform returned any other error
|
94
|
+
def delete(hosted_checkout_id, context=nil)
|
95
|
+
path_context = {
|
96
|
+
'hostedCheckoutId'.freeze => hosted_checkout_id,
|
97
|
+
}
|
98
|
+
uri = instantiate_uri('/v1/{merchantId}/hostedcheckouts/{hostedCheckoutId}', path_context)
|
99
|
+
return @communicator.delete(
|
100
|
+
uri,
|
101
|
+
client_headers,
|
102
|
+
nil,
|
103
|
+
nil,
|
104
|
+
context)
|
105
|
+
rescue ResponseException => e
|
106
|
+
error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
|
107
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
108
|
+
raise create_exception(e.status_code, e.body, error_object, context)
|
109
|
+
end
|
81
110
|
end
|
82
111
|
end
|
83
112
|
end
|
@@ -7,7 +7,7 @@ module Ingenico::Connect::SDK
|
|
7
7
|
#
|
8
8
|
# @attr_reader [Array<Ingenico::Connect::SDK::RequestHeader>] meta_data_headers List of headers that should be used in all requests.
|
9
9
|
class MetaDataProvider
|
10
|
-
@@SDK_VERSION = '2.
|
10
|
+
@@SDK_VERSION = '2.26.0'
|
11
11
|
@@SERVER_META_INFO_HEADER = 'X-GCS-ServerMetaInfo'
|
12
12
|
@@PROHIBITED_HEADERS = [@@SERVER_META_INFO_HEADER, 'X-GCS-Idempotence-Key',
|
13
13
|
'Date', 'Content-Type', 'Authorization'].sort!.freeze
|
@@ -47,11 +47,10 @@ module Ingenico::Connect::SDK
|
|
47
47
|
if value.nil? || value.empty?
|
48
48
|
return value
|
49
49
|
end
|
50
|
-
# Replace all sequences of
|
51
|
-
# This
|
52
|
-
#
|
53
|
-
|
54
|
-
value.gsub(/[\s&&[^\r\n]]*(\r?\n)[\s&&[^\r\n]]*/, '\1 ')
|
50
|
+
# Replace all sequences of linebreak-whitespace* with a single linebreak-space
|
51
|
+
# This matches the normalization done by DefaultAuthenticator, and ensures that multiline headers
|
52
|
+
# will not cause authentication failures
|
53
|
+
value.gsub(/\r?\n[\s&&[^\r\n]]*/, ' ')
|
55
54
|
end
|
56
55
|
end
|
57
56
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: connect-sdk-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.26.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-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|
@@ -135,6 +135,7 @@ files:
|
|
135
135
|
- examples/merchant/example_configuration.yml
|
136
136
|
- examples/merchant/files/get_file_example.rb
|
137
137
|
- examples/merchant/hostedcheckouts/create_hosted_checkout_example.rb
|
138
|
+
- examples/merchant/hostedcheckouts/delete_hosted_checkout_example.rb
|
138
139
|
- examples/merchant/hostedcheckouts/get_hosted_checkout_example.rb
|
139
140
|
- examples/merchant/hostedmandatemanagements/create_hosted_mandate_management_example.rb
|
140
141
|
- examples/merchant/hostedmandatemanagements/get_hosted_mandate_management_example.rb
|
@@ -249,6 +250,7 @@ files:
|
|
249
250
|
- lib/ingenico/connect/sdk/domain/definitions/lodging_charge.rb
|
250
251
|
- lib/ingenico/connect/sdk/domain/definitions/lodging_data.rb
|
251
252
|
- lib/ingenico/connect/sdk/domain/definitions/lodging_room.rb
|
253
|
+
- lib/ingenico/connect/sdk/domain/definitions/microsoft_fraud_results.rb
|
252
254
|
- lib/ingenico/connect/sdk/domain/definitions/order_status_output.rb
|
253
255
|
- lib/ingenico/connect/sdk/domain/definitions/payment_product_filter.rb
|
254
256
|
- lib/ingenico/connect/sdk/domain/definitions/personal_name_base.rb
|
@@ -464,7 +466,9 @@ files:
|
|
464
466
|
- lib/ingenico/connect/sdk/domain/payout/create_payout_request.rb
|
465
467
|
- lib/ingenico/connect/sdk/domain/payout/find_payouts_response.rb
|
466
468
|
- lib/ingenico/connect/sdk/domain/payout/payout_customer.rb
|
469
|
+
- lib/ingenico/connect/sdk/domain/payout/payout_details.rb
|
467
470
|
- lib/ingenico/connect/sdk/domain/payout/payout_error_response.rb
|
471
|
+
- lib/ingenico/connect/sdk/domain/payout/payout_recipient.rb
|
468
472
|
- lib/ingenico/connect/sdk/domain/payout/payout_references.rb
|
469
473
|
- lib/ingenico/connect/sdk/domain/payout/payout_response.rb
|
470
474
|
- lib/ingenico/connect/sdk/domain/payout/payout_result.rb
|