judopay 1.0.0.pre
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 +23 -0
- data/.rspec +2 -0
- data/.rubocop.yml +47 -0
- data/.yardopts +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +43 -0
- data/Rakefile +7 -0
- data/judopay.gemspec +37 -0
- data/lib/certs/rapidssl_ca.crt +64 -0
- data/lib/faraday/judo_mashify.rb +13 -0
- data/lib/faraday/raise_http_exception.rb +36 -0
- data/lib/judopay.rb +67 -0
- data/lib/judopay/api.rb +10 -0
- data/lib/judopay/connection.rb +67 -0
- data/lib/judopay/core_ext/hash.rb +29 -0
- data/lib/judopay/core_ext/string.rb +31 -0
- data/lib/judopay/error.rb +153 -0
- data/lib/judopay/mash.rb +7 -0
- data/lib/judopay/model.rb +109 -0
- data/lib/judopay/models/card_address.rb +11 -0
- data/lib/judopay/models/card_payment.rb +39 -0
- data/lib/judopay/models/card_preauth.rb +12 -0
- data/lib/judopay/models/collection.rb +16 -0
- data/lib/judopay/models/consumer_location.rb +8 -0
- data/lib/judopay/models/market/collection.rb +10 -0
- data/lib/judopay/models/market/payment.rb +10 -0
- data/lib/judopay/models/market/preauth.rb +10 -0
- data/lib/judopay/models/market/refund.rb +10 -0
- data/lib/judopay/models/market/transaction.rb +10 -0
- data/lib/judopay/models/payment.rb +8 -0
- data/lib/judopay/models/preauth.rb +8 -0
- data/lib/judopay/models/refund.rb +16 -0
- data/lib/judopay/models/token_payment.rb +30 -0
- data/lib/judopay/models/token_preauth.rb +10 -0
- data/lib/judopay/models/transaction.rb +8 -0
- data/lib/judopay/models/web_payments/payment.rb +24 -0
- data/lib/judopay/models/web_payments/preauth.rb +10 -0
- data/lib/judopay/models/web_payments/transaction.rb +19 -0
- data/lib/judopay/null_logger.rb +11 -0
- data/lib/judopay/request.rb +50 -0
- data/lib/judopay/response.rb +7 -0
- data/lib/judopay/serializer.rb +31 -0
- data/lib/judopay/version.rb +3 -0
- data/spec/factories.rb +103 -0
- data/spec/faraday/response_spec.rb +29 -0
- data/spec/fixtures/card_payments/create.json +22 -0
- data/spec/fixtures/card_payments/create_3dsecure.json +8 -0
- data/spec/fixtures/card_payments/create_bad_request.json +5 -0
- data/spec/fixtures/card_payments/create_declined.json +24 -0
- data/spec/fixtures/card_payments/validate.json +5 -0
- data/spec/fixtures/token_payments/create.json +22 -0
- data/spec/fixtures/transactions/all.json +238 -0
- data/spec/fixtures/transactions/find.json +23 -0
- data/spec/fixtures/transactions/find_not_found.json +5 -0
- data/spec/fixtures/web_payments/payments/create.json +4 -0
- data/spec/fixtures/web_payments/payments/find.json +39 -0
- data/spec/judopay/card_address_spec.rb +10 -0
- data/spec/judopay/card_payment_spec.rb +64 -0
- data/spec/judopay/card_preauth_spec.rb +35 -0
- data/spec/judopay/collection_spec.rb +26 -0
- data/spec/judopay/core_ext/hash_spec.rb +24 -0
- data/spec/judopay/core_ext/string_spec.rb +16 -0
- data/spec/judopay/error_spec.rb +49 -0
- data/spec/judopay/judopay_spec.rb +19 -0
- data/spec/judopay/market/collection_spec.rb +26 -0
- data/spec/judopay/market/payment_spec.rb +14 -0
- data/spec/judopay/market/preauth_spec.rb +14 -0
- data/spec/judopay/market/refund_spec.rb +26 -0
- data/spec/judopay/market/transaction_spec.rb +14 -0
- data/spec/judopay/payment_spec.rb +14 -0
- data/spec/judopay/preauth_spec.rb +14 -0
- data/spec/judopay/refund_spec.rb +26 -0
- data/spec/judopay/token_payment_spec.rb +22 -0
- data/spec/judopay/token_preauth_spec.rb +22 -0
- data/spec/judopay/transaction_spec.rb +51 -0
- data/spec/judopay/web_payments/payment_spec.rb +16 -0
- data/spec/judopay/web_payments/preauth_spec.rb +16 -0
- data/spec/judopay/web_payments/transaction_spec.rb +15 -0
- data/spec/spec_helper.rb +37 -0
- data/tutorials/judo_getting_started.md +74 -0
- data/tutorials/judo_making_a_payment.md +84 -0
- metadata +373 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../../../lib/judopay/models/web_payments/preauth'
|
3
|
+
|
4
|
+
describe Judopay::WebPayments::Preauth do
|
5
|
+
it 'should create a new web preauth request' do
|
6
|
+
stub_post('/webpayments/payments').
|
7
|
+
to_return(:status => 200,
|
8
|
+
:body => lambda { |_request| fixture('web_payments/payments/create.json') })
|
9
|
+
|
10
|
+
payment = build(:web_preauth)
|
11
|
+
response = payment.create
|
12
|
+
|
13
|
+
expect(response).to be_a(Hash)
|
14
|
+
expect(response.post_url).to eq('https://pay.judopay-sandbox.com/')
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../../../lib/judopay/models/web_payments/transaction'
|
3
|
+
|
4
|
+
describe Judopay::WebPayments::Transaction do
|
5
|
+
it 'should give details of a single web transaction given a valid reference' do
|
6
|
+
reference = '4gcBAAMAGAASAAAADA66kRor6ofknGqU3A6i-759FprFGPH3ecVcW5ChMQK0f3pLBQ'
|
7
|
+
stub_get('/webpayments/' + reference).
|
8
|
+
to_return(:status => 200,
|
9
|
+
:body => lambda { |_request| fixture('web_payments/payments/find.json') })
|
10
|
+
|
11
|
+
payment = Judopay::WebPayments::Transaction.find(reference)
|
12
|
+
expect(payment).to be_a(Hash)
|
13
|
+
expect(payment.reference).to eq(reference)
|
14
|
+
end
|
15
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require_relative '../lib/judopay'
|
2
|
+
require 'i18n'
|
3
|
+
|
4
|
+
require 'factory_girl'
|
5
|
+
require 'factories'
|
6
|
+
require 'webmock/rspec'
|
7
|
+
|
8
|
+
# Added to counter deprecation warning
|
9
|
+
I18n.enforce_available_locales = true
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.include FactoryGirl::Syntax::Methods
|
13
|
+
config.include WebMock::API
|
14
|
+
|
15
|
+
config.expect_with :rspec do |c|
|
16
|
+
c.syntax = [:expect, :should]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# Use Judopay default configuration
|
21
|
+
Judopay.configure
|
22
|
+
|
23
|
+
def stub_get(path)
|
24
|
+
stub_request(:get, /judopay/i)
|
25
|
+
end
|
26
|
+
|
27
|
+
def stub_post(path)
|
28
|
+
stub_request(:post, /judopay/i)
|
29
|
+
end
|
30
|
+
|
31
|
+
def fixture_path
|
32
|
+
File.expand_path('../fixtures', __FILE__)
|
33
|
+
end
|
34
|
+
|
35
|
+
def fixture(file)
|
36
|
+
File.new(fixture_path + '/' + file)
|
37
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# Getting started - Ruby
|
2
|
+
|
3
|
+
[Include standard create account/getting started sections]
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
The Judopay gem supports Ruby 1.9.3 and above (including 2.0.x and 2.1.x).
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
gem 'judopay'
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install judopay
|
20
|
+
|
21
|
+
## Dependencies
|
22
|
+
|
23
|
+
These will all be automatically installed for you when you install the Judopay gem.
|
24
|
+
|
25
|
+
### virtus
|
26
|
+
https://github.com/solnic/virtus
|
27
|
+
Provides a common API for defining attributes on a model
|
28
|
+
|
29
|
+
### httpclient
|
30
|
+
https://github.com/nahi/httpclient
|
31
|
+
HTTP client adaptor used by Faraday
|
32
|
+
|
33
|
+
### activemodel
|
34
|
+
https://github.com/rails/rails/tree/master/activemodel
|
35
|
+
Provides pre-request validation of user input
|
36
|
+
|
37
|
+
### faraday
|
38
|
+
https://github.com/lostisland/faraday
|
39
|
+
Simple, but flexible HTTP client library
|
40
|
+
|
41
|
+
### rash
|
42
|
+
https://github.com/tcocca/rash
|
43
|
+
Extension to Hashie::Mash to convert all keys in the hash to underscore
|
44
|
+
|
45
|
+
### addressable
|
46
|
+
https://github.com/sporkmonger/addressable
|
47
|
+
Used for generation of URIs
|
48
|
+
|
49
|
+
# Configuration
|
50
|
+
|
51
|
+
You configure the Judopay gem by passing a block. For example:
|
52
|
+
|
53
|
+
Judopay.configure do |config|
|
54
|
+
config.judo_id = 12345
|
55
|
+
end
|
56
|
+
|
57
|
+
# Authentication
|
58
|
+
You can authenticate either with basic authentication by passing your login and password credentials or using an existing OAuth2 access token.
|
59
|
+
|
60
|
+
### Basic authentication
|
61
|
+
|
62
|
+
Judopay.configure do |config|
|
63
|
+
config.judo_id = 12345
|
64
|
+
config.api_token = 'your-token'
|
65
|
+
config.api_secret = 'your-secret'
|
66
|
+
end
|
67
|
+
|
68
|
+
### OAuth2 access token authentication
|
69
|
+
|
70
|
+
Judopay.configure do |config|
|
71
|
+
config.judo_id = 12345
|
72
|
+
config.oauth_access_token = 'your-oauth-token'
|
73
|
+
end
|
74
|
+
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# Making a payment - Ruby
|
2
|
+
|
3
|
+
First, configure Judopay with your authentication credentials (as described in the Getting Started guide).
|
4
|
+
|
5
|
+
Judopay.configure do |config|
|
6
|
+
config.api_token = 'your-token'
|
7
|
+
config.api_secret = 'your-secret'
|
8
|
+
end
|
9
|
+
|
10
|
+
To make a new payment with full card details, create a new Judopay::Payment. You can check on the required fields and the format of each field in the _Judopay REST API reference_.
|
11
|
+
|
12
|
+
transaction = Judopay::Payment.new(
|
13
|
+
:your_consumer_reference => '123',
|
14
|
+
:your_payment_reference => '456',
|
15
|
+
:judo_id => '123-456-789',
|
16
|
+
:amount => 5.01,
|
17
|
+
:card_number => '4976000000003436',
|
18
|
+
:expiry_date => '12/15',
|
19
|
+
:cv2 => '452',
|
20
|
+
:card_address => {
|
21
|
+
:line1 => '32 Edward Street',
|
22
|
+
:town => 'Camborne',
|
23
|
+
:postcode => 'TR14 8PA'
|
24
|
+
},
|
25
|
+
:consumer_location => {
|
26
|
+
:latitude => 51.5033630,
|
27
|
+
:longitude => -0.1276250
|
28
|
+
}
|
29
|
+
)
|
30
|
+
|
31
|
+
To send the request to the API, call:
|
32
|
+
|
33
|
+
response = payment.create
|
34
|
+
|
35
|
+
If the payment is successful, you'll receive a response like this:
|
36
|
+
|
37
|
+
#<Judopay::Mash amount=5.01 appears_on_statement_as="JudoPay/XXX" card_details=#<Judopay::Mash card_lastfour="3436" card_token="WidQ0QXs4VMloCCerfGFHQkLVFwbwjVc" card_type=1 end_date="1215"> consumer=#<Judopay::Mash consumer_token="rFl6UUihdSfpJt3x" your_consumer_reference="123"> created_at="2014-07-08T15:49:10.8587+01:00" currency="GBP" judo_id=100978394 merchant_name="XXXX" message="AuthCode: 570320" net_amount=5.01 original_amount=5.01 receipt_id="465377" result="Success" type="Payment">
|
38
|
+
|
39
|
+
The Judopay::Mash object behaves like a traditional Hash, but with extra special powers. See:
|
40
|
+
|
41
|
+
http://www.intridea.com/blog/2008/4/12/mash-mocking-hash-for-total-poser-objects
|
42
|
+
|
43
|
+
## Error handling
|
44
|
+
|
45
|
+
When making a payment, there are a number of different scenarios that can arise. It is important to handle all of the different exceptions in your code.
|
46
|
+
|
47
|
+
begin
|
48
|
+
response = payment.create
|
49
|
+
rescue Judopay::ValidationError => e
|
50
|
+
puts e.message
|
51
|
+
puts e.model_errors.inspect # Hash of validation errors
|
52
|
+
rescue Judopay::BadRequest => e
|
53
|
+
# Invalid parameters were supplied to Judopay's API
|
54
|
+
puts e.message
|
55
|
+
puts e.model_errors.inspect # Hash of validation errors
|
56
|
+
rescue Judopay::NotAuthorized => e
|
57
|
+
# You're not authorized to make the request - check credentials and permissions in the Judopay portal
|
58
|
+
rescue Judopay::NotFound => e
|
59
|
+
# The resource was not found
|
60
|
+
rescue Judopay::Conflict => e
|
61
|
+
# Rate limiting - you have made too many requests to the Judopay API
|
62
|
+
rescue Judopay::Error => e
|
63
|
+
# There was a problem connecting to the API
|
64
|
+
rescue => e
|
65
|
+
# A problem occurred outside the Judopay gem
|
66
|
+
end
|
67
|
+
|
68
|
+
## Logging
|
69
|
+
|
70
|
+
To help you debug your Judopay integration, you can attach a logger to the gem.
|
71
|
+
|
72
|
+
For example, to log debug messages to the file 'log.txt':
|
73
|
+
|
74
|
+
logger = Logger.new('log.txt')
|
75
|
+
logger.level = Logger::DEBUG
|
76
|
+
Judopay.configure do |config|
|
77
|
+
config.logger = logger
|
78
|
+
end
|
79
|
+
|
80
|
+
If you're using Rails, you use the built-in logger to write to your existing application log file:
|
81
|
+
|
82
|
+
Judopay.configure do |config|
|
83
|
+
config.logger = Rails.logger
|
84
|
+
end
|
metadata
ADDED
@@ -0,0 +1,373 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: judopay
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0.pre
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Rosser
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-07-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: yard-xml
|
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
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: factory_girl
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: webmock
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: virtus
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.0.2
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.0.2
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: httpclient
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 2.4.0
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 2.4.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: activemodel
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 4.1.1
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 4.1.1
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: faraday
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - '='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.9.0
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - '='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.9.0
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: faraday_middleware
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - '='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 0.9.1
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 0.9.1
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: rash
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - '='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: 0.4.0
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - '='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 0.4.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: addressable
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - '='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 2.3.6
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - '='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 2.3.6
|
223
|
+
description: ''
|
224
|
+
email:
|
225
|
+
- developersupport@judopay.com
|
226
|
+
executables: []
|
227
|
+
extensions: []
|
228
|
+
extra_rdoc_files: []
|
229
|
+
files:
|
230
|
+
- ".gitignore"
|
231
|
+
- ".rspec"
|
232
|
+
- ".rubocop.yml"
|
233
|
+
- ".yardopts"
|
234
|
+
- Gemfile
|
235
|
+
- LICENSE.txt
|
236
|
+
- README.md
|
237
|
+
- Rakefile
|
238
|
+
- judopay.gemspec
|
239
|
+
- lib/certs/rapidssl_ca.crt
|
240
|
+
- lib/faraday/judo_mashify.rb
|
241
|
+
- lib/faraday/raise_http_exception.rb
|
242
|
+
- lib/judopay.rb
|
243
|
+
- lib/judopay/api.rb
|
244
|
+
- lib/judopay/connection.rb
|
245
|
+
- lib/judopay/core_ext/hash.rb
|
246
|
+
- lib/judopay/core_ext/string.rb
|
247
|
+
- lib/judopay/error.rb
|
248
|
+
- lib/judopay/mash.rb
|
249
|
+
- lib/judopay/model.rb
|
250
|
+
- lib/judopay/models/card_address.rb
|
251
|
+
- lib/judopay/models/card_payment.rb
|
252
|
+
- lib/judopay/models/card_preauth.rb
|
253
|
+
- lib/judopay/models/collection.rb
|
254
|
+
- lib/judopay/models/consumer_location.rb
|
255
|
+
- lib/judopay/models/market/collection.rb
|
256
|
+
- lib/judopay/models/market/payment.rb
|
257
|
+
- lib/judopay/models/market/preauth.rb
|
258
|
+
- lib/judopay/models/market/refund.rb
|
259
|
+
- lib/judopay/models/market/transaction.rb
|
260
|
+
- lib/judopay/models/payment.rb
|
261
|
+
- lib/judopay/models/preauth.rb
|
262
|
+
- lib/judopay/models/refund.rb
|
263
|
+
- lib/judopay/models/token_payment.rb
|
264
|
+
- lib/judopay/models/token_preauth.rb
|
265
|
+
- lib/judopay/models/transaction.rb
|
266
|
+
- lib/judopay/models/web_payments/payment.rb
|
267
|
+
- lib/judopay/models/web_payments/preauth.rb
|
268
|
+
- lib/judopay/models/web_payments/transaction.rb
|
269
|
+
- lib/judopay/null_logger.rb
|
270
|
+
- lib/judopay/request.rb
|
271
|
+
- lib/judopay/response.rb
|
272
|
+
- lib/judopay/serializer.rb
|
273
|
+
- lib/judopay/version.rb
|
274
|
+
- spec/factories.rb
|
275
|
+
- spec/faraday/response_spec.rb
|
276
|
+
- spec/fixtures/card_payments/create.json
|
277
|
+
- spec/fixtures/card_payments/create_3dsecure.json
|
278
|
+
- spec/fixtures/card_payments/create_bad_request.json
|
279
|
+
- spec/fixtures/card_payments/create_declined.json
|
280
|
+
- spec/fixtures/card_payments/validate.json
|
281
|
+
- spec/fixtures/token_payments/create.json
|
282
|
+
- spec/fixtures/transactions/all.json
|
283
|
+
- spec/fixtures/transactions/find.json
|
284
|
+
- spec/fixtures/transactions/find_not_found.json
|
285
|
+
- spec/fixtures/web_payments/payments/create.json
|
286
|
+
- spec/fixtures/web_payments/payments/find.json
|
287
|
+
- spec/judopay/card_address_spec.rb
|
288
|
+
- spec/judopay/card_payment_spec.rb
|
289
|
+
- spec/judopay/card_preauth_spec.rb
|
290
|
+
- spec/judopay/collection_spec.rb
|
291
|
+
- spec/judopay/core_ext/hash_spec.rb
|
292
|
+
- spec/judopay/core_ext/string_spec.rb
|
293
|
+
- spec/judopay/error_spec.rb
|
294
|
+
- spec/judopay/judopay_spec.rb
|
295
|
+
- spec/judopay/market/collection_spec.rb
|
296
|
+
- spec/judopay/market/payment_spec.rb
|
297
|
+
- spec/judopay/market/preauth_spec.rb
|
298
|
+
- spec/judopay/market/refund_spec.rb
|
299
|
+
- spec/judopay/market/transaction_spec.rb
|
300
|
+
- spec/judopay/payment_spec.rb
|
301
|
+
- spec/judopay/preauth_spec.rb
|
302
|
+
- spec/judopay/refund_spec.rb
|
303
|
+
- spec/judopay/token_payment_spec.rb
|
304
|
+
- spec/judopay/token_preauth_spec.rb
|
305
|
+
- spec/judopay/transaction_spec.rb
|
306
|
+
- spec/judopay/web_payments/payment_spec.rb
|
307
|
+
- spec/judopay/web_payments/preauth_spec.rb
|
308
|
+
- spec/judopay/web_payments/transaction_spec.rb
|
309
|
+
- spec/spec_helper.rb
|
310
|
+
- tutorials/judo_getting_started.md
|
311
|
+
- tutorials/judo_making_a_payment.md
|
312
|
+
homepage: http://www.judopay.com
|
313
|
+
licenses:
|
314
|
+
- MIT
|
315
|
+
metadata: {}
|
316
|
+
post_install_message:
|
317
|
+
rdoc_options: []
|
318
|
+
require_paths:
|
319
|
+
- lib
|
320
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
321
|
+
requirements:
|
322
|
+
- - ">="
|
323
|
+
- !ruby/object:Gem::Version
|
324
|
+
version: 1.9.3
|
325
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
326
|
+
requirements:
|
327
|
+
- - ">"
|
328
|
+
- !ruby/object:Gem::Version
|
329
|
+
version: 1.3.1
|
330
|
+
requirements: []
|
331
|
+
rubyforge_project:
|
332
|
+
rubygems_version: 2.2.2
|
333
|
+
signing_key:
|
334
|
+
specification_version: 4
|
335
|
+
summary: Ruby SDK wrapper for the Judopay REST API
|
336
|
+
test_files:
|
337
|
+
- spec/factories.rb
|
338
|
+
- spec/faraday/response_spec.rb
|
339
|
+
- spec/fixtures/card_payments/create.json
|
340
|
+
- spec/fixtures/card_payments/create_3dsecure.json
|
341
|
+
- spec/fixtures/card_payments/create_bad_request.json
|
342
|
+
- spec/fixtures/card_payments/create_declined.json
|
343
|
+
- spec/fixtures/card_payments/validate.json
|
344
|
+
- spec/fixtures/token_payments/create.json
|
345
|
+
- spec/fixtures/transactions/all.json
|
346
|
+
- spec/fixtures/transactions/find.json
|
347
|
+
- spec/fixtures/transactions/find_not_found.json
|
348
|
+
- spec/fixtures/web_payments/payments/create.json
|
349
|
+
- spec/fixtures/web_payments/payments/find.json
|
350
|
+
- spec/judopay/card_address_spec.rb
|
351
|
+
- spec/judopay/card_payment_spec.rb
|
352
|
+
- spec/judopay/card_preauth_spec.rb
|
353
|
+
- spec/judopay/collection_spec.rb
|
354
|
+
- spec/judopay/core_ext/hash_spec.rb
|
355
|
+
- spec/judopay/core_ext/string_spec.rb
|
356
|
+
- spec/judopay/error_spec.rb
|
357
|
+
- spec/judopay/judopay_spec.rb
|
358
|
+
- spec/judopay/market/collection_spec.rb
|
359
|
+
- spec/judopay/market/payment_spec.rb
|
360
|
+
- spec/judopay/market/preauth_spec.rb
|
361
|
+
- spec/judopay/market/refund_spec.rb
|
362
|
+
- spec/judopay/market/transaction_spec.rb
|
363
|
+
- spec/judopay/payment_spec.rb
|
364
|
+
- spec/judopay/preauth_spec.rb
|
365
|
+
- spec/judopay/refund_spec.rb
|
366
|
+
- spec/judopay/token_payment_spec.rb
|
367
|
+
- spec/judopay/token_preauth_spec.rb
|
368
|
+
- spec/judopay/transaction_spec.rb
|
369
|
+
- spec/judopay/web_payments/payment_spec.rb
|
370
|
+
- spec/judopay/web_payments/preauth_spec.rb
|
371
|
+
- spec/judopay/web_payments/transaction_spec.rb
|
372
|
+
- spec/spec_helper.rb
|
373
|
+
has_rdoc:
|