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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f0df9fa5343dfd2804b576c7f9420715e06dfb5b
4
- data.tar.gz: f7c949927b673b75b8b2603120d25d9f7331a03a
3
+ metadata.gz: 58970bc04375601309346c35aeaa1f44d87c1cea
4
+ data.tar.gz: c7fcd28395d2aff6a78248ec1e80e2eb5237f841
5
5
  SHA512:
6
- metadata.gz: 3fb9527d2fbcb6190ef43cf7f308d5aafb037083f5f118b9f7b16a349644eaf0e70a90161c0e7d076998af050636ff77e31a0de2a59c0b93d8095322fe55e2b8
7
- data.tar.gz: 3eeaa8db8dd1b049e939b78551f4da2cd248beb1b84c9cfd863983bbba93e7d9e2d05c53e54d20d292460b3b0d6b430a0f3ff196e43f8dec40004c64612f4bdd
6
+ metadata.gz: 29d88f0f9f495e75f9bca7e496cb7e8cb5764be2b91f1ccece6852d9ed91d17e03028fded5bc2fa64d2fd66d1f033493c2edf9c153d325056a65478920eb194f
7
+ data.tar.gz: dbcd576909fc2778802d8c1881bc3b422b10df9de153d6113de9a493c02feec2cef8f6f6404f11d372847f31041b9c091883b210d3325d2e50a7b2165d80a606
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # MobileMoney
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 'MobileMoney'
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 MobileMoney
17
+ $ gem install mobile-money
18
18
 
19
19
  ## Usage
20
20
 
@@ -72,5 +72,4 @@ module Pesapal
72
72
  HTMLEntities.new.encode(post_data_xml)
73
73
  end
74
74
  end
75
-
76
75
  end
@@ -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
@@ -1,5 +1,5 @@
1
1
  module Mobile
2
2
  module Money
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
data/lib/mobile-money.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  require "mobile-money/version"
2
- require 'mobile-money/pesapal'
2
+ require 'mobile-money/pesapal/order_url'
3
+ require 'mobile-money/pesapal/query_payment_status'
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.0
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-26 00:00:00.000000000 Z
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>