paystack_sdk 0.1.0 → 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 +4 -4
- data/CHANGELOG.md +67 -0
- data/README.md +624 -86
- data/lib/paystack_sdk/client.rb +72 -14
- data/lib/paystack_sdk/middleware/transport_errors.rb +23 -0
- data/lib/paystack_sdk/request_helpers.rb +117 -0
- data/lib/paystack_sdk/resources/banks.rb +163 -13
- data/lib/paystack_sdk/resources/base.rb +4 -2
- data/lib/paystack_sdk/resources/charges.rb +219 -0
- data/lib/paystack_sdk/resources/customers.rb +262 -145
- data/lib/paystack_sdk/resources/extensions/charges.rb +65 -0
- data/lib/paystack_sdk/resources/miscellaneous.rb +58 -0
- data/lib/paystack_sdk/resources/refunds.rb +116 -0
- data/lib/paystack_sdk/resources/transactions.rb +365 -238
- data/lib/paystack_sdk/resources/transfer_recipients.rb +135 -27
- data/lib/paystack_sdk/resources/transfers.rb +260 -25
- data/lib/paystack_sdk/response.rb +95 -18
- data/lib/paystack_sdk/utils/connection_utils.rb +100 -5
- data/lib/paystack_sdk/validations.rb +24 -20
- data/lib/paystack_sdk/version.rb +1 -1
- data/lib/paystack_sdk/webhook.rb +152 -0
- data/lib/paystack_sdk.rb +27 -2
- metadata +70 -16
- data/lib/paystack_sdk/resources/verification.rb +0 -36
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: paystack_sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Maxwell Nana Forson (theLazyProgrammer)
|
|
@@ -13,44 +13,50 @@ dependencies:
|
|
|
13
13
|
name: faraday
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
|
-
- - "
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '2.13'
|
|
19
|
+
- - "<"
|
|
17
20
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
21
|
+
version: '3'
|
|
19
22
|
type: :runtime
|
|
20
23
|
prerelease: false
|
|
21
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
25
|
requirements:
|
|
23
|
-
- - "
|
|
26
|
+
- - ">="
|
|
27
|
+
- !ruby/object:Gem::Version
|
|
28
|
+
version: '2.13'
|
|
29
|
+
- - "<"
|
|
24
30
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
31
|
+
version: '3'
|
|
26
32
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
33
|
+
name: faraday-retry
|
|
28
34
|
requirement: !ruby/object:Gem::Requirement
|
|
29
35
|
requirements:
|
|
30
36
|
- - "~>"
|
|
31
37
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '3
|
|
33
|
-
type: :
|
|
38
|
+
version: '2.3'
|
|
39
|
+
type: :runtime
|
|
34
40
|
prerelease: false
|
|
35
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
42
|
requirements:
|
|
37
43
|
- - "~>"
|
|
38
44
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '3
|
|
45
|
+
version: '2.3'
|
|
40
46
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
47
|
+
name: debug
|
|
42
48
|
requirement: !ruby/object:Gem::Requirement
|
|
43
49
|
requirements:
|
|
44
50
|
- - "~>"
|
|
45
51
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 1.
|
|
52
|
+
version: 1.9.0
|
|
47
53
|
type: :development
|
|
48
54
|
prerelease: false
|
|
49
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
56
|
requirements:
|
|
51
57
|
- - "~>"
|
|
52
58
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 1.
|
|
59
|
+
version: 1.9.0
|
|
54
60
|
- !ruby/object:Gem::Dependency
|
|
55
61
|
name: irb
|
|
56
62
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,19 +86,61 @@ dependencies:
|
|
|
80
86
|
- !ruby/object:Gem::Version
|
|
81
87
|
version: 13.2.1
|
|
82
88
|
- !ruby/object:Gem::Dependency
|
|
83
|
-
name:
|
|
89
|
+
name: rspec
|
|
84
90
|
requirement: !ruby/object:Gem::Requirement
|
|
85
91
|
requirements:
|
|
86
92
|
- - "~>"
|
|
87
93
|
- !ruby/object:Gem::Version
|
|
88
|
-
version:
|
|
94
|
+
version: '3.13'
|
|
89
95
|
type: :development
|
|
90
96
|
prerelease: false
|
|
91
97
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
98
|
requirements:
|
|
93
99
|
- - "~>"
|
|
94
100
|
- !ruby/object:Gem::Version
|
|
95
|
-
version:
|
|
101
|
+
version: '3.13'
|
|
102
|
+
- !ruby/object:Gem::Dependency
|
|
103
|
+
name: json_schemer
|
|
104
|
+
requirement: !ruby/object:Gem::Requirement
|
|
105
|
+
requirements:
|
|
106
|
+
- - "~>"
|
|
107
|
+
- !ruby/object:Gem::Version
|
|
108
|
+
version: '2.5'
|
|
109
|
+
type: :development
|
|
110
|
+
prerelease: false
|
|
111
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
112
|
+
requirements:
|
|
113
|
+
- - "~>"
|
|
114
|
+
- !ruby/object:Gem::Version
|
|
115
|
+
version: '2.5'
|
|
116
|
+
- !ruby/object:Gem::Dependency
|
|
117
|
+
name: webmock
|
|
118
|
+
requirement: !ruby/object:Gem::Requirement
|
|
119
|
+
requirements:
|
|
120
|
+
- - "~>"
|
|
121
|
+
- !ruby/object:Gem::Version
|
|
122
|
+
version: '3.25'
|
|
123
|
+
type: :development
|
|
124
|
+
prerelease: false
|
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
126
|
+
requirements:
|
|
127
|
+
- - "~>"
|
|
128
|
+
- !ruby/object:Gem::Version
|
|
129
|
+
version: '3.25'
|
|
130
|
+
- !ruby/object:Gem::Dependency
|
|
131
|
+
name: standard
|
|
132
|
+
requirement: !ruby/object:Gem::Requirement
|
|
133
|
+
requirements:
|
|
134
|
+
- - "~>"
|
|
135
|
+
- !ruby/object:Gem::Version
|
|
136
|
+
version: 1.49.0
|
|
137
|
+
type: :development
|
|
138
|
+
prerelease: false
|
|
139
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
140
|
+
requirements:
|
|
141
|
+
- - "~>"
|
|
142
|
+
- !ruby/object:Gem::Version
|
|
143
|
+
version: 1.49.0
|
|
96
144
|
description: |
|
|
97
145
|
The `paystack_sdk` gem provides a simple and intuitive interface for
|
|
98
146
|
interacting with Paystack's payment gateway API. It allows developers to
|
|
@@ -115,17 +163,23 @@ files:
|
|
|
115
163
|
- Rakefile
|
|
116
164
|
- lib/paystack_sdk.rb
|
|
117
165
|
- lib/paystack_sdk/client.rb
|
|
166
|
+
- lib/paystack_sdk/middleware/transport_errors.rb
|
|
167
|
+
- lib/paystack_sdk/request_helpers.rb
|
|
118
168
|
- lib/paystack_sdk/resources/banks.rb
|
|
119
169
|
- lib/paystack_sdk/resources/base.rb
|
|
170
|
+
- lib/paystack_sdk/resources/charges.rb
|
|
120
171
|
- lib/paystack_sdk/resources/customers.rb
|
|
172
|
+
- lib/paystack_sdk/resources/extensions/charges.rb
|
|
173
|
+
- lib/paystack_sdk/resources/miscellaneous.rb
|
|
174
|
+
- lib/paystack_sdk/resources/refunds.rb
|
|
121
175
|
- lib/paystack_sdk/resources/transactions.rb
|
|
122
176
|
- lib/paystack_sdk/resources/transfer_recipients.rb
|
|
123
177
|
- lib/paystack_sdk/resources/transfers.rb
|
|
124
|
-
- lib/paystack_sdk/resources/verification.rb
|
|
125
178
|
- lib/paystack_sdk/response.rb
|
|
126
179
|
- lib/paystack_sdk/utils/connection_utils.rb
|
|
127
180
|
- lib/paystack_sdk/validations.rb
|
|
128
181
|
- lib/paystack_sdk/version.rb
|
|
182
|
+
- lib/paystack_sdk/webhook.rb
|
|
129
183
|
- mise.toml
|
|
130
184
|
- sig/paystack_sdk.rbs
|
|
131
185
|
homepage: https://github.com/nanafox/paystack_sdk
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require_relative "../validations"
|
|
2
|
-
require_relative "base"
|
|
3
|
-
|
|
4
|
-
module PaystackSdk
|
|
5
|
-
module Resources
|
|
6
|
-
class Verification < Base
|
|
7
|
-
# Resolve Bank Account
|
|
8
|
-
# @see https://paystack.com/docs/api/verification/#resolve-bank-account
|
|
9
|
-
def resolve_account(account_number:, bank_code:)
|
|
10
|
-
validate_presence!(value: account_number, name: "account_number")
|
|
11
|
-
validate_presence!(value: bank_code, name: "bank_code")
|
|
12
|
-
handle_response(@connection.get("/bank/resolve", {account_number: account_number, bank_code: bank_code}))
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# Resolve Card BIN
|
|
16
|
-
# @see https://paystack.com/docs/api/verification/#resolve-card-bin
|
|
17
|
-
def resolve_card_bin(bin)
|
|
18
|
-
validate_presence!(value: bin, name: "bin")
|
|
19
|
-
handle_response(@connection.get("/decision/bin/#{bin}"))
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# Validate Account
|
|
23
|
-
# @see https://paystack.com/docs/api/verification/#validate-account
|
|
24
|
-
# Required: account_number, account_name, account_type, bank_code, country_code, document_type
|
|
25
|
-
# Optional: document_number
|
|
26
|
-
def validate_account(params)
|
|
27
|
-
validate_required_params!(
|
|
28
|
-
payload: params,
|
|
29
|
-
required_params: %i[account_number account_name account_type bank_code country_code document_type],
|
|
30
|
-
operation_name: "Validate Account"
|
|
31
|
-
)
|
|
32
|
-
handle_response(@connection.post("/bank/validate", params))
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|