onlinepay-api-ruby-client 0.1.0 → 0.2.0

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: 8f0ce55cb6697bad9f22d1fee981dad992d87187
4
- data.tar.gz: 109d07475f3d370bf548bf91e6cbda238d69e1f1
3
+ metadata.gz: bc7a3423689b48023af703f9cde29f973dc74443
4
+ data.tar.gz: d87ae48c3d4717e8fb0b50196538bd3c035c7e17
5
5
  SHA512:
6
- metadata.gz: e8b7312fdb346b619040ace76617e75425440c2f7b13241474935af17008d9fb80076485a328b71601a5cbf2a2d32983b54cfdf6d11b09112a4418dfb85a87fb
7
- data.tar.gz: 1b782caca798cbfb71b7a5565adb6899fc79e64e78d156b1333fbe335b8ffb4895d043ac6c04f0f88b044c7ff629c791cadcd44daaf30a72859393e84aa02b85
6
+ metadata.gz: fbda613122b42ad624f6c9ea1fa94cd4b302ccfe87cf0fb691fe7bc3e39b9240205c38a05b3c3b970fb8651fdc53d3dbc87e35b1afb9e834c0a4f5dd6b6069bf
7
+ data.tar.gz: e01d5a1fdba3db6da69db660aa27981292ac51986daf1d0ece446c268dc87456af1d1d743cfac4661097100da6568315e936983b197acb900e20307f46dd337e
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in onlinepay-api-ruby-client.gemspec
4
- gemspec
4
+ gemspec
@@ -1,5 +1,16 @@
1
+ require "json"
2
+ require "rest-client"
3
+ require "onlinepay/config"
1
4
  require "onlinepay/version"
5
+ require "onlinepay/api_resource"
6
+ require "onlinepay/payments"
2
7
 
3
8
  module Onlinepay
4
9
 
10
+ @api_base = "https://business.sandbox.onlinepay.com"
11
+ @api_key = "846033ed8492b96ca457"
12
+
13
+ class << self
14
+ attr_accessor :api_base, :api_key
15
+ end
5
16
  end
@@ -1,5 +1,6 @@
1
1
  module Onlinepay
2
2
  class APIResource
3
+ include Onlinepay::Config
3
4
  #type code in th here
4
5
  end
5
6
  end
@@ -0,0 +1,11 @@
1
+ module Onlinepay
2
+ class Balance < APIResource
3
+
4
+ def lists(currency)
5
+ # GET '/api/v1/balance'
6
+ params = { params: {currency: currency}, Authorization: bearer_authorize }
7
+ response = RestClient.get("#{Onlinepay.api_base}/api/v1/balance", params)
8
+ response = JSON.parse(response)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,29 @@
1
+ module Onlinepay
2
+ module Config
3
+ module ClassMethod
4
+ def domain
5
+ "#{Onlinepay.api_base}/api/v1/#{self.name.split('::').last.downcase}"
6
+ end
7
+ end
8
+
9
+ def self.included(base)
10
+ base.extend(Config)
11
+ base.extend(ClassMethod)
12
+ end
13
+
14
+ private
15
+
16
+ def domain
17
+ "#{Onlinepay.api_base}/api/v1/#{self.class.name.split('::').last.downcase}"
18
+ end
19
+
20
+ def authorize
21
+ Onlinepay.api_key
22
+ end
23
+
24
+ def bearer_authorize
25
+ "Bearer #{authorize}"
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,38 @@
1
+ module Onlinepay
2
+ class Payments < APIResource
3
+
4
+ attr_reader :token, :processingUrl, :amount, :currency, :status
5
+
6
+ def initialize(product,amount,currency,opts={})
7
+ # POST '/api/v1/payments
8
+ params = { product: product, amount: amount, currency: currency }.merge(opts).to_json
9
+ _response = RestClient.post(domain, params, { Authorization: bearer_authorize, content_type: :json, accept: :json })
10
+ response = JSON.parse(_response)
11
+ @token = response["token"]
12
+ @processingUrl = response["processingUrl"]
13
+ @amount = response["payment"]["amount"]
14
+ @currency = response["payment"]["currency"]
15
+ @status = response["payment"]["status"]
16
+ end
17
+
18
+ def show
19
+ # GET '/api/v1/payments/[payment_token]'
20
+ params = { params: {}, Authorization: bearer_authorize }
21
+ _response = RestClient.get("#{domain}/#{@token}", params)
22
+ response = JSON.parse(_response)
23
+ end
24
+
25
+ class << self
26
+
27
+ def lists(date_from: nil, date_to: nil, page: nil, per_page: nil, operation_type: nil)
28
+ # GET '/api/v1/payments'
29
+ _page = ( page.is_a? Integer ) ? page : 1
30
+ params = { params: { date_from: date_from, date_to: date_to, page: _page, per_page: per_page ||= 20, operation_type: operation_type }, Authorization: bearer_authorize }
31
+ _response = RestClient.get(domain, params)
32
+ response = JSON.parse(_response)
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+ end
@@ -0,0 +1,11 @@
1
+ module Onlinepay
2
+ class Payouts < APIResource
3
+
4
+ def create(walletToken,amount,currency,orderNumber,opts={})
5
+ # POST '/api/v1/payouts'
6
+ params = { walletToken: walletToken, amount: amount, currency: currency, orderNumber: orderNumber }.merge(opts).to_json
7
+ response_ = RestClient.post(payouts_domain, params, { Authorization: bearer_authorize, content_type: :json, accept: :json })
8
+ response = JSON.parse(response_)
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Onlinepay
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -32,4 +32,7 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.add_development_dependency "bundler", "~> 1.14"
34
34
  spec.add_development_dependency "rake", "~> 10.0"
35
+ spec.add_development_dependency "rspec", "~> 3.0"
36
+ spec.add_dependency "rest-client", "~>2.0"
37
+ spec.add_dependency "json", "~> 2.0"
35
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onlinepay-api-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tsao
@@ -38,6 +38,48 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.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: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rest-client
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
41
83
  description: This is a ruby wrappwe about onlinepay API
42
84
  email:
43
85
  - tsaohucn@gmail.com
@@ -55,6 +97,10 @@ files:
55
97
  - bin/setup
56
98
  - lib/onlinepay.rb
57
99
  - lib/onlinepay/api_resource.rb
100
+ - lib/onlinepay/balance.rb
101
+ - lib/onlinepay/config.rb
102
+ - lib/onlinepay/payments.rb
103
+ - lib/onlinepay/payouts.rb
58
104
  - lib/onlinepay/version.rb
59
105
  - onlinepay-api-ruby-client.gemspec
60
106
  homepage: https://github.com/tsaohucn/onlinepay-api-ruby-client.git