everypay 0.0.1
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 +7 -0
- data/.gitignore +4 -0
- data/Gemfile +2 -0
- data/LICENSE +20 -0
- data/README.md +5 -0
- data/Rakefile +7 -0
- data/everypay.gemspec +24 -0
- data/lib/everypay.rb +31 -0
- data/lib/everypay/customer.rb +49 -0
- data/lib/everypay/errors/not_available_method_error.rb +6 -0
- data/lib/everypay/payment.rb +78 -0
- data/lib/everypay/resource.rb +73 -0
- data/lib/everypay/token.rb +43 -0
- data/test/everypay/payment_test.rb +47 -0
- data/test/test_helper.rb +18 -0
- metadata +129 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bdc2a27a9ef4ac847bd2d63a1ff60739331a0d54
|
4
|
+
data.tar.gz: e47719cff0b7acbf94cd7741f0297a86825977f2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6f093e30cbf7cb70dab1933cd60e1cb663d53a7992dd9205f592cf00cdb15e10287a8ee82275e96a4de29bc42af1e7f212b8316cae0acb4f9770282bfeaf0870
|
7
|
+
data.tar.gz: 86a54ed5aecfdcee3a06ce2088eacb54268c11b3343262435022725e7aeef84ff2d60d326483f6a7099f26bdca80d1e4c47b277de060a454a5d80bec25d855b0
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2012-2015 Everypay
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
data/Rakefile
ADDED
data/everypay.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'everypay'
|
5
|
+
s.version = '0.0.1'
|
6
|
+
s.date = '2015-10-21'
|
7
|
+
s.summary = 'Everypay api library for ruby.'
|
8
|
+
s.description = 'Everypay payment gateway. See https://www.everypay.gr for details.'
|
9
|
+
s.authors = ['Andreas Kollaros']
|
10
|
+
s.email = 'akl@everypay.gr'
|
11
|
+
s.homepage = 'https://www.everypay.gr/api'
|
12
|
+
s.license = 'MIT'
|
13
|
+
|
14
|
+
s.add_dependency('rest-client', '~> 1.8')
|
15
|
+
s.add_dependency('json', '~> 1.8')
|
16
|
+
|
17
|
+
s.add_development_dependency('mocha', '~> 1.1')
|
18
|
+
s.add_development_dependency('test-unit', '~> 3.1')
|
19
|
+
s.add_development_dependency('rake')
|
20
|
+
|
21
|
+
s.files = `git ls-files`.split("\n")
|
22
|
+
s.test_files = `git ls-files -- test/*`.split("\n")
|
23
|
+
s.require_paths = ['lib']
|
24
|
+
end
|
data/lib/everypay.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
require 'everypay/errors/not_available_method_error'
|
7
|
+
require 'everypay/resource'
|
8
|
+
require 'everypay/payment'
|
9
|
+
require 'everypay/customer'
|
10
|
+
require 'everypay/token'
|
11
|
+
|
12
|
+
module Everypay
|
13
|
+
|
14
|
+
@test = false
|
15
|
+
@verify_ssl = true
|
16
|
+
@api_uri = 'https://api.everypay.gr'
|
17
|
+
@sandbox_uri = 'https://sandbox-api.everypay.gr'
|
18
|
+
|
19
|
+
class << self
|
20
|
+
attr_accessor :api_key, :test, :verify_ssl
|
21
|
+
attr_reader :api_uri, :sandbox_uri
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.test?
|
25
|
+
@test == true
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.uri
|
29
|
+
test? ? @sandbox_uri : @api_uri
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
module Everypay
|
4
|
+
|
5
|
+
class Customer < Resource
|
6
|
+
|
7
|
+
class << self
|
8
|
+
|
9
|
+
# Create a new customer.
|
10
|
+
#
|
11
|
+
# Available payload parameters are:
|
12
|
+
#
|
13
|
+
# For customers from credit / debit cards, card info are required.
|
14
|
+
# - card_number: A valid credit /debit card number. [Required]
|
15
|
+
# - expiration_month: Integer representation of month. [Required]
|
16
|
+
# - expiration_year: Integer represantation of a valid expiration year. [Required]
|
17
|
+
# - cvv: Card verification value. Three or four (American express) digits. [Required]
|
18
|
+
# - holder_name: First and last name of the card holder. [Required]
|
19
|
+
#
|
20
|
+
# For customers from card token, a valid card token required. Card tokens
|
21
|
+
# can be obtained from Token::create api calls.
|
22
|
+
# - token [Required].
|
23
|
+
#
|
24
|
+
# Optional params.
|
25
|
+
# - description: A decription for this customer max 255 chars. [Optional]
|
26
|
+
# - email: Customer email. [Optional]
|
27
|
+
# - full_name: Customer full name. [Optional]
|
28
|
+
def create payload
|
29
|
+
super
|
30
|
+
end
|
31
|
+
|
32
|
+
def update token, payload
|
33
|
+
super
|
34
|
+
end
|
35
|
+
|
36
|
+
def delete token
|
37
|
+
super
|
38
|
+
end
|
39
|
+
|
40
|
+
protected
|
41
|
+
|
42
|
+
def resource
|
43
|
+
'customers'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
module Everypay
|
4
|
+
|
5
|
+
class Payment < Resource
|
6
|
+
|
7
|
+
class << self
|
8
|
+
|
9
|
+
# Create a new payment.
|
10
|
+
#
|
11
|
+
# Available payload parameters are:
|
12
|
+
# - amount: The amount in cents for the payment. [Required]
|
13
|
+
#
|
14
|
+
# For direct payment with credit / debit cards, card info are required.
|
15
|
+
# - card_number: A valid credit /debit card number. [Required]
|
16
|
+
# - expiration_month: Integer representation of month. [Required]
|
17
|
+
# - expiration_year: Integer represantation of a valid expiration year. [Required]
|
18
|
+
# - cvv: Card verification value. Three or four (American express) digits. [Required]
|
19
|
+
# - holder_name: First and last name of the card holder. [Required]
|
20
|
+
#
|
21
|
+
# For payments with card token, a valid card token required. Card tokens
|
22
|
+
# can be obtained from Token::create api calls.
|
23
|
+
# - token [Required].
|
24
|
+
#
|
25
|
+
# Optional params.
|
26
|
+
# - currency: The ISO 4217 code currency used for this payment. [Optional]
|
27
|
+
# - description: A decription for this payment max 255 chars. [Optional]
|
28
|
+
# - payee_email: Customer email. [Optional]
|
29
|
+
# - payee_phone: Customer phone number. [Optional]
|
30
|
+
# - capture: Integer Whether to capture a payment or just authorize it.
|
31
|
+
# To authorize a payment this value must be 0.
|
32
|
+
# - create_customer: Integer(0,1) Whether to create a customer and store its
|
33
|
+
# card or not.
|
34
|
+
# - installments: Integer(0,1) The number of installments for this payment.
|
35
|
+
# Can only be used for credit card payments.
|
36
|
+
# - max_installments: Integer Used for payments with token, to validate
|
37
|
+
# max installments set by the merchant from
|
38
|
+
# everypay Button.
|
39
|
+
#
|
40
|
+
def create payload
|
41
|
+
super
|
42
|
+
end
|
43
|
+
|
44
|
+
def capture token
|
45
|
+
invoke(:put, {:namespace => 'capture', :token => token})
|
46
|
+
end
|
47
|
+
|
48
|
+
# Refund a payment.
|
49
|
+
#
|
50
|
+
# Available payload parameters are:
|
51
|
+
# - amount: The amount to refund. The amount must not exceed the maximum
|
52
|
+
# amount of Payment. Can be used for partial refunds. If ommited
|
53
|
+
# then a full refund will be created. [Optional]
|
54
|
+
# - description: A description for this refund max 255 chars. [Optional]
|
55
|
+
#
|
56
|
+
def refund token, payload={}
|
57
|
+
payload.merge! :namespace => 'refund', :token => token
|
58
|
+
invoke :put, payload
|
59
|
+
end
|
60
|
+
|
61
|
+
def update token, payload
|
62
|
+
raise NotAvailableMethodError.new("resource #{resource} does not support #{__method__} method.")
|
63
|
+
end
|
64
|
+
|
65
|
+
def delete token
|
66
|
+
raise NotAvailableMethodError.new("resource #{resource} does not support #{__method__} method.")
|
67
|
+
end
|
68
|
+
|
69
|
+
protected
|
70
|
+
|
71
|
+
def resource
|
72
|
+
'payments'
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
module Everypay
|
4
|
+
|
5
|
+
class Resource
|
6
|
+
|
7
|
+
class << self
|
8
|
+
|
9
|
+
def create payload
|
10
|
+
invoke :post, payload
|
11
|
+
end
|
12
|
+
|
13
|
+
def retrieve token
|
14
|
+
invoke :get, {:token => token}
|
15
|
+
end
|
16
|
+
|
17
|
+
def list filters={}
|
18
|
+
invoke :get, filters
|
19
|
+
end
|
20
|
+
|
21
|
+
def update token, payload
|
22
|
+
payload.merge! :token => token
|
23
|
+
invoke :put, payload
|
24
|
+
end
|
25
|
+
|
26
|
+
def delete token
|
27
|
+
invoke :delete, {:token => token}
|
28
|
+
end
|
29
|
+
|
30
|
+
protected
|
31
|
+
|
32
|
+
def resource
|
33
|
+
raise NotImplementedError.new('resource method must return a resource name ex payment, customer, token etc')
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def invoke method, payload={}
|
38
|
+
url = endpoint
|
39
|
+
url = url + '/' + payload[:namespace] if payload[:namespace]
|
40
|
+
url = url + '/' + payload.delete(:token) if payload[:token]
|
41
|
+
|
42
|
+
opts = {:method => method,
|
43
|
+
:verify_ssl => Everypay.verify_ssl,
|
44
|
+
:url => url,
|
45
|
+
:user => Everypay.api_key}
|
46
|
+
request opts, payload
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def endpoint
|
52
|
+
Everypay.uri + '/' + resource
|
53
|
+
end
|
54
|
+
|
55
|
+
def request opts, payload
|
56
|
+
opts[:payload] = payload
|
57
|
+
response = nil
|
58
|
+
begin
|
59
|
+
response = RestClient::Request.execute opts
|
60
|
+
rescue RestClient::ExceptionWithResponse => e
|
61
|
+
response = e.response if e.response
|
62
|
+
rescue RestClient::SSLCertificateNotVerified => e
|
63
|
+
response = JSON.generate({:error => {:code => 400, :status=>400, :message => e.message}})
|
64
|
+
end
|
65
|
+
|
66
|
+
hash = JSON.parse response
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
module Everypay
|
4
|
+
|
5
|
+
class Token < Resource
|
6
|
+
|
7
|
+
class << self
|
8
|
+
|
9
|
+
# Create a new card token.
|
10
|
+
#
|
11
|
+
# Available payload parameters are a valid card info data.
|
12
|
+
# - card_number: A valid credit /debit card number. [Required]
|
13
|
+
# - expiration_month: Integer representation of month. [Required]
|
14
|
+
# - expiration_year: Integer represantation of a valid expiration year. [Required]
|
15
|
+
# - cvv: Card verification value. Three or four (American express) digits. [Required]
|
16
|
+
# - holder_name: First and last name of the card holder. [Required]
|
17
|
+
#
|
18
|
+
def create payload
|
19
|
+
super
|
20
|
+
end
|
21
|
+
|
22
|
+
def update token, payload
|
23
|
+
raise NotAvailableMethodError.new("resource #{resource} does not support #{__method__} method.")
|
24
|
+
end
|
25
|
+
|
26
|
+
def delete token
|
27
|
+
raise NotAvailableMethodError.new("resource #{resource} does not support #{__method__} method.")
|
28
|
+
end
|
29
|
+
|
30
|
+
def list filters={}
|
31
|
+
raise NotAvailableMethodError.new("resource #{resource} does not support #{__method__} method.")
|
32
|
+
end
|
33
|
+
|
34
|
+
protected
|
35
|
+
|
36
|
+
def resource
|
37
|
+
'tokens'
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
require File.expand_path('../../test_helper', __FILE__)
|
4
|
+
|
5
|
+
module Everypay
|
6
|
+
|
7
|
+
class PaymentTest < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def test_payment_retrieve
|
10
|
+
token = 'pmt_4KQ2DD15gs2w8RS4M2MhBz1Q'
|
11
|
+
Payment.expects(:invoke).returns(success_payment_retrieve_response)
|
12
|
+
payment = Payment.retrieve token
|
13
|
+
assert_payment_attributes payment
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_payment_create
|
17
|
+
Payment.expects(:invoke).returns(success_payment_create_response)
|
18
|
+
payload = {:amount => 1000,
|
19
|
+
:capture => 0,
|
20
|
+
:card_number => '4111111111111111',
|
21
|
+
:expiration_month => 01,
|
22
|
+
:expiration_year => 2016,
|
23
|
+
:cvv => 123,
|
24
|
+
:holder_name => 'John Doe'}
|
25
|
+
payment = Payment.create payload
|
26
|
+
|
27
|
+
assert_payment_attributes payment
|
28
|
+
assert_equal 'Captured', payment['status']
|
29
|
+
end
|
30
|
+
|
31
|
+
def success_payment_retrieve_response
|
32
|
+
JSON.parse '{ "token": "pmt_4KQ2DD15gs2w8RS4M2MhBz1Q", "date_created": "2015-07-06T18:05:01+0300", "description": "payment for item #222", "currency": "EUR", "status": "Captured", "amount": 50, "refund_amount": 0, "fee_amount": 21, "payee_email": null, "payee_phone": null, "refunded": false, "refunds": [], "card": { "expiration_month": "10", "expiration_year": "2017", "last_four": "9610", "type": "Visa", "holder_name": "John Doe" } }'
|
33
|
+
end
|
34
|
+
|
35
|
+
def success_payment_create_response
|
36
|
+
JSON.parse '{ "token": "pmt_guLEyWbxfj9zosdIeyUIWOWP", "date_created": "2015-07-08T18:05:50+0300", "description": null, "currency": "EUR", "status": "Captured", "amount": 100, "refund_amount": 0, "fee_amount": 22, "payee_email": null, "payee_phone": null, "refunded": false, "refunds": [], "card": { "expiration_month": "01", "expiration_year": "2016", "last_four": "1111", "type": "Visa", "holder_name": "John Doe" } }'
|
37
|
+
end
|
38
|
+
|
39
|
+
def assert_payment_attributes payment
|
40
|
+
assert_boolean true, payment.key?('token')
|
41
|
+
assert_boolean true, payment.key?('status')
|
42
|
+
assert_boolean true, payment.key?('amount')
|
43
|
+
assert_boolean true, payment.key?('fee_amount')
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2:
|
2
|
+
|
3
|
+
require 'everypay'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'mocha/setup'
|
6
|
+
require 'json'
|
7
|
+
|
8
|
+
class Test::Unit::TestCase
|
9
|
+
include Mocha
|
10
|
+
|
11
|
+
setup do
|
12
|
+
Everypay.api_key="foo"
|
13
|
+
end
|
14
|
+
|
15
|
+
teardown do
|
16
|
+
Everypay.api_key=nil
|
17
|
+
end
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: everypay
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andreas Kollaros
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rest-client
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.8'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.8'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.8'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: mocha
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.1'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: test-unit
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: Everypay payment gateway. See https://www.everypay.gr for details.
|
84
|
+
email: akl@everypay.gr
|
85
|
+
executables: []
|
86
|
+
extensions: []
|
87
|
+
extra_rdoc_files: []
|
88
|
+
files:
|
89
|
+
- ".gitignore"
|
90
|
+
- Gemfile
|
91
|
+
- LICENSE
|
92
|
+
- README.md
|
93
|
+
- Rakefile
|
94
|
+
- everypay.gemspec
|
95
|
+
- lib/everypay.rb
|
96
|
+
- lib/everypay/customer.rb
|
97
|
+
- lib/everypay/errors/not_available_method_error.rb
|
98
|
+
- lib/everypay/payment.rb
|
99
|
+
- lib/everypay/resource.rb
|
100
|
+
- lib/everypay/token.rb
|
101
|
+
- test/everypay/payment_test.rb
|
102
|
+
- test/test_helper.rb
|
103
|
+
homepage: https://www.everypay.gr/api
|
104
|
+
licenses:
|
105
|
+
- MIT
|
106
|
+
metadata: {}
|
107
|
+
post_install_message:
|
108
|
+
rdoc_options: []
|
109
|
+
require_paths:
|
110
|
+
- lib
|
111
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0'
|
116
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
121
|
+
requirements: []
|
122
|
+
rubyforge_project:
|
123
|
+
rubygems_version: 2.4.8
|
124
|
+
signing_key:
|
125
|
+
specification_version: 4
|
126
|
+
summary: Everypay api library for ruby.
|
127
|
+
test_files:
|
128
|
+
- test/everypay/payment_test.rb
|
129
|
+
- test/test_helper.rb
|