mpayer_ruby 0.0.11 → 0.0.12
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 +13 -1
- data/lib/mpayer_ruby/endpoints/_endpoint.rb +10 -0
- data/lib/mpayer_ruby/endpoints/payable.rb +1 -1
- data/lib/mpayer_ruby/support/test_helper.rb +108 -0
- data/lib/mpayer_ruby/version.rb +1 -1
- data/lib/mpayer_ruby.rb +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e57d97fe2e30c9be6a54646a115b271cdd47cafb
|
4
|
+
data.tar.gz: b7236c7fddab6140c0aeeeb8c4eeb33c90087c53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72472be1d6e853bad00ee6c377357327b8b02bfa1a4dbe485efbda2f9bb59464d3bef58c9cad184ef6294982d9feb90befe9727b2597f14dbfe221d24528468f
|
7
|
+
data.tar.gz: 06b71dcaa992df7893efa807574a5605b974513f679514e9c05108257b509992817d442e7f53ef590fa0664a8af58febc07a24ba794dc03db35a1e974963c416
|
data/README.md
CHANGED
@@ -32,7 +32,7 @@ export MPAYER_TOKEN=<Your token>
|
|
32
32
|
```
|
33
33
|
|
34
34
|
## Configurations
|
35
|
-
To configure credentials
|
35
|
+
To configure credentials for your API calls on you code use config block below. For Rails, put this in `config/initializers/mpayer.rb`
|
36
36
|
|
37
37
|
```ruby
|
38
38
|
Mpayer.setup do |config|
|
@@ -67,6 +67,8 @@ clients = Mpayer::Client.find(123, fetch:false)
|
|
67
67
|
## Endpoints
|
68
68
|
Mpayer gem currently supports a few endpoint below
|
69
69
|
|
70
|
+
https://app.mpayer.co.ke/api/login
|
71
|
+
|
70
72
|
https://app.mpayer.co.ke/api/client
|
71
73
|
|
72
74
|
https://app.mpayer.co.ke/api/accounts
|
@@ -83,6 +85,16 @@ client = client.first
|
|
83
85
|
client.name #=> "CLark Kent"
|
84
86
|
```
|
85
87
|
|
88
|
+
### Login
|
89
|
+
Login provides your organisations settings and credentials.
|
90
|
+
```ruby
|
91
|
+
login = Mpayer.login
|
92
|
+
# defaults are picked from user:ENV['MPAYER_USER'],password:ENV['MPAYER_PASSWORD']
|
93
|
+
|
94
|
+
login = Mpayer.login(user:'james@bond.com', password: "bond..james bond")
|
95
|
+
|
96
|
+
```
|
97
|
+
|
86
98
|
### Client
|
87
99
|
```ruby
|
88
100
|
clients = Mpayer::Client.all
|
@@ -15,8 +15,18 @@ module Mpayer
|
|
15
15
|
after_initialize
|
16
16
|
end
|
17
17
|
|
18
|
+
def id=(value)
|
19
|
+
raise Exception, "Mpayer Object ID cannot be nil" if value.nil? and attributes.deleting.nil?
|
20
|
+
@id = value
|
21
|
+
end
|
22
|
+
|
18
23
|
protected
|
19
24
|
|
25
|
+
def kill
|
26
|
+
instance_variables.each{|var| instance_variable_set(var,nil)}
|
27
|
+
freeze
|
28
|
+
end
|
29
|
+
|
20
30
|
# after_initialize{ @endpoint = 'clients'}
|
21
31
|
# class << self
|
22
32
|
# # Used to instantiate new objects instead of using def initialize
|
@@ -0,0 +1,108 @@
|
|
1
|
+
module Mpayer::TestHelper
|
2
|
+
# login
|
3
|
+
# create_mpayer_client
|
4
|
+
# create_mpayer_account
|
5
|
+
# create_mpayer_payable
|
6
|
+
# get_mpayer_accounts
|
7
|
+
# get_mpayer_account
|
8
|
+
# create_mpayer_transaction
|
9
|
+
# get_mpayer_transactions
|
10
|
+
|
11
|
+
def mpayer_login
|
12
|
+
@@mpayer_login ||= Mpayer.login
|
13
|
+
end
|
14
|
+
|
15
|
+
def create_mpayer_client
|
16
|
+
client_attributes = {
|
17
|
+
client: {
|
18
|
+
client_name: Faker::Name.name,
|
19
|
+
client_birthday: Time.now.iso8601,
|
20
|
+
client_type: "ext",
|
21
|
+
ac_type: "cu",
|
22
|
+
client_mobile: Faker::Number.number(10) ,
|
23
|
+
client_email: Faker::Internet.email,
|
24
|
+
currency: "kes",
|
25
|
+
mandate:"s",
|
26
|
+
sub_type: "od"
|
27
|
+
}
|
28
|
+
}
|
29
|
+
@@create_mpayer_client ||= Mpayer::Client.create(client_attributes)
|
30
|
+
@@client_account ||= Mpayer::Client.find(@@create_mpayer_client.id,fetch:false).account(@@create_mpayer_client.account.id)
|
31
|
+
@@create_mpayer_client
|
32
|
+
end
|
33
|
+
|
34
|
+
def create_mpayer_account
|
35
|
+
client = create_mpayer_client
|
36
|
+
account_options = {
|
37
|
+
account:{
|
38
|
+
name: "#{client.fname} #{client.lname}",
|
39
|
+
ac_type: 'cu',
|
40
|
+
sub_type: 'od',
|
41
|
+
mandate: 's',
|
42
|
+
aliases_attributes: [{org_id:mpayer_login.org_no ,alias_key:'telephone', alias_value:"#{client.fname}#{SecureRandom.uuid.gsub('-','')}"}]
|
43
|
+
# tags_attributes:@tags,
|
44
|
+
# infos_attributes:@infos
|
45
|
+
}
|
46
|
+
}
|
47
|
+
@@create_mpayer_account ||= client.create_account(account_options)
|
48
|
+
@@account ||= Mpayer::Client.find(client.id,fetch:false).account(@@create_mpayer_account.id)
|
49
|
+
@@create_mpayer_account
|
50
|
+
end
|
51
|
+
|
52
|
+
def create_mpayer_payable
|
53
|
+
account = create_mpayer_account
|
54
|
+
payable_items = []
|
55
|
+
[*0..5].each do |n|
|
56
|
+
payable_items << {
|
57
|
+
payment_party: account.acid ,
|
58
|
+
terminal_ac: account.acid ,
|
59
|
+
details: Faker::Lorem.sentence ,
|
60
|
+
amount: 10,
|
61
|
+
price: 10,
|
62
|
+
unit_measure: 1.0
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
options = {
|
67
|
+
payment: {
|
68
|
+
payable_no: SecureRandom.uuid,
|
69
|
+
note: Faker::Lorem.sentence ,
|
70
|
+
ref_id: SecureRandom.uuid,
|
71
|
+
# client_id: client_id,
|
72
|
+
# status: @model.status,
|
73
|
+
# payable_type: @model.payable_type,
|
74
|
+
due_date: Time.now+(86400*31),
|
75
|
+
pay: payable_items
|
76
|
+
# tags:@tags,
|
77
|
+
# flags:@flags,
|
78
|
+
# infos:@infos ,
|
79
|
+
# sync_lag:@sync_lag
|
80
|
+
}
|
81
|
+
}
|
82
|
+
@@create_mpayer_payable ||= Mpayer::Payable.create(options)
|
83
|
+
@@search_payable ||= Mpayer::Payable.where(ref_id:@@create_mpayer_payable.ref_id)
|
84
|
+
@@create_mpayer_payable
|
85
|
+
end
|
86
|
+
|
87
|
+
def get_mpayer_accounts
|
88
|
+
@@get_mpayer_accounts ||= Mpayer::Account.all
|
89
|
+
end
|
90
|
+
|
91
|
+
def get_mpayer_account
|
92
|
+
first_account = get_mpayer_accounts.first
|
93
|
+
@@get_mpayer_account ||= Mpayer::Account.find(first_account.id)
|
94
|
+
end
|
95
|
+
|
96
|
+
def create_mpayer_transaction
|
97
|
+
body = {particulars:Faker::Lorem.sentence,amount:1000, cr_party: get_mpayer_account.acid}
|
98
|
+
body.merge!({ref_num:Faker::Code.isbn})
|
99
|
+
@@create_mpayer_transaction ||= Mpayer::Transaction.deposit(body)
|
100
|
+
@@search_tran ||= Mpayer::Transaction.where(ref_id:@@create_mpayer_transaction.ref_id)
|
101
|
+
@@create_mpayer_transaction
|
102
|
+
end
|
103
|
+
|
104
|
+
def get_mpayer_transactions
|
105
|
+
@@get_mpayer_transactions ||= Mpayer::Transaction.all(from: Time.now - (86400*400))
|
106
|
+
@@get_mpayer_transactions.any? ? @@get_mpayer_transactions : [create_mpayer_transaction]
|
107
|
+
end
|
108
|
+
end
|
data/lib/mpayer_ruby/version.rb
CHANGED
data/lib/mpayer_ruby.rb
CHANGED
@@ -33,8 +33,8 @@ module Mpayer
|
|
33
33
|
yield(configuration)
|
34
34
|
end
|
35
35
|
|
36
|
-
def login
|
37
|
-
Mpayer::Fetch.post('/login',{user:
|
36
|
+
def login(user:ENV['MPAYER_USER'],password:ENV['MPAYER_PASSWORD'])
|
37
|
+
Mpayer::Fetch.post('/login',{user: user,password:password})
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mpayer_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kariuki Gathitu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -268,6 +268,7 @@ files:
|
|
268
268
|
- lib/mpayer_ruby/support/fake_mpayer/messages/.keep
|
269
269
|
- lib/mpayer_ruby/support/fake_mpayer/payables/.keep
|
270
270
|
- lib/mpayer_ruby/support/fake_mpayer/transactions/.keep
|
271
|
+
- lib/mpayer_ruby/support/test_helper.rb
|
271
272
|
- lib/mpayer_ruby/version.rb
|
272
273
|
- mpayer_ruby.gemspec
|
273
274
|
homepage: https://github.com/kgathi2/mpayer_ruby
|