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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9318e212ec0a0829ef875587d63cb047ede0ff66
4
- data.tar.gz: a8b381277f5590593752cf8eaf713a6d5c8e2da7
3
+ metadata.gz: 607dee1ebbc82af5d65025707cd246f0d0102a31
4
+ data.tar.gz: 5bc72b6fab9daa422fde76d5d22c8c8d25fabc12
5
5
  SHA512:
6
- metadata.gz: d13331ac144d831196b51250b311b3218084f57a74c9754f4273f641ff5f2bc01c92611bdae795ba149a2424c24d9eeaf82c859c27527cca7212a5c6d67b9c70
7
- data.tar.gz: aac725710ccc39099118649b5fce105b37fd1ed8b640dfac3103c73107968c11b46da0149bbc6ac38587102ec04817f3088b9fea248144558267c64433c6942a
6
+ metadata.gz: c46e477976d2243ad44e73da44b989d2926e1af667b3a32f81208645aeee2a76b6c651f9d41bde6471be1f12e6c6822242044ab98317d0220e665fc4a56fe757
7
+ data.tar.gz: ec28941a5ceea644fd9c8fb2482e72c878b1f737c3e369f377c05c57dd8ec2499fdc62d2fe24f3f8f76ebfef508f3eaa5489caefea090f896a6a6f63e6f75721
data/.gitignore CHANGED
@@ -6,6 +6,6 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
-
9
+ *.gem
10
10
  # rspec failure tracking
11
11
  .rspec_status
@@ -0,0 +1,11 @@
1
+ module Paysure
2
+
3
+ I18n.config.available_locales = :en
4
+
5
+ def self.require_libs(lib_path,*libs)
6
+ libs.each do |lib|
7
+ require_relative "#{lib_path}/#{lib}"
8
+ end
9
+ end
10
+
11
+ end
@@ -0,0 +1,11 @@
1
+ module Paysure
2
+ ERRORS = {
3
+ '100' => I18n.t("Paysure.100", :default => "Transaction successfully completed, get for verify method"),
4
+ '1' => I18n.t("Paysure.1", :default => "Transaction Verified"),
5
+
6
+ }
7
+
8
+
9
+
10
+
11
+ end
@@ -0,0 +1,5 @@
1
+ module Paysure
2
+
3
+ self.require_libs './requests','request_base','get_token','verify'
4
+
5
+ end
@@ -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,9 @@
1
+ module Paysure
2
+ class RequestBase
3
+ def initialize(args = {})
4
+ config = Paysure.configuration
5
+ raise(ArgumentError, 'not a valid configuration class') if config.nil?
6
+ @API_URL = "https://api.getpaysure.com/v1"
7
+ end
8
+ end
9
+ end
@@ -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,3 @@
1
+ module Paysure
2
+ self.require_libs './responds', 'get_token', 'verify'
3
+ end
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Paysure
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9.1"
3
3
  end
@@ -1,6 +1,7 @@
1
1
 
2
2
  lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
4
5
  require "paysure/version"
5
6
 
6
7
  Gem::Specification.new do |spec|
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.8
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