bygpay 0.1.1 → 0.2.0

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: 1eba6289ec42335e24a1ce372079719faabc5508
4
- data.tar.gz: 22924b061515d6ae970cbf1c92f5e66c1f474446
3
+ metadata.gz: 7a059301c0d3e744230e6498b1f7df5058c88aaf
4
+ data.tar.gz: d082d4051373a2d33f24aaec0f8a6bd2399a256c
5
5
  SHA512:
6
- metadata.gz: a8e6220d4436977f89621f79da72f0f553a1ce5218d0836606826ca2026cf6fc955675f02c67bafa65bfbd7fe61f9fe99006cbdd335638e4404cf62e6701d366
7
- data.tar.gz: 18a3d34c8edb7a57aab5180c03e7ac482b0571730b5c536389c4860c8ed2f277133a49d78dcff9f5f46318050f08ef4aa658e4ddd56ce4d29c9afdbd796462a2
6
+ metadata.gz: af82337c4032f15986d51b443222e793d3075e6f8ca7f21674231f037667ff2685f12c13aea6b350ac856ca91d8e7ee3281ee414ffdca1182504469c1da1a97f
7
+ data.tar.gz: 136c3f524bbe10a71b320508606b0de8be236df99ad18dc6200f6d544444b8bcc1d1492c1bcdc7159b6f252fea70752eacb3b775286be11b3bf00d372e12ca71
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ ## CHANGE LOG
2
+
3
+ #####v0.1.1
4
+ * Created SDK
5
+ * MoMo Deposits Support
6
+
7
+ #####v0.2.0
8
+ * Fixed Bugs
9
+ * MoMo Withdrawal Support
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Code Climate](https://codeclimate.com/github/nukturnal/bygpay/badges/gpa.svg)](https://codeclimate.com/github/nukturnal/bygpay)
2
+
1
3
  # Bygpay
2
4
 
3
5
  Ruby wrapper around Bygpay Payment Gateway. Bygpay is a self hosted payment processing gateway which gives merchants / business better flexiblity and control when it comes to payment processing.
@@ -27,11 +29,95 @@ Bygpay.configure do |config|
27
29
  config.base_url = 'http://gateway.bygpay-server.com/api'
28
30
  config.api_key = '8b4e5a9c-6eba-4cdd-94b6-65e6b514'
29
31
 
30
- # Optional Configurations
32
+ # Optional Configurations (Every code below this line)
31
33
  # (In case you've changed routes in your Bygpay Installation)
32
- config.deposits_mobile_path = '/deposits/mobile'
33
- config.deposits_status_overide_path = '/deposits/status-overide'
34
+ config.deposit_mobile_path = '/deposits/mobile'
35
+ config.deposit_status_overide_path = '/deposits/status-overide'
34
36
  config.deposit_status_path = '/deposits'
37
+
38
+ config.withdraw_mobile_path = '/withdrawals/mobile'
39
+ config.withdraw_status_overide_path = '/withdrawals/status-overide'
40
+ config.withdraw_status_path = '/withdrawals'
41
+ end
42
+ ```
43
+
44
+ ## Transaction Statuses
45
+
46
+ Bygpay gateway uses four types of status messages to mark transactions.
47
+ * `accepted` A transaction is marked as `accepted` when it's initially receives the request from a client
48
+ * `pending` A transaction is marked a `pending` when the Gateway begins processing
49
+ * `success` A final status message `success` is used when processing completes successfully
50
+ * `fail` A final status message `fail' is used when the processing completes unsuccessfully
51
+
52
+ ## Deposit Requests
53
+
54
+ #### Mobile Money
55
+
56
+ Currently SDK supports MTN, AIRTEL, TIGO, VODAFONE, you may refer to your Bygpay Gateway documentations for more provider options.
57
+
58
+ ```ruby
59
+ # Making a Mobile Money Deposit Request
60
+ deposit = Bygpay::Deposit::Mobile.new
61
+ result = deposit.charge(1.99,{walletno: '0244124550', provider: 'MTN'})
62
+ if result
63
+ puts deposit.uuid
64
+ puts deposit.status # accepted, :pending, :fail, :success
65
+ puts deposit.transaction_id
66
+ else
67
+ puts deposit.response_text
68
+ puts deposit.status
69
+ end
70
+ ```
71
+
72
+ Query Transaction status
73
+ ```ruby
74
+ # Checking transaction status
75
+ # You always need the transaction UUID to get status response
76
+ deposit = Bygpay::Deposit::Mobile.new
77
+ result = deposit.transaction_status('e81216aa-9ef7-4c5c-aed0-6e5ff1fe')
78
+ if result
79
+ puts deposit.uuid
80
+ puts deposit.status # accepted, :pending, :fail, :success
81
+ puts deposit.transaction_id
82
+ else
83
+ puts deposit.response_text
84
+ puts deposit.status
85
+ end
86
+ ```
87
+
88
+ ## Withdraw Requests
89
+
90
+ #### Mobile Money
91
+
92
+ Currently SDK supports MTN, AIRTEL, TIGO, VODAFONE, you may refer to your Bygpay Gateway documentations for more provider options.
93
+
94
+ ```ruby
95
+ # Making a Mobile Money Withdrawal Request
96
+ withdraw = Bygpay::Withdraw::Mobile.new
97
+ result = withdraw.send(1.99,{walletno: '0244124550', provider: 'MTN'})
98
+ if result
99
+ puts withdraw.uuid
100
+ puts withdraw.status # accepted, :pending, :fail, :success
101
+ puts withdraw.transaction_id
102
+ else
103
+ puts withdraw.response_text
104
+ puts withdraw.status
105
+ end
106
+ ```
107
+
108
+ Query Transaction status
109
+ ```ruby
110
+ # Checking transaction status
111
+ # You always need the transaction UUID to get status response
112
+ withdraw = Bygpay::Withdraw::Mobile.new
113
+ result = withdraw.transaction_status('e81216aa-9ef7-4c5c-aed0-6e5ff1fe')
114
+ if result
115
+ puts withdraw.uuid
116
+ puts withdraw.status # accepted, :pending, :fail, :success
117
+ puts withdraw.transaction_id
118
+ else
119
+ puts withdraw.response_text
120
+ puts withdraw.status
35
121
  end
36
122
  ```
37
123
 
@@ -43,7 +129,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
43
129
 
44
130
  ## Contributing
45
131
 
46
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/bygpay. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
132
+ Bug reports and pull requests are welcome on GitHub at https://github.com/nukturnal/bygpay. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
47
133
 
48
134
 
49
135
  ## License
@@ -1,16 +1,21 @@
1
1
  module Bygpay
2
2
  class Configuration
3
3
  attr_accessor :base_url, :api_key,
4
- :deposits_mobile_path, :deposits_status_overide_path, :deposit_status_path
4
+ :deposit_mobile_path, :deposit_status_overide_path, :deposit_status_path,
5
+ :withdraw_mobile_path, :withdraw_status_overide_path, :withdraw_status_path
5
6
 
6
7
  def initialize
7
8
  @base_url = nil
8
9
  @api_key = nil
9
10
 
10
11
  # Preset default paths but allow for changes
11
- @deposits_mobile_path = '/deposits/mobile'
12
- @deposits_status_overide_path = '/deposits/status-overide'
12
+ @deposit_mobile_path = '/deposits/mobile'
13
+ @deposit_status_overide_path = '/deposits/status-overide'
13
14
  @deposit_status_path = '/deposits'
15
+
16
+ @withdraw_mobile_path = '/withdrawals/mobile'
17
+ @withdraw_status_overide_path = '/withdrawals/status-overide'
18
+ @withdraw_status_path = '/withdrawals'
14
19
  end
15
20
  end
16
21
  end
@@ -4,7 +4,6 @@ module Bygpay
4
4
 
5
5
  # {
6
6
  # "walletno" : "0276967627",
7
- # "amount": 0.10,
8
7
  # "provider": "TIGO",
9
8
  # "extrnx_code": null
10
9
  # }
@@ -15,7 +14,7 @@ module Bygpay
15
14
 
16
15
  # Return deposit transaction status
17
16
  def transaction_status(uuid)
18
- get_status(deposits_status_endpoint,uuid)
17
+ get_status(deposit_status_endpoint,uuid)
19
18
  end
20
19
 
21
20
  end
data/lib/bygpay/utils.rb CHANGED
@@ -8,17 +8,28 @@ module Bygpay
8
8
 
9
9
  # Mobile Deposit transactions endpoint
10
10
  def mobile_deposit_endpoint
11
- Bygpay.configuration.deposits_mobile_path
11
+ Bygpay.configuration.deposit_mobile_path
12
12
  end
13
13
 
14
14
  # Deposit transactions status check endpoint
15
- def deposits_status_endpoint
15
+ def deposit_status_endpoint
16
16
  Bygpay.configuration.deposit_status_path
17
17
  end
18
18
 
19
+ # Mobile Withdrawal transactions endpoint
20
+ def mobile_withdraw_endpoint
21
+ Bygpay.configuration.withdraw_mobile_path
22
+ end
23
+
24
+ # Withdraw transactions status check endpoint
25
+ def withdraw_status_endpoint
26
+ Bygpay.configuration.withdraw_status_path
27
+ end
28
+
19
29
  # Post payload
20
30
  def post(endpoint, payload = {})
21
31
  url = "#{Bygpay.configuration.base_url}#{endpoint}"
32
+ puts "URL: #{url}"
22
33
  result = http_connect.post(url, json: payload)
23
34
 
24
35
  parse_response(result.body)
@@ -34,6 +45,7 @@ module Bygpay
34
45
 
35
46
  # {
36
47
  # "status": "success",
48
+ # "message": "Some messages",
37
49
  # "data": {
38
50
  # "uuid": "d1f3395e-ea08-4599-b8a5-41f5e7a4",
39
51
  # "status": "accepted",
@@ -1,3 +1,3 @@
1
1
  module Bygpay
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -0,0 +1,22 @@
1
+ module Bygpay
2
+ module Withdraw
3
+ class Mobile < Bygpay::Withdrawals
4
+
5
+ # {
6
+ # "walletno" : "0276967627",
7
+ # "provider": "TIGO",
8
+ # "extrnx_code": null
9
+ # }
10
+ # Perform a mobile deposit request
11
+ def send(amount, payload ={})
12
+ post(mobile_withdraw_endpoint, payload.merge({amount: amount}))
13
+ end
14
+
15
+ # Return deposit transaction status
16
+ def transaction_status(uuid)
17
+ get_status(withdraw_status_endpoint,uuid)
18
+ end
19
+
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,6 @@
1
+ module Bygpay
2
+ class Withdrawals
3
+ include Bygpay::Utils
4
+
5
+ end
6
+ end
data/lib/bygpay.rb CHANGED
@@ -3,11 +3,10 @@ require 'bygpay/configuration'
3
3
  require 'bygpay/utils'
4
4
  require 'bygpay/deposits'
5
5
  require 'bygpay/deposit/mobile'
6
+ require 'bygpay/withdrawals'
7
+ require 'bygpay/withdraw/mobile'
6
8
 
7
9
  module Bygpay
8
- SUCCESS = 'success'
9
- FAIL = 'fail'
10
- PENDING = 'pending'
11
10
 
12
11
  class << self
13
12
  attr_accessor :configuration
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bygpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alfred Rowe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-17 00:00:00.000000000 Z
11
+ date: 2017-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,6 +76,7 @@ files:
76
76
  - ".gitignore"
77
77
  - ".rspec"
78
78
  - ".travis.yml"
79
+ - CHANGELOG.md
79
80
  - CODE_OF_CONDUCT.md
80
81
  - Gemfile
81
82
  - LICENSE.txt
@@ -90,6 +91,8 @@ files:
90
91
  - lib/bygpay/deposits.rb
91
92
  - lib/bygpay/utils.rb
92
93
  - lib/bygpay/version.rb
94
+ - lib/bygpay/withdraw/mobile.rb
95
+ - lib/bygpay/withdrawals.rb
93
96
  homepage: https://github.com/nukturnal/bygpay
94
97
  licenses:
95
98
  - MIT