mpower 1.2.1 → 1.2.2

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