onlinepay-api-ruby-client 0.1.0 → 0.2.0

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: 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