paysure 0.1.8 → 0.1.9.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 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