connect-sdk-ruby 2.28.0 → 2.30.2
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/connect-sdk-ruby.gemspec +1 -1
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1504_specific_input.rb +2 -19
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1521_specific_input.rb +2 -19
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1522_specific_input.rb +2 -19
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1523_specific_input.rb +2 -19
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1524_specific_input.rb +2 -19
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1526_specific_input.rb +2 -19
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base.rb +32 -0
- data/lib/ingenico/connect/sdk/domain/payment/installments.rb +7 -0
- data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
- data/spec/integration/idempotence_spec.rb +20 -5
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7db60897f47065c79b42b4f458baaa3eb9c346b66b50381bd795b6abb762fbe6
|
4
|
+
data.tar.gz: 2a43fcff7d2729aefd492f3ace41f6f67dab7157da8699ea38947c3fbc53b73d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e9114ffa747a472929b909730f60748f97fe1409acbcbb143b290e88b2999c34624bf630827e0f3ee7a6aa52368ab100bf944d11ab48c6b07891cacc42a434a
|
7
|
+
data.tar.gz: 1f9a4c4a0db466fd0ecea4fa718738b4c8c7df63e3890d95933ec8de4a853454f39aebc8ff8e9ed05fae107b90e310969183027d327743a8ccd950a79cbafa3b
|
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.30.2'
|
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}
|
@@ -2,30 +2,13 @@
|
|
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/
|
5
|
+
require 'ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base'
|
6
6
|
|
7
7
|
module Ingenico::Connect::SDK
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
-
|
12
|
-
class CashPaymentProduct1504SpecificInput < Ingenico::Connect::SDK::DataObject
|
13
|
-
|
14
|
-
attr_accessor :return_url
|
15
|
-
|
16
|
-
# @return (Hash)
|
17
|
-
def to_h
|
18
|
-
hash = super
|
19
|
-
hash['returnUrl'] = @return_url unless @return_url.nil?
|
20
|
-
hash
|
21
|
-
end
|
22
|
-
|
23
|
-
def from_hash(hash)
|
24
|
-
super
|
25
|
-
if hash.has_key? 'returnUrl'
|
26
|
-
@return_url = hash['returnUrl']
|
27
|
-
end
|
28
|
-
end
|
11
|
+
class CashPaymentProduct1504SpecificInput < Ingenico::Connect::SDK::Domain::Payment::CashPaymentProductWithRedirectSpecificInputBase
|
29
12
|
end
|
30
13
|
end
|
31
14
|
end
|
@@ -2,30 +2,13 @@
|
|
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/
|
5
|
+
require 'ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base'
|
6
6
|
|
7
7
|
module Ingenico::Connect::SDK
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
-
|
12
|
-
class CashPaymentProduct1521SpecificInput < Ingenico::Connect::SDK::DataObject
|
13
|
-
|
14
|
-
attr_accessor :return_url
|
15
|
-
|
16
|
-
# @return (Hash)
|
17
|
-
def to_h
|
18
|
-
hash = super
|
19
|
-
hash['returnUrl'] = @return_url unless @return_url.nil?
|
20
|
-
hash
|
21
|
-
end
|
22
|
-
|
23
|
-
def from_hash(hash)
|
24
|
-
super
|
25
|
-
if hash.has_key? 'returnUrl'
|
26
|
-
@return_url = hash['returnUrl']
|
27
|
-
end
|
28
|
-
end
|
11
|
+
class CashPaymentProduct1521SpecificInput < Ingenico::Connect::SDK::Domain::Payment::CashPaymentProductWithRedirectSpecificInputBase
|
29
12
|
end
|
30
13
|
end
|
31
14
|
end
|
@@ -2,30 +2,13 @@
|
|
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/
|
5
|
+
require 'ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base'
|
6
6
|
|
7
7
|
module Ingenico::Connect::SDK
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
-
|
12
|
-
class CashPaymentProduct1522SpecificInput < Ingenico::Connect::SDK::DataObject
|
13
|
-
|
14
|
-
attr_accessor :return_url
|
15
|
-
|
16
|
-
# @return (Hash)
|
17
|
-
def to_h
|
18
|
-
hash = super
|
19
|
-
hash['returnUrl'] = @return_url unless @return_url.nil?
|
20
|
-
hash
|
21
|
-
end
|
22
|
-
|
23
|
-
def from_hash(hash)
|
24
|
-
super
|
25
|
-
if hash.has_key? 'returnUrl'
|
26
|
-
@return_url = hash['returnUrl']
|
27
|
-
end
|
28
|
-
end
|
11
|
+
class CashPaymentProduct1522SpecificInput < Ingenico::Connect::SDK::Domain::Payment::CashPaymentProductWithRedirectSpecificInputBase
|
29
12
|
end
|
30
13
|
end
|
31
14
|
end
|
@@ -2,30 +2,13 @@
|
|
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/
|
5
|
+
require 'ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base'
|
6
6
|
|
7
7
|
module Ingenico::Connect::SDK
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
-
|
12
|
-
class CashPaymentProduct1523SpecificInput < Ingenico::Connect::SDK::DataObject
|
13
|
-
|
14
|
-
attr_accessor :return_url
|
15
|
-
|
16
|
-
# @return (Hash)
|
17
|
-
def to_h
|
18
|
-
hash = super
|
19
|
-
hash['returnUrl'] = @return_url unless @return_url.nil?
|
20
|
-
hash
|
21
|
-
end
|
22
|
-
|
23
|
-
def from_hash(hash)
|
24
|
-
super
|
25
|
-
if hash.has_key? 'returnUrl'
|
26
|
-
@return_url = hash['returnUrl']
|
27
|
-
end
|
28
|
-
end
|
11
|
+
class CashPaymentProduct1523SpecificInput < Ingenico::Connect::SDK::Domain::Payment::CashPaymentProductWithRedirectSpecificInputBase
|
29
12
|
end
|
30
13
|
end
|
31
14
|
end
|
@@ -2,30 +2,13 @@
|
|
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/
|
5
|
+
require 'ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base'
|
6
6
|
|
7
7
|
module Ingenico::Connect::SDK
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
-
|
12
|
-
class CashPaymentProduct1524SpecificInput < Ingenico::Connect::SDK::DataObject
|
13
|
-
|
14
|
-
attr_accessor :return_url
|
15
|
-
|
16
|
-
# @return (Hash)
|
17
|
-
def to_h
|
18
|
-
hash = super
|
19
|
-
hash['returnUrl'] = @return_url unless @return_url.nil?
|
20
|
-
hash
|
21
|
-
end
|
22
|
-
|
23
|
-
def from_hash(hash)
|
24
|
-
super
|
25
|
-
if hash.has_key? 'returnUrl'
|
26
|
-
@return_url = hash['returnUrl']
|
27
|
-
end
|
28
|
-
end
|
11
|
+
class CashPaymentProduct1524SpecificInput < Ingenico::Connect::SDK::Domain::Payment::CashPaymentProductWithRedirectSpecificInputBase
|
29
12
|
end
|
30
13
|
end
|
31
14
|
end
|
@@ -2,30 +2,13 @@
|
|
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/
|
5
|
+
require 'ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base'
|
6
6
|
|
7
7
|
module Ingenico::Connect::SDK
|
8
8
|
module Domain
|
9
9
|
module Payment
|
10
10
|
|
11
|
-
|
12
|
-
class CashPaymentProduct1526SpecificInput < Ingenico::Connect::SDK::DataObject
|
13
|
-
|
14
|
-
attr_accessor :return_url
|
15
|
-
|
16
|
-
# @return (Hash)
|
17
|
-
def to_h
|
18
|
-
hash = super
|
19
|
-
hash['returnUrl'] = @return_url unless @return_url.nil?
|
20
|
-
hash
|
21
|
-
end
|
22
|
-
|
23
|
-
def from_hash(hash)
|
24
|
-
super
|
25
|
-
if hash.has_key? 'returnUrl'
|
26
|
-
@return_url = hash['returnUrl']
|
27
|
-
end
|
28
|
-
end
|
11
|
+
class CashPaymentProduct1526SpecificInput < Ingenico::Connect::SDK::Domain::Payment::CashPaymentProductWithRedirectSpecificInputBase
|
29
12
|
end
|
30
13
|
end
|
31
14
|
end
|
@@ -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 Payment
|
10
|
+
|
11
|
+
# @attr [String] return_url
|
12
|
+
class CashPaymentProductWithRedirectSpecificInputBase < Ingenico::Connect::SDK::DataObject
|
13
|
+
|
14
|
+
attr_accessor :return_url
|
15
|
+
|
16
|
+
# @return (Hash)
|
17
|
+
def to_h
|
18
|
+
hash = super
|
19
|
+
hash['returnUrl'] = @return_url unless @return_url.nil?
|
20
|
+
hash
|
21
|
+
end
|
22
|
+
|
23
|
+
def from_hash(hash)
|
24
|
+
super
|
25
|
+
if hash.has_key? 'returnUrl'
|
26
|
+
@return_url = hash['returnUrl']
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -11,6 +11,7 @@ module Ingenico::Connect::SDK
|
|
11
11
|
|
12
12
|
# @attr [Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney] amount_of_money_per_installment
|
13
13
|
# @attr [String] frequency_of_installments
|
14
|
+
# @attr [Integer] installment_plan_code
|
14
15
|
# @attr [String] interest_rate
|
15
16
|
# @attr [Integer] number_of_installments
|
16
17
|
class Installments < Ingenico::Connect::SDK::DataObject
|
@@ -19,6 +20,8 @@ module Ingenico::Connect::SDK
|
|
19
20
|
|
20
21
|
attr_accessor :frequency_of_installments
|
21
22
|
|
23
|
+
attr_accessor :installment_plan_code
|
24
|
+
|
22
25
|
attr_accessor :interest_rate
|
23
26
|
|
24
27
|
attr_accessor :number_of_installments
|
@@ -28,6 +31,7 @@ module Ingenico::Connect::SDK
|
|
28
31
|
hash = super
|
29
32
|
hash['amountOfMoneyPerInstallment'] = @amount_of_money_per_installment.to_h unless @amount_of_money_per_installment.nil?
|
30
33
|
hash['frequencyOfInstallments'] = @frequency_of_installments unless @frequency_of_installments.nil?
|
34
|
+
hash['installmentPlanCode'] = @installment_plan_code unless @installment_plan_code.nil?
|
31
35
|
hash['interestRate'] = @interest_rate unless @interest_rate.nil?
|
32
36
|
hash['numberOfInstallments'] = @number_of_installments unless @number_of_installments.nil?
|
33
37
|
hash
|
@@ -42,6 +46,9 @@ module Ingenico::Connect::SDK
|
|
42
46
|
if hash.has_key? 'frequencyOfInstallments'
|
43
47
|
@frequency_of_installments = hash['frequencyOfInstallments']
|
44
48
|
end
|
49
|
+
if hash.has_key? 'installmentPlanCode'
|
50
|
+
@installment_plan_code = hash['installmentPlanCode']
|
51
|
+
end
|
45
52
|
if hash.has_key? 'interestRate'
|
46
53
|
@interest_rate = hash['interestRate']
|
47
54
|
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.30.2'
|
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
|
@@ -10,6 +10,7 @@ require 'ingenico/connect/sdk/domain/payment/order'
|
|
10
10
|
require 'ingenico/connect/sdk/domain/payment/redirect_payment_product809_specific_input'
|
11
11
|
require 'ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input'
|
12
12
|
require 'ingenico/connect/sdk/call_context'
|
13
|
+
require 'ingenico/connect/sdk/declined_payment_exception'
|
13
14
|
|
14
15
|
describe 'Idempotence with the server' do
|
15
16
|
|
@@ -41,17 +42,31 @@ describe 'Idempotence with the server' do
|
|
41
42
|
context = Ingenico::Connect::SDK::CallContext.new(idempotence_key)
|
42
43
|
|
43
44
|
Integration.init_client(false) do |client|
|
44
|
-
|
45
|
-
|
45
|
+
def do_create_payment(client, body, context)
|
46
|
+
# For this test it doesn't matter if the response is successful or declined,
|
47
|
+
# as long as idempotence is handled correctly
|
48
|
+
begin
|
49
|
+
client.merchant(Integration::MERCHANT_ID).payments.create(body, context)
|
50
|
+
rescue Ingenico::Connect::SDK::DeclinedPaymentException => ex
|
51
|
+
ex.payment_result
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
result = do_create_payment(client, body, context)
|
56
|
+
payment_id = result.payment.id
|
57
|
+
status = result.payment.status
|
46
58
|
|
47
59
|
expect(payment_id).to_not be_nil
|
60
|
+
expect(status).to_not be_nil
|
48
61
|
expect(context.idempotence_key).to eq(idempotence_key)
|
49
62
|
expect(context.idempotence_request_timestamp).to be_nil
|
50
63
|
|
51
|
-
|
52
|
-
payment_id2 =
|
64
|
+
result_2 = do_create_payment(client, body, context)
|
65
|
+
payment_id2 = result_2.payment.id
|
66
|
+
status2 = result_2.payment.status
|
53
67
|
|
54
|
-
expect(
|
68
|
+
expect(payment_id2).to eq(payment_id)
|
69
|
+
expect(status2).to eq(status)
|
55
70
|
expect(context.idempotence_key).to eq(idempotence_key)
|
56
71
|
expect(context.idempotence_request_timestamp).to_not be_nil
|
57
72
|
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.30.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ingenico ePayments
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|
@@ -344,6 +344,7 @@ files:
|
|
344
344
|
- lib/ingenico/connect/sdk/domain/payment/cash_payment_product1523_specific_input.rb
|
345
345
|
- lib/ingenico/connect/sdk/domain/payment/cash_payment_product1524_specific_input.rb
|
346
346
|
- lib/ingenico/connect/sdk/domain/payment/cash_payment_product1526_specific_input.rb
|
347
|
+
- lib/ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base.rb
|
347
348
|
- lib/ingenico/connect/sdk/domain/payment/complete_payment_card_payment_method_specific_input.rb
|
348
349
|
- lib/ingenico/connect/sdk/domain/payment/complete_payment_request.rb
|
349
350
|
- lib/ingenico/connect/sdk/domain/payment/complete_payment_response.rb
|