mpesarb 0.3.5 → 0.3.6
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/Dockerfile +3 -2
- data/README.md +13 -1
- data/docker-compose.yml +3 -0
- data/lib/mpesa/client.rb +4 -0
- data/lib/mpesa/resources/stk_query.rb +34 -0
- data/lib/mpesa/version.rb +1 -1
- data/lib/mpesa.rb +1 -0
- metadata +4 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d5629d27ad035e58f3526e8b9e255296fa18b693b1267d6ba99e6825acd6cf8f
|
|
4
|
+
data.tar.gz: 9af526343130143acae5a8fbce51105738876e33582e73e232bace44fb1d3ef2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 31c766e363b1bc3c2295c9b54509cc123a4464d67d7c3162a5268e09801d500a01add96d8ee216e1e4dbd361186295500fc9184693eac31348ded4ab008c6747
|
|
7
|
+
data.tar.gz: 55fe4ce347865ee6e5ea4587434bece73d2a9cac219a922c5df323c62e061384524ebb9980fe27f5f65d210e5cf5f4eea8dfc9d491eb9f1ea342be0cf4b71475
|
data/Dockerfile
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
FROM ruby:rc-alpine3.10
|
|
2
2
|
# update and upgrade packages
|
|
3
|
-
RUN apk update && apk upgrade
|
|
3
|
+
RUN apk update && apk upgrade && \
|
|
4
|
+
apk add build-base openssl-dev git
|
|
4
5
|
|
|
5
6
|
# Create non-root user
|
|
6
7
|
RUN addgroup -S admin -g 1000 && adduser -S -g '' -u 1000 -G admin deploy
|
|
@@ -17,7 +18,7 @@ USER deploy
|
|
|
17
18
|
WORKDIR /mpesa
|
|
18
19
|
|
|
19
20
|
# install gem bundler
|
|
20
|
-
RUN gem install bundler
|
|
21
|
+
RUN gem install bundler -v 2.4.22
|
|
21
22
|
|
|
22
23
|
# create a Gem
|
|
23
24
|
#RUN bundle gem ruby_mpesa
|
data/README.md
CHANGED
|
@@ -59,7 +59,7 @@ Register C2B Urls( confirmation and validation url)
|
|
|
59
59
|
response.ResponseDescription # "success"
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
### STK (LPNMO)
|
|
62
|
+
### STK (LPNMO)/M-Pesa Express
|
|
63
63
|
|
|
64
64
|
Lipa na mpesa online(Stk Push)
|
|
65
65
|
|
|
@@ -78,6 +78,18 @@ response.CheckoutRequestID # "ws_CO_040920212326513616"
|
|
|
78
78
|
response.inspect # to see all available attributes
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
### STK Query
|
|
82
|
+
|
|
83
|
+
Check the status of a Lipa na M-Pesa Online transaction.
|
|
84
|
+
|
|
85
|
+
```ruby
|
|
86
|
+
response = client.stk_query(
|
|
87
|
+
checkout_request_id: "ws_CO_040920212326513616"
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
response.ResultCode # "1032"
|
|
91
|
+
response.ResultDesc # "Request Cancelled by user."
|
|
92
|
+
```
|
|
81
93
|
|
|
82
94
|
### B2C (Payout)
|
|
83
95
|
|
data/docker-compose.yml
CHANGED
data/lib/mpesa/client.rb
CHANGED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'base64'
|
|
4
|
+
|
|
5
|
+
module Mpesa
|
|
6
|
+
class StkQuery < Resource
|
|
7
|
+
PATH = 'mpesa/stkpushquery/v1/query'
|
|
8
|
+
|
|
9
|
+
def call
|
|
10
|
+
Object.new post_request(url: PATH, body: body).body
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def body
|
|
14
|
+
{
|
|
15
|
+
'BusinessShortCode': shortcode,
|
|
16
|
+
'Password': password,
|
|
17
|
+
'Timestamp': timestamp,
|
|
18
|
+
'CheckoutRequestID': args[:checkout_request_id]
|
|
19
|
+
}
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def password
|
|
23
|
+
Base64.strict_encode64("#{shortcode}#{args[:pass_key] || client.pass_key}#{timestamp}")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def timestamp
|
|
27
|
+
Time.now.strftime('%Y%m%d%H%M%S')
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def shortcode
|
|
31
|
+
args[:shortcode] || client.shortcode
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
data/lib/mpesa/version.rb
CHANGED
data/lib/mpesa.rb
CHANGED
|
@@ -13,6 +13,7 @@ module Mpesa
|
|
|
13
13
|
autoload :Register, 'mpesa/resources/register'
|
|
14
14
|
autoload :Token, 'mpesa/resources/token'
|
|
15
15
|
autoload :Stk, 'mpesa/resources/stk'
|
|
16
|
+
autoload :StkQuery, 'mpesa/resources/stk_query'
|
|
16
17
|
autoload :Payout, 'mpesa/resources/payout'
|
|
17
18
|
autoload :Status, 'mpesa/resources/status'
|
|
18
19
|
autoload :Balance, 'mpesa/resources/balance'
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mpesarb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Moses Gathuku
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 2025-11-05 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bundler
|
|
@@ -214,6 +213,7 @@ files:
|
|
|
214
213
|
- lib/mpesa/resources/reversal.rb
|
|
215
214
|
- lib/mpesa/resources/status.rb
|
|
216
215
|
- lib/mpesa/resources/stk.rb
|
|
216
|
+
- lib/mpesa/resources/stk_query.rb
|
|
217
217
|
- lib/mpesa/resources/token.rb
|
|
218
218
|
- lib/mpesa/securitycred.rb
|
|
219
219
|
- lib/mpesa/version.rb
|
|
@@ -225,7 +225,6 @@ metadata:
|
|
|
225
225
|
homepage_uri: https://github.com/gathuku/ruby_mpesa
|
|
226
226
|
source_code_uri: https://github.com/gathuku/mpesa
|
|
227
227
|
changelog_uri: https://github.com/gathuku/mpesa
|
|
228
|
-
post_install_message:
|
|
229
228
|
rdoc_options: []
|
|
230
229
|
require_paths:
|
|
231
230
|
- lib
|
|
@@ -240,8 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
240
239
|
- !ruby/object:Gem::Version
|
|
241
240
|
version: '0'
|
|
242
241
|
requirements: []
|
|
243
|
-
rubygems_version: 3.
|
|
244
|
-
signing_key:
|
|
242
|
+
rubygems_version: 3.6.2
|
|
245
243
|
specification_version: 4
|
|
246
244
|
summary: a simple gem to integrate ruby with mpesa Apis
|
|
247
245
|
test_files: []
|