connect-sdk-ruby 1.22.0 → 1.23.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/connect-sdk-ruby.gemspec +1 -1
- data/examples/merchant/payments/get_refunds_example.rb +22 -0
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/created_payment_output.rb +7 -0
- data/lib/ingenico/connect/sdk/domain/payment/payment_creation_output.rb +7 -0
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input.rb +2 -0
- data/lib/ingenico/connect/sdk/domain/refund/refunds_response.rb +38 -0
- data/lib/ingenico/connect/sdk/merchant/payments/payments_client.rb +33 -0
- data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 683a41961601e3d9f122c7cba1e98ee3da897425fd7a11238679ca08385c4575
|
4
|
+
data.tar.gz: a90404dc3d37afb897ff6bc0dab79088a39a57cc92c81563bc8e907bd3b2bdfd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5e6e97d691da7fc6f707365d6e1f5c183f87d76eaf8ea116f793f0dfdad36712a97c78640ad5b756ccd72b1d9ce73ba59706a07d313f9c8a321ff964cbc83a6
|
7
|
+
data.tar.gz: 342cba317af63fc9aa28eccc5b81d7febce0c2a9601f62402703760c36705a3b1c72ddd514f899a1104008dfbf90e4cf210808c8c4ade1ac5cb9368fedf35b9f
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
## Introduction
|
4
4
|
|
5
|
-
The Ruby SDK helps you to communicate with the [Ingenico Connect](
|
5
|
+
The Ruby SDK helps you to communicate with the [Ingenico Connect](https://epayments.developer-ingenico.com/) Server API. Its primary features are:
|
6
6
|
|
7
7
|
* convenient Ruby library for the API calls and responses
|
8
8
|
* marshalls Ruby request objects to HTTP requests
|
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 = '1.
|
3
|
+
spec.version = '1.23.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
|
+
response = client.merchant('merchantId').payments().refunds('paymentId')
|
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
|
@@ -25,6 +25,9 @@ module Ingenico::Connect::SDK
|
|
25
25
|
# String
|
26
26
|
attr_accessor :payment_status_category
|
27
27
|
|
28
|
+
# true/false
|
29
|
+
attr_accessor :tokenization_succeeded
|
30
|
+
|
28
31
|
# String
|
29
32
|
attr_accessor :tokens
|
30
33
|
|
@@ -34,6 +37,7 @@ module Ingenico::Connect::SDK
|
|
34
37
|
add_to_hash(hash, 'payment', @payment)
|
35
38
|
add_to_hash(hash, 'paymentCreationReferences', @payment_creation_references)
|
36
39
|
add_to_hash(hash, 'paymentStatusCategory', @payment_status_category)
|
40
|
+
add_to_hash(hash, 'tokenizationSucceeded', @tokenization_succeeded)
|
37
41
|
add_to_hash(hash, 'tokens', @tokens)
|
38
42
|
hash
|
39
43
|
end
|
@@ -61,6 +65,9 @@ module Ingenico::Connect::SDK
|
|
61
65
|
if hash.has_key?('paymentStatusCategory')
|
62
66
|
@payment_status_category = hash['paymentStatusCategory']
|
63
67
|
end
|
68
|
+
if hash.has_key?('tokenizationSucceeded')
|
69
|
+
@tokenization_succeeded = hash['tokenizationSucceeded']
|
70
|
+
end
|
64
71
|
if hash.has_key?('tokens')
|
65
72
|
@tokens = hash['tokens']
|
66
73
|
end
|
@@ -16,10 +16,14 @@ module Ingenico::Connect::SDK
|
|
16
16
|
# String
|
17
17
|
attr_accessor :token
|
18
18
|
|
19
|
+
# true/false
|
20
|
+
attr_accessor :tokenization_succeeded
|
21
|
+
|
19
22
|
def to_h
|
20
23
|
hash = super
|
21
24
|
add_to_hash(hash, 'isNewToken', @is_new_token)
|
22
25
|
add_to_hash(hash, 'token', @token)
|
26
|
+
add_to_hash(hash, 'tokenizationSucceeded', @tokenization_succeeded)
|
23
27
|
hash
|
24
28
|
end
|
25
29
|
|
@@ -31,6 +35,9 @@ module Ingenico::Connect::SDK
|
|
31
35
|
if hash.has_key?('token')
|
32
36
|
@token = hash['token']
|
33
37
|
end
|
38
|
+
if hash.has_key?('tokenizationSucceeded')
|
39
|
+
@tokenization_succeeded = hash['tokenizationSucceeded']
|
40
|
+
end
|
34
41
|
end
|
35
42
|
end
|
36
43
|
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
|
+
require 'ingenico/connect/sdk/domain/refund/refund_result'
|
7
|
+
|
8
|
+
module Ingenico::Connect::SDK
|
9
|
+
module Domain
|
10
|
+
module Refund
|
11
|
+
|
12
|
+
class RefundsResponse < Ingenico::Connect::SDK::DataObject
|
13
|
+
|
14
|
+
# Array of {Ingenico::Connect::SDK::Domain::Refund::RefundResult}
|
15
|
+
attr_accessor :refunds
|
16
|
+
|
17
|
+
def to_h
|
18
|
+
hash = super
|
19
|
+
add_to_hash(hash, 'refunds', @refunds)
|
20
|
+
hash
|
21
|
+
end
|
22
|
+
|
23
|
+
def from_hash(hash)
|
24
|
+
super
|
25
|
+
if hash.has_key?('refunds')
|
26
|
+
if !(hash['refunds'].is_a? Array)
|
27
|
+
raise TypeError, "value '%s' is not an Array" % [hash['refunds']]
|
28
|
+
end
|
29
|
+
@refunds = []
|
30
|
+
hash['refunds'].each do |e|
|
31
|
+
@refunds << Ingenico::Connect::SDK::Domain::Refund::RefundResult.new_from_hash(e)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -18,6 +18,7 @@ require 'ingenico/connect/sdk/domain/payment/payment_response'
|
|
18
18
|
require 'ingenico/connect/sdk/domain/payment/third_party_status_response'
|
19
19
|
require 'ingenico/connect/sdk/domain/refund/refund_error_response'
|
20
20
|
require 'ingenico/connect/sdk/domain/refund/refund_response'
|
21
|
+
require 'ingenico/connect/sdk/domain/refund/refunds_response'
|
21
22
|
require 'ingenico/connect/sdk/domain/token/create_token_response'
|
22
23
|
|
23
24
|
module Ingenico::Connect::SDK
|
@@ -435,6 +436,38 @@ module Ingenico::Connect::SDK
|
|
435
436
|
raise create_exception(e.status_code, e.body, error_object, context)
|
436
437
|
end
|
437
438
|
|
439
|
+
# Resource /{{merchantId}}/payments/{{paymentId}}/refunds
|
440
|
+
#
|
441
|
+
# {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/refunds.html Get refunds of payment}
|
442
|
+
# payment_id:: String
|
443
|
+
# context:: {Ingenico::Connect::SDK::CallContext}
|
444
|
+
# Returns:: {Ingenico::Connect::SDK::Domain::Refund::RefundsResponse}
|
445
|
+
# Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
|
446
|
+
# Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
|
447
|
+
# Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
|
448
|
+
# Raises:: {Ingenico::Connect::SDK::ReferenceException} if an object was attempted to be referenced that doesn't exist or has been removed,
|
449
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
450
|
+
# Raises:: {Ingenico::Connect::SDK::GlobalCollectException} if something went wrong at the Ingenico ePayments platform,
|
451
|
+
# the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
|
452
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
453
|
+
# Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
|
454
|
+
def refunds(payment_id, context=nil)
|
455
|
+
path_context = {
|
456
|
+
'paymentId' => payment_id,
|
457
|
+
}
|
458
|
+
uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/refunds', path_context)
|
459
|
+
return @communicator.get(
|
460
|
+
uri,
|
461
|
+
client_headers,
|
462
|
+
nil,
|
463
|
+
Ingenico::Connect::SDK::Domain::Refund::RefundsResponse,
|
464
|
+
context)
|
465
|
+
rescue ResponseException => e
|
466
|
+
error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
|
467
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
468
|
+
raise create_exception(e.status_code, e.body, error_object, context)
|
469
|
+
end
|
470
|
+
|
438
471
|
# Resource /{{merchantId}}/payments/{{paymentId}}/cancel
|
439
472
|
#
|
440
473
|
# {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/cancel.html Cancel payment}
|
@@ -5,7 +5,7 @@ module Ingenico::Connect::SDK
|
|
5
5
|
|
6
6
|
# Manages metadata about the server using the SDK
|
7
7
|
class MetaDataProvider
|
8
|
-
@@SDK_VERSION = '1.
|
8
|
+
@@SDK_VERSION = '1.23.0'
|
9
9
|
@@SERVER_META_INFO_HEADER = 'X-GCS-ServerMetaInfo'
|
10
10
|
@@PROHIBITED_HEADERS = [@@SERVER_META_INFO_HEADER, 'X-GCS-Idempotence-Key',
|
11
11
|
'Date', 'Content-Type', 'Authorization'].sort!.freeze
|
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: 1.
|
4
|
+
version: 1.23.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: 2018-
|
11
|
+
date: 2018-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- examples/merchant/payments/find_payments_example.rb
|
143
143
|
- examples/merchant/payments/get_payment_captures_example.rb
|
144
144
|
- examples/merchant/payments/get_payment_example.rb
|
145
|
+
- examples/merchant/payments/get_refunds_example.rb
|
145
146
|
- examples/merchant/payments/get_third_party_status_example.rb
|
146
147
|
- examples/merchant/payments/process_challenged_payment_example.rb
|
147
148
|
- examples/merchant/payments/refund_payment_example.rb
|
@@ -431,6 +432,7 @@ files:
|
|
431
432
|
- lib/ingenico/connect/sdk/domain/refund/refund_request.rb
|
432
433
|
- lib/ingenico/connect/sdk/domain/refund/refund_response.rb
|
433
434
|
- lib/ingenico/connect/sdk/domain/refund/refund_result.rb
|
435
|
+
- lib/ingenico/connect/sdk/domain/refund/refunds_response.rb
|
434
436
|
- lib/ingenico/connect/sdk/domain/riskassessments/contact_details_risk_assessment.rb
|
435
437
|
- lib/ingenico/connect/sdk/domain/riskassessments/customer_risk_assessment.rb
|
436
438
|
- lib/ingenico/connect/sdk/domain/riskassessments/order_risk_assessment.rb
|