mpower 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +63 -2
- data/lib/mpower/setup.rb +4 -4
- data/lib/mpower/version.rb +1 -1
- data/mpower.gemspec +1 -1
- metadata +6 -6
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# MpowerRuby
|
2
2
|
|
3
|
-
|
3
|
+
MPower Payments Ruby Client Library
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,7 +18,67 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
## Setup your API Keys
|
22
|
+
If you are using rails you may create an file under `RAILS_ROOT/config/initializers` and put these setting there.
|
23
|
+
|
24
|
+
MPower::Setup.master_key = "YOUR_API_MASTER_KEY"
|
25
|
+
MPower::Setup.public_key = "YOUR_API_PUBLIC_KEY"
|
26
|
+
MPower::Setup.private_key = "YOUR_API_PRIVATE_KEY"
|
27
|
+
MPower::Setup.mode = "test|live"
|
28
|
+
MPower::Setup.token = "YOUR_API_TOKEN"
|
29
|
+
|
30
|
+
## Setup your checkout store information
|
31
|
+
Configurations for checkout store are all optional. You may however want to set your Store Name and Tagline :)
|
32
|
+
|
33
|
+
MPower::Checkout::Store.name = "NAME OF YOUR STORE"
|
34
|
+
MPower::Checkout::Store.tagline = "STORE'S TAGLINE"
|
35
|
+
MPower::Checkout::Store.postal_address = "STORE POSTAL ADDRESS"
|
36
|
+
MPower::Checkout::Store.phone_number = "STORE CONTACT NUMBER"
|
37
|
+
MPower::Checkout::Store.website_url = "STORE WEBSITE URL"
|
38
|
+
MPower::Checkout::Store.logo_url = "LOGO URL"
|
39
|
+
|
40
|
+
Customer will be redirected back to this URL when he cancels the checkout on MPower website
|
41
|
+
|
42
|
+
MPower::Checkout::Store.cancel_url = "CHECKOUT CANCEL URL"
|
43
|
+
|
44
|
+
MPower will automatically redirect customer to this URL after successfull payment.
|
45
|
+
This setup is optional and highly recommended you dont set it, unless you want to customize the payment experience of your customers.
|
46
|
+
When a returnURL is not set, MPower will redirect the customer to the receipt page.
|
47
|
+
|
48
|
+
MPower::Checkout::Store.return_url = "CHECKOUT RETURN URL"
|
49
|
+
|
50
|
+
## Create your Checkout Invoice
|
51
|
+
|
52
|
+
co = MPower::Checkout::Invoice.new
|
53
|
+
|
54
|
+
Params for addItem function `add_item(name_of_item,quantity,unit_price,total_price)`
|
55
|
+
|
56
|
+
co.add_item("13' Apple Retina 500 HDD",1,999.99,999.99)
|
57
|
+
co.add_item("Case Logic laptop Bag",2,100.50,201)
|
58
|
+
co.add_item("Mordecai's Bag",2,100.50,400)
|
59
|
+
|
60
|
+
## Set the total amount to be charged ! Important
|
61
|
+
|
62
|
+
co.total_amount = 1200.99
|
63
|
+
|
64
|
+
## Setup Tax Information (Optional)
|
65
|
+
|
66
|
+
co.add_tax("VAT (15)",50);
|
67
|
+
co.add_tax("NHIL (10)",50);
|
68
|
+
|
69
|
+
## You can add custom data to your invoice which can be called back later
|
70
|
+
|
71
|
+
co.custom_data["Firstname"] = "Alfred"
|
72
|
+
co.custom_data["Lastname"] = "Rowe"
|
73
|
+
co.custom_data["CartId"] = 929292872
|
74
|
+
|
75
|
+
## Redirecting to your checkout invoice page
|
76
|
+
|
77
|
+
if co.create
|
78
|
+
redirect_to co.invoice_url
|
79
|
+
else
|
80
|
+
@message = co.response_text
|
81
|
+
end
|
22
82
|
|
23
83
|
## Contributing
|
24
84
|
|
@@ -27,3 +87,4 @@ TODO: Write usage instructions here
|
|
27
87
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
88
|
4. Push to the branch (`git push origin my-new-feature`)
|
29
89
|
5. Create new Pull Request
|
90
|
+
|
data/lib/mpower/setup.rb
CHANGED
@@ -6,10 +6,10 @@ module MPower
|
|
6
6
|
@@token = nil
|
7
7
|
@@mode = "test"
|
8
8
|
|
9
|
-
LIVE_CHECKOUT_INVOICE_BASE_URL = "https://app.mpowerpayments.com/api/v1/checkout-invoice/create"
|
10
|
-
TEST_CHECKOUT_INVOICE_BASE_URL = "https://app.mpowerpayments.com/sandbox-api/v1/checkout-invoice/create"
|
11
|
-
LIVE_CHECKOUT_CONFIRM_BASE_URL = "https://app.mpowerpayments.com/api/v1/checkout-invoice/confirm/"
|
12
|
-
TEST_CHECKOUT_CONFIRM_BASE_URL = "https://app.mpowerpayments.com/sandbox-api/v1/checkout-invoice/confirm/"
|
9
|
+
LIVE_CHECKOUT_INVOICE_BASE_URL = "https://app.mpowerpayments.com/api/v1/checkout-invoice/create"
|
10
|
+
TEST_CHECKOUT_INVOICE_BASE_URL = "https://app.mpowerpayments.com/sandbox-api/v1/checkout-invoice/create"
|
11
|
+
LIVE_CHECKOUT_CONFIRM_BASE_URL = "https://app.mpowerpayments.com/api/v1/checkout-invoice/confirm/"
|
12
|
+
TEST_CHECKOUT_CONFIRM_BASE_URL = "https://app.mpowerpayments.com/sandbox-api/v1/checkout-invoice/confirm/"
|
13
13
|
|
14
14
|
def self.master_key=(master_key); @@master_key = master_key; end
|
15
15
|
def self.master_key; @@master_key; end
|
data/lib/mpower/version.rb
CHANGED
data/mpower.gemspec
CHANGED
@@ -18,6 +18,6 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
gem.add_dependency('rest-client', '~> 1.4')
|
20
20
|
gem.add_dependency('multi_json', '~> 1.1')
|
21
|
-
gem.add_dependency('faraday')
|
21
|
+
gem.add_dependency('faraday','~> 0.8.4')
|
22
22
|
gem.add_dependency('faraday_middleware')
|
23
23
|
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.0.3
|
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: 2012-10-
|
12
|
+
date: 2012-10-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -48,17 +48,17 @@ dependencies:
|
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
none: false
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 0.8.4
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.8.4
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: faraday_middleware
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|