mpower 1.0.10 → 1.1.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.
- data/.gitignore +1 -0
- data/README.md +1 -1
- data/Rakefile +8 -0
- data/lib/mpower/checkout/redirect_invoice.rb +2 -2
- data/lib/mpower/checkout/store.rb +1 -1
- data/lib/mpower/direct_pay.rb +27 -0
- data/lib/mpower/setup.rb +12 -1
- data/lib/mpower/version.rb +1 -1
- data/lib/mpower.rb +1 -0
- data/mpower.gemspec +1 -1
- data/test/test_mpower.rb +16 -0
- metadata +9 -6
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[](https://codeclimate.com/github/nukturnal/mpower_ruby)
|
1
|
+
[](https://codeclimate.com/github/nukturnal/mpower_ruby) [](https://codeclimate.com/github/nukturnal/mpower_ruby) [](https://travis-ci.org/nukturnal/mpower_ruby) [](https://gemnasium.com/nukturnal/mpower_ruby)
|
2
2
|
|
3
3
|
# Mpower Ruby Client API
|
4
4
|
========================
|
data/Rakefile
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
module MPower
|
2
|
+
class DirectPay
|
3
|
+
include MPower::Utilities
|
4
|
+
attr_accessor :status, :response_text, :response_code, :transaction_id, :description
|
5
|
+
|
6
|
+
def credit_account(payee_account,amount)
|
7
|
+
payload = {
|
8
|
+
:account_alias => payee_account,
|
9
|
+
:amount => amount
|
10
|
+
}
|
11
|
+
|
12
|
+
result = http_json_request(MPower::Setup.direct_pay_credit_base_url,payload)
|
13
|
+
if result["response_code"] == "00"
|
14
|
+
@transaction_id = result["transaction_id"]
|
15
|
+
@description = result["description"]
|
16
|
+
@response_code = result["response_code"]
|
17
|
+
@status = MPower::SUCCESS
|
18
|
+
true
|
19
|
+
else
|
20
|
+
@response_text = result["response_text"]
|
21
|
+
@response_code = result["response_code"]
|
22
|
+
@status = MPower::FAIL
|
23
|
+
false
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/mpower/setup.rb
CHANGED
@@ -6,16 +6,23 @@ module MPower
|
|
6
6
|
@@token = nil
|
7
7
|
@@mode = "test"
|
8
8
|
|
9
|
-
ROOT_URL_BASE = "
|
9
|
+
ROOT_URL_BASE = "http://localhost:3000"
|
10
|
+
|
10
11
|
LIVE_CHECKOUT_INVOICE_BASE_URL = "#{ROOT_URL_BASE}/api/v1/checkout-invoice/create"
|
11
12
|
TEST_CHECKOUT_INVOICE_BASE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/checkout-invoice/create"
|
13
|
+
|
12
14
|
LIVE_CHECKOUT_CONFIRM_BASE_URL = "#{ROOT_URL_BASE}/api/v1/checkout-invoice/confirm/"
|
13
15
|
TEST_CHECKOUT_CONFIRM_BASE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/checkout-invoice/confirm/"
|
16
|
+
|
14
17
|
LIVE_OPR_BASE_URL = "#{ROOT_URL_BASE}/api/v1/opr/create"
|
15
18
|
TEST_OPR_BASE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/opr/create"
|
19
|
+
|
16
20
|
LIVE_OPR_CHARGE_BASE_URL = "#{ROOT_URL_BASE}/api/v1/opr/charge"
|
17
21
|
TEST_OPR_CHARGE_BASE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/opr/charge"
|
18
22
|
|
23
|
+
LIVE_DIRECT_PAY_CREDIT_BASE_URL = "#{ROOT_URL_BASE}/api/v1/direct-pay/credit-account"
|
24
|
+
TEST_DIRECT_PAY_CREDIT_BASE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/direct-pay/credit-account"
|
25
|
+
|
19
26
|
def self.master_key=(master_key); @@master_key = master_key; end
|
20
27
|
def self.master_key; @@master_key; end
|
21
28
|
def self.private_key=(private_key); @@private_key = private_key; end
|
@@ -44,5 +51,9 @@ module MPower
|
|
44
51
|
@@mode == "live" ? LIVE_OPR_CHARGE_BASE_URL : TEST_OPR_CHARGE_BASE_URL
|
45
52
|
end
|
46
53
|
|
54
|
+
def self.direct_pay_credit_base_url
|
55
|
+
@@mode == "live" ? LIVE_DIRECT_PAY_CREDIT_BASE_URL : TEST_DIRECT_PAY_CREDIT_BASE_URL
|
56
|
+
end
|
57
|
+
|
47
58
|
end
|
48
59
|
end
|
data/lib/mpower/version.rb
CHANGED
data/lib/mpower.rb
CHANGED
data/mpower.gemspec
CHANGED
@@ -20,5 +20,5 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.add_dependency('multi_json', '~> 1.1')
|
21
21
|
gem.add_dependency('faraday','~> 0.8.4')
|
22
22
|
gem.add_dependency('faraday_middleware')
|
23
|
-
gem.add_development_dependency('rake', '~> 0.
|
23
|
+
gem.add_development_dependency('rake', '~> 10.0.2')
|
24
24
|
end
|
data/test/test_mpower.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'mpower'
|
3
|
+
|
4
|
+
class TestMPower < Test::Unit::TestCase
|
5
|
+
def test_checkout_invoice_items
|
6
|
+
invoice = MPower::Checkout::Invoice.new
|
7
|
+
invoice.add_item("Cart Item 1",1,10.00,10.00,"with optional description")
|
8
|
+
invoice.add_item("Cart Item 2",5,5.00,25.00)
|
9
|
+
invoice.total_amount = 55.00
|
10
|
+
invoice.description = "Unit::Test Invoice from Ruby lang"
|
11
|
+
assert_instance_of(Hash, invoice.get_items)
|
12
|
+
assert_equal(2, invoice.get_items.size)
|
13
|
+
assert_instance_of(Hash, invoice.get_items[:item_0])
|
14
|
+
assert_equal(5, invoice.get_items[:item_0].size)
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mpower
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-02-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -82,7 +82,7 @@ dependencies:
|
|
82
82
|
requirements:
|
83
83
|
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
85
|
+
version: 10.0.2
|
86
86
|
type: :development
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -90,7 +90,7 @@ dependencies:
|
|
90
90
|
requirements:
|
91
91
|
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
93
|
+
version: 10.0.2
|
94
94
|
description: Ruby library for integrating with the MPower Gateway
|
95
95
|
email:
|
96
96
|
- alfred@ncodedevlabs.com
|
@@ -109,10 +109,12 @@ files:
|
|
109
109
|
- lib/mpower/checkout/onsite_invoice.rb
|
110
110
|
- lib/mpower/checkout/redirect_invoice.rb
|
111
111
|
- lib/mpower/checkout/store.rb
|
112
|
+
- lib/mpower/direct_pay.rb
|
112
113
|
- lib/mpower/setup.rb
|
113
114
|
- lib/mpower/utilities.rb
|
114
115
|
- lib/mpower/version.rb
|
115
116
|
- mpower.gemspec
|
117
|
+
- test/test_mpower.rb
|
116
118
|
homepage: http://mpowerpayments.com/developers/docs/ruby.html
|
117
119
|
licenses: []
|
118
120
|
post_install_message:
|
@@ -133,9 +135,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
135
|
version: '0'
|
134
136
|
requirements: []
|
135
137
|
rubyforge_project:
|
136
|
-
rubygems_version: 1.8.
|
138
|
+
rubygems_version: 1.8.25
|
137
139
|
signing_key:
|
138
140
|
specification_version: 3
|
139
141
|
summary: Ruby client bindings for the MPower API
|
140
|
-
test_files:
|
142
|
+
test_files:
|
143
|
+
- test/test_mpower.rb
|
141
144
|
has_rdoc:
|