paysure 0.1.8 → 0.1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/lib/paysure/core.rb +11 -0
- data/lib/paysure/meaning.rb +11 -0
- data/lib/paysure/request.rb +5 -0
- data/lib/paysure/requests/get_token.rb +32 -0
- data/lib/paysure/requests/request_base.rb +9 -0
- data/lib/paysure/requests/verify.rb +29 -0
- data/lib/paysure/respond.rb +3 -0
- data/lib/paysure/responds/get_token.rb +35 -0
- data/lib/paysure/responds/verify.rb +28 -0
- data/lib/paysure/version.rb +1 -1
- data/paysure.gemspec +1 -0
- metadata +10 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 607dee1ebbc82af5d65025707cd246f0d0102a31
|
4
|
+
data.tar.gz: 5bc72b6fab9daa422fde76d5d22c8c8d25fabc12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c46e477976d2243ad44e73da44b989d2926e1af667b3a32f81208645aeee2a76b6c651f9d41bde6471be1f12e6c6822242044ab98317d0220e665fc4a56fe757
|
7
|
+
data.tar.gz: ec28941a5ceea644fd9c8fb2482e72c878b1f737c3e369f377c05c57dd8ec2499fdc62d2fe24f3f8f76ebfef508f3eaa5489caefea090f896a6a6f63e6f75721
|
data/.gitignore
CHANGED
data/lib/paysure/core.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
module Paysure
|
2
|
+
class GetToken < Paysure::RequestBase
|
3
|
+
include Validatable
|
4
|
+
attr_accessor :merchant_id,:callback_url, :amount,:data_request
|
5
|
+
attr_reader :response,:config
|
6
|
+
validates_presence_of :amount
|
7
|
+
validates_length_of :amount, :within => 1000..500000000
|
8
|
+
validates_format_of :amount, :with => /^\d*$/, :if => Proc.new { !amount.nil? }
|
9
|
+
|
10
|
+
def initialize(args = {})
|
11
|
+
super
|
12
|
+
@ACTION_NAME = [:get_token,'json'].join('.').freeze
|
13
|
+
@amount = args.fetch(:amount)
|
14
|
+
@callback_url = args.fetch(:callback_url,Paysure.configuration.callback_url)
|
15
|
+
@merchant_id = args.fetch(:merchant_id,Paysure.configuration.merchant_id)
|
16
|
+
@response = ResponseGetToken.new
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
def call
|
21
|
+
connection = Faraday.new(url: "#{@API_URL}/transaction/") do |faraday|
|
22
|
+
faraday.adapter Faraday.default_adapter
|
23
|
+
faraday.response :json
|
24
|
+
end
|
25
|
+
response = connection.get(@ACTION_NAME, callback_url: @callback_url, amount: @amount,merchant_id: @merchant_id)
|
26
|
+
@response.validate(response.body)
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Paysure
|
2
|
+
class Verify < Paysure::RequestBase
|
3
|
+
include Validatable
|
4
|
+
attr_accessor :merchant_id, :token
|
5
|
+
attr_reader :response,:config
|
6
|
+
validates_presence_of :token
|
7
|
+
|
8
|
+
def initialize(args = {})
|
9
|
+
super
|
10
|
+
@ACTION_NAME = [:verify,'json'].join('.').freeze
|
11
|
+
@token = args.fetch(:token)
|
12
|
+
@merchant_id = args.fetch(:merchant_id,Paysure.configuration.merchant_id)
|
13
|
+
@response = ResponseVerify.new
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
def call
|
18
|
+
connection = Faraday.new(url: "#{@API_URL}/transaction/") do |faraday|
|
19
|
+
faraday.adapter Faraday.default_adapter
|
20
|
+
faraday.response :json
|
21
|
+
end
|
22
|
+
response = connection.get(@ACTION_NAME, token: @token,merchant_id: @merchant_id)
|
23
|
+
@response.validate(response.body)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Paysure
|
2
|
+
class ResponseGetToken
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
|
5
|
+
def validate(response = nil)
|
6
|
+
@response = response
|
7
|
+
perform_validation
|
8
|
+
return self
|
9
|
+
end
|
10
|
+
|
11
|
+
def valid?
|
12
|
+
@valid
|
13
|
+
end
|
14
|
+
|
15
|
+
def redirect_url
|
16
|
+
return @response['redirect_to']
|
17
|
+
end
|
18
|
+
|
19
|
+
def token
|
20
|
+
return @response['token']
|
21
|
+
end
|
22
|
+
def full_message
|
23
|
+
return Paysure::ERRORS[@response['status'].to_s]
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def perform_validation
|
29
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
30
|
+
@valid = (@response['status'] == 200)
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Paysure
|
2
|
+
class ResponseVerify
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
|
5
|
+
def validate(response = nil)
|
6
|
+
@response = response
|
7
|
+
perform_validation
|
8
|
+
return self
|
9
|
+
end
|
10
|
+
|
11
|
+
def valid?
|
12
|
+
@valid
|
13
|
+
end
|
14
|
+
|
15
|
+
def full_message
|
16
|
+
return Paysure::ERRORS[@response['status'].to_s]
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def perform_validation
|
22
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
23
|
+
@valid = (@response['status'] == 1)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
data/lib/paysure/version.rb
CHANGED
data/paysure.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paysure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mohammad mahmoodi
|
@@ -154,6 +154,15 @@ files:
|
|
154
154
|
- bin/console
|
155
155
|
- bin/setup
|
156
156
|
- lib/paysure.rb
|
157
|
+
- lib/paysure/core.rb
|
158
|
+
- lib/paysure/meaning.rb
|
159
|
+
- lib/paysure/request.rb
|
160
|
+
- lib/paysure/requests/get_token.rb
|
161
|
+
- lib/paysure/requests/request_base.rb
|
162
|
+
- lib/paysure/requests/verify.rb
|
163
|
+
- lib/paysure/respond.rb
|
164
|
+
- lib/paysure/responds/get_token.rb
|
165
|
+
- lib/paysure/responds/verify.rb
|
157
166
|
- lib/paysure/version.rb
|
158
167
|
- paysure.gemspec
|
159
168
|
homepage: https://github.com/mm580486/paysure_gem
|