mobile-money 0.2.0 → 0.2.1
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 +4 -4
- data/README.md +3 -3
- data/lib/mobile-money/{pesapal.rb → pesapal/order_url.rb} +0 -1
- data/lib/mobile-money/pesapal/query_payment_status.rb +71 -0
- data/lib/mobile-money/version.rb +1 -1
- data/lib/mobile-money.rb +2 -1
- metadata +4 -5
- data/.idea/.name +0 -1
- data/.idea/.rakeTasks +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 58970bc04375601309346c35aeaa1f44d87c1cea
|
|
4
|
+
data.tar.gz: c7fcd28395d2aff6a78248ec1e80e2eb5237f841
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 29d88f0f9f495e75f9bca7e496cb7e8cb5764be2b91f1ccece6852d9ed91d17e03028fded5bc2fa64d2fd66d1f033493c2edf9c153d325056a65478920eb194f
|
|
7
|
+
data.tar.gz: dbcd576909fc2778802d8c1881bc3b422b10df9de153d6113de9a493c02feec2cef8f6f6404f11d372847f31041b9c091883b210d3325d2e50a7b2165d80a606
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# mobile-money
|
|
2
2
|
|
|
3
3
|
TODO: Write a gem description
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ TODO: Write a gem description
|
|
|
6
6
|
|
|
7
7
|
Add this line to your application's Gemfile:
|
|
8
8
|
|
|
9
|
-
gem '
|
|
9
|
+
gem 'mobile-money'
|
|
10
10
|
|
|
11
11
|
And then execute:
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ And then execute:
|
|
|
14
14
|
|
|
15
15
|
Or install it yourself as:
|
|
16
16
|
|
|
17
|
-
$ gem install
|
|
17
|
+
$ gem install mobile-money
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
module Pesapal
|
|
2
|
+
class QueryPaymentStatus
|
|
3
|
+
|
|
4
|
+
require 'oauth'
|
|
5
|
+
require 'uri'
|
|
6
|
+
require 'active_support/core_ext/object/to_query'
|
|
7
|
+
require 'htmlentities'
|
|
8
|
+
|
|
9
|
+
attr_reader :pesapal_merchant_reference, :pesapal_transaction_tracking_id, :token, :test
|
|
10
|
+
|
|
11
|
+
HTTP_METHOD = 'get'
|
|
12
|
+
API_ACTION = '/API/QueryPaymentStatus'
|
|
13
|
+
|
|
14
|
+
def initialize(pesapal_merchant_reference, pesapal_transaction_tracking_id, test=true)
|
|
15
|
+
@pesapal_merchant_reference = pesapal_merchant_reference
|
|
16
|
+
@pesapal_transaction_tracking_id = pesapal_transaction_tracking_id
|
|
17
|
+
@token = nil
|
|
18
|
+
@test = test
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def api_domain
|
|
22
|
+
test ? 'http://demo.pesapal.com' : 'https://www.pesapal.com'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def url
|
|
26
|
+
"#{api_domain}#{signed_request.path}"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def consumer
|
|
30
|
+
@consumer ||= begin
|
|
31
|
+
OAuth::Consumer.new(consumer_key, consumer_secret, {
|
|
32
|
+
site: api_domain,
|
|
33
|
+
http_method: HTTP_METHOD,
|
|
34
|
+
scheme: :query_string
|
|
35
|
+
})
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def consumer_key
|
|
40
|
+
Rails.application.secrets.pesapal_consumer_key
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def consumer_secret
|
|
44
|
+
Rails.application.secrets.pesapal_consumer_secret
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def signed_request
|
|
48
|
+
consumer.create_signed_request HTTP_METHOD, request_url, nil, {}, params
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def request_url
|
|
52
|
+
API_ACTION + "?" + params_to_string
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def params
|
|
57
|
+
@params ||= {
|
|
58
|
+
'pesapal_merchant_reference' => pesapal_merchant_reference,
|
|
59
|
+
'pesapal_transaction_tracking_id' => pesapal_transaction_tracking_id,
|
|
60
|
+
}
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def params_to_string
|
|
64
|
+
strings = []
|
|
65
|
+
params.each do |key, value|
|
|
66
|
+
strings << "#{key}=#{CGI::escape(value)}"
|
|
67
|
+
end
|
|
68
|
+
strings.join('&')
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
data/lib/mobile-money/version.rb
CHANGED
data/lib/mobile-money.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mobile-money
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bernard Banta
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-04-
|
|
11
|
+
date: 2014-04-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -89,14 +89,13 @@ extensions: []
|
|
|
89
89
|
extra_rdoc_files: []
|
|
90
90
|
files:
|
|
91
91
|
- .gitignore
|
|
92
|
-
- .idea/.name
|
|
93
|
-
- .idea/.rakeTasks
|
|
94
92
|
- Gemfile
|
|
95
93
|
- LICENSE.txt
|
|
96
94
|
- README.md
|
|
97
95
|
- Rakefile
|
|
98
96
|
- lib/mobile-money.rb
|
|
99
|
-
- lib/mobile-money/pesapal.rb
|
|
97
|
+
- lib/mobile-money/pesapal/order_url.rb
|
|
98
|
+
- lib/mobile-money/pesapal/query_payment_status.rb
|
|
100
99
|
- lib/mobile-money/version.rb
|
|
101
100
|
- mobile-money.gemspec
|
|
102
101
|
- spec/pesapal_spec.rb
|
data/.idea/.name
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
MobileMoney
|
data/.idea/.rakeTasks
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Settings><!--This file was automatically generated by Ruby plugin.
|
|
3
|
-
You are allowed to:
|
|
4
|
-
1. Remove rake task
|
|
5
|
-
2. Add existing rake tasks
|
|
6
|
-
To add existing rake tasks automatically delete this file and reload the project.
|
|
7
|
-
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build MobileMoney-0.0.1.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install MobileMoney-0.0.1.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v0.0.1 and build and push MobileMoney-0.0.1.gem to Rubygems" fullCmd="release" taksId="release" /></RakeGroup></Settings>
|