mpower 1.2.1 → 1.2.2

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: ba259b19d4fc1108a05c33a3d736e856bd15aacf
4
- data.tar.gz: 6cfa7d0e610d3de5cc061bd40ea3defad5246e20
3
+ metadata.gz: f728c9c8131d57531ad7355bbe492f5dede07053
4
+ data.tar.gz: fff5abf045d109c098658a850c57f0a285f82d6c
5
5
  SHA512:
6
- metadata.gz: 476ee9902f862bed3f948d24fdfb35151be6ec5a6e2fd0dc359e843f77fbb22ee3b8dffdf012d0ba005bbf6a30b4f5037f70f5de16ed42abb295e957df08a73d
7
- data.tar.gz: 4a7bbc4b69626af9d9fdbda8bf7439122a094e28131266699036b2699987be15b0286b513fef1f3e580b82cbcde899365c3937d2fbd9ffbe1adc994288c8fc1b
6
+ metadata.gz: e9b71ea38d42cf0c4ba5ade8be0361ceed4a5ae300d828013eb2e160afd1285832ec1197cc820e1f90751a9cd89ac7dccccc2e0f88221a2dd7f6f48c81f5e7fd
7
+ data.tar.gz: d486ae927d2ca399c70429ea9bb5d9be41439f87e3fbe045373774aaf4eaa717c497e0cbe4c6f374d3bc85eafe8a56c18d9bf7e9224de2a96e67df4979ac6d0e
data/.travis.yml CHANGED
@@ -3,11 +3,5 @@ rvm:
3
3
  - 2.0.0
4
4
  - 1.9.3
5
5
  - 1.9.2
6
- - jruby-18mode
7
- - jruby-19mode
8
- - rbx-18mode
9
- - rbx-19mode
10
- - ruby-head
11
- - jruby-head
12
6
  - 1.8.7
13
7
  - ree
@@ -2,9 +2,10 @@ module MPower
2
2
  module Checkout
3
3
  class Core
4
4
  include MPower::Utilities
5
- attr_accessor :status, :response_text, :response_code, :transaction_id, :description, :token
5
+ attr_accessor :status, :response_text, :response_code, :transaction_id, :description, :token, :result
6
6
 
7
7
  def push_results(result={})
8
+ @result = result
8
9
  @transaction_id = result["transaction_id"]
9
10
  @description = result["description"]
10
11
  @response_code = result["response_code"]
@@ -0,0 +1,44 @@
1
+ module MPower
2
+ class DirectMobile < MPower::Checkout::Core
3
+
4
+ attr_accessor :mobile_invoice_no, :tx_status, :cancel_reason
5
+ def charge(amount,customer_details={})
6
+ payload = {
7
+ :customer_name => customer_details[:customer_name],
8
+ :customer_phone => customer_details[:customer_phone],
9
+ :customer_email => customer_details[:customer_email],
10
+ :wallet_provider => customer_details[:wallet_provider],
11
+ :merchant_name => customer_details[:merchant_name],
12
+ :amount => amount
13
+ }
14
+
15
+ result = http_json_request(MPower::Setup.direct_mobile_charge_base_url,payload)
16
+
17
+ if result["response_code"] == "00"
18
+ @mobile_invoice_no = result["mobile_invoice_no"]
19
+ push_results(result)
20
+ true
21
+ else
22
+ push_results(result)
23
+ false
24
+ end
25
+ end
26
+
27
+ # Poll this method for completed / pending / failed / cancelled status
28
+ def transaction_status(token)
29
+ payload = { :token => token }
30
+ result = http_json_request(MPower::Setup.direct_mobile_tx_status_base_url,payload)
31
+
32
+ if result["response_code"] == "00"
33
+ @tx_status = result["tx_status"]
34
+ @mobile_invoice_no = result["mobile_invoice_no"]
35
+ @cancel_reason = result["cancel_reason"]
36
+ push_results(result)
37
+ true
38
+ else
39
+ push_results(result)
40
+ false
41
+ end
42
+ end
43
+ end
44
+ end
data/lib/mpower/setup.rb CHANGED
@@ -26,6 +26,11 @@ module MPower
26
26
  LIVE_DIRECT_CREDITCARD_CHARGE_URL = "#{ROOT_URL_BASE}/api/v1/direct-card/processcard"
27
27
  TEST_DIRECT_CREDITCARD_CHARGE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/direct-card/processcard"
28
28
 
29
+ LIVE_DIRECT_MOBILE_CHARGE_URL = "#{ROOT_URL_BASE}/api/v1/direct-mobile/charge"
30
+ TEST_DIRECT_MOBILE_CHARGE_URL = "#{ROOT_URL_BASE}/api/v1/direct-mobile/charge"
31
+ LIVE_DIRECT_MOBILE_TX_STATUS_URL = "#{ROOT_URL_BASE}/api/v1/direct-mobile/status"
32
+ TEST_DIRECT_MOBILE_TX_STATUS_URL = "#{ROOT_URL_BASE}/api/v1/direct-mobile/status"
33
+
29
34
  def self.master_key=(master_key); @@master_key = master_key; end
30
35
  def self.master_key; @@master_key; end
31
36
  def self.private_key=(private_key); @@private_key = private_key; end
@@ -62,5 +67,13 @@ module MPower
62
67
  @@mode == "live" ? LIVE_DIRECT_CREDITCARD_CHARGE_URL : TEST_DIRECT_CREDITCARD_CHARGE_URL
63
68
  end
64
69
 
70
+ def self.direct_mobile_charge_base_url
71
+ @@mode == "live" ? LIVE_DIRECT_MOBILE_CHARGE_URL : TEST_DIRECT_MOBILE_CHARGE_URL
72
+ end
73
+
74
+ def self.direct_mobile_tx_status_base_url
75
+ @@mode == "live" ? LIVE_DIRECT_MOBILE_TX_STATUS_URL : TEST_DIRECT_MOBILE_TX_STATUS_URL
76
+ end
77
+
65
78
  end
66
79
  end
@@ -1,3 +1,3 @@
1
1
  module MPower
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
data/lib/mpower.rb CHANGED
@@ -7,6 +7,7 @@ require "mpower/utilities"
7
7
  require "mpower/checkout"
8
8
  require "mpower/direct_card"
9
9
  require "mpower/direct_pay"
10
+ require "mpower/direct_mobile"
10
11
 
11
12
  module MPower
12
13
  SUCCESS = "success"
data/mpower.gemspec CHANGED
@@ -17,9 +17,9 @@ Gem::Specification.new do |gem|
17
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
- gem.add_dependency('rest-client', '~> 1.6.7')
21
- gem.add_dependency('multi_json', '~> 1.7.1')
22
- gem.add_dependency('faraday','~> 0.8.6')
23
- gem.add_dependency('faraday_middleware','~> 0.9.0')
24
- gem.add_development_dependency('rake', '~> 10.0.2')
20
+ gem.add_dependency('rest-client', '~> 1.7', '>= 1.7.2')
21
+ gem.add_dependency('multi_json', '~> 1.10', '>= 1.10.1')
22
+ gem.add_dependency('faraday','~> 0.9.0')
23
+ gem.add_dependency('faraday_middleware','~> 0.9', '>= 0.9.1')
24
+ gem.add_development_dependency('rake', '~> 10.2', '>= 10.2.2')
25
25
  end
metadata CHANGED
@@ -1,85 +1,109 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mpower
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alfred Rowe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-19 00:00:00.000000000 Z
11
+ date: 2014-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.7
19
+ version: '1.7'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.7.2
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ~>
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.7'
30
+ - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: 1.6.7
32
+ version: 1.7.2
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: multi_json
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - ~>
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.10'
40
+ - - ">="
32
41
  - !ruby/object:Gem::Version
33
- version: 1.7.1
42
+ version: 1.10.1
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - ~>
47
+ - - "~>"
39
48
  - !ruby/object:Gem::Version
40
- version: 1.7.1
49
+ version: '1.10'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.10.1
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: faraday
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - ~>
57
+ - - "~>"
46
58
  - !ruby/object:Gem::Version
47
- version: 0.8.6
59
+ version: 0.9.0
48
60
  type: :runtime
49
61
  prerelease: false
50
62
  version_requirements: !ruby/object:Gem::Requirement
51
63
  requirements:
52
- - - ~>
64
+ - - "~>"
53
65
  - !ruby/object:Gem::Version
54
- version: 0.8.6
66
+ version: 0.9.0
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: faraday_middleware
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - ~>
71
+ - - "~>"
60
72
  - !ruby/object:Gem::Version
61
- version: 0.9.0
73
+ version: '0.9'
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.1
62
77
  type: :runtime
63
78
  prerelease: false
64
79
  version_requirements: !ruby/object:Gem::Requirement
65
80
  requirements:
66
- - - ~>
81
+ - - "~>"
67
82
  - !ruby/object:Gem::Version
68
- version: 0.9.0
83
+ version: '0.9'
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 0.9.1
69
87
  - !ruby/object:Gem::Dependency
70
88
  name: rake
71
89
  requirement: !ruby/object:Gem::Requirement
72
90
  requirements:
73
- - - ~>
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: '10.2'
94
+ - - ">="
74
95
  - !ruby/object:Gem::Version
75
- version: 10.0.2
96
+ version: 10.2.2
76
97
  type: :development
77
98
  prerelease: false
78
99
  version_requirements: !ruby/object:Gem::Requirement
79
100
  requirements:
80
- - - ~>
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '10.2'
104
+ - - ">="
81
105
  - !ruby/object:Gem::Version
82
- version: 10.0.2
106
+ version: 10.2.2
83
107
  description: Ruby library for integrating with the MPower Gateway
84
108
  email:
85
109
  - alfred@ncodedevlabs.com
@@ -87,8 +111,8 @@ executables: []
87
111
  extensions: []
88
112
  extra_rdoc_files: []
89
113
  files:
90
- - .gitignore
91
- - .travis.yml
114
+ - ".gitignore"
115
+ - ".travis.yml"
92
116
  - Gemfile
93
117
  - LICENSE.txt
94
118
  - README.md
@@ -99,6 +123,7 @@ files:
99
123
  - lib/mpower/checkout/redirect_invoice.rb
100
124
  - lib/mpower/checkout/store.rb
101
125
  - lib/mpower/direct_card.rb
126
+ - lib/mpower/direct_mobile.rb
102
127
  - lib/mpower/direct_pay.rb
103
128
  - lib/mpower/setup.rb
104
129
  - lib/mpower/utilities.rb
@@ -116,20 +141,19 @@ require_paths:
116
141
  - lib
117
142
  required_ruby_version: !ruby/object:Gem::Requirement
118
143
  requirements:
119
- - - '>='
144
+ - - ">="
120
145
  - !ruby/object:Gem::Version
121
146
  version: '0'
122
147
  required_rubygems_version: !ruby/object:Gem::Requirement
123
148
  requirements:
124
- - - '>='
149
+ - - ">="
125
150
  - !ruby/object:Gem::Version
126
151
  version: '0'
127
152
  requirements: []
128
153
  rubyforge_project:
129
- rubygems_version: 2.0.2
154
+ rubygems_version: 2.4.2
130
155
  signing_key:
131
156
  specification_version: 4
132
157
  summary: Ruby client bindings for the MPower API
133
158
  test_files:
134
159
  - test/test_mpower.rb
135
- has_rdoc: