paystack_sdk 0.0.7 → 0.0.9
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 +27 -0
- data/lib/paystack_sdk/client.rb +30 -0
- data/lib/paystack_sdk/resources/banks.rb +21 -0
- data/lib/paystack_sdk/resources/verification.rb +36 -0
- data/lib/paystack_sdk/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49b220e27fe0ec66289af8fbbba9d84e63c3698b5964629293edcc8e31335119
|
4
|
+
data.tar.gz: 0df4630d49d761fb99371fb020271c515153dcbf3f784ac6c6bf543dc63a0634
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15748f65a44c87b7a2b679642c3a46c8aa9f7db1841f964975e0929d30dfcdf52a4979a74289085717927452b81806c3c364c362a9cf15416db75baf25b5db43
|
7
|
+
data.tar.gz: 0e242f0b20e9475d4eb23fff2f6979007d104223f0d681701da99f9aa2635644c9bad41ce23878605dd3583eee38e3535703347a351d7995f078922b1c081798
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,32 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [0.0.9] - 2025-06-26
|
4
|
+
|
5
|
+
### Added
|
6
|
+
|
7
|
+
- Verification resource with support for:
|
8
|
+
- Resolving bank accounts
|
9
|
+
- Resolving card BINs
|
10
|
+
- Validating accounts (with required and optional fields)
|
11
|
+
- Registered `verification` resource in the main client for easy access
|
12
|
+
- Regression tests for all Verification resource methods, including required field validation and full parameter support
|
13
|
+
|
14
|
+
### Changed
|
15
|
+
|
16
|
+
- Fix the link for listing banks API
|
17
|
+
|
18
|
+
## [0.0.8] - 2025-06-26
|
19
|
+
|
20
|
+
### Added
|
21
|
+
|
22
|
+
- Banks resource with support for listing banks and currency validation
|
23
|
+
- Regression tests for Banks resource, including validation for allowed currencies
|
24
|
+
- Registered `banks` resource in the main client for easy access
|
25
|
+
|
26
|
+
### Improved
|
27
|
+
|
28
|
+
- Validation for allowed currency values in Banks resource for safer API usage
|
29
|
+
|
3
30
|
## [0.0.7] - 2025-06-25
|
4
31
|
|
5
32
|
### Added
|
data/lib/paystack_sdk/client.rb
CHANGED
@@ -4,6 +4,8 @@ require_relative "resources/transactions"
|
|
4
4
|
require_relative "resources/customers"
|
5
5
|
require_relative "resources/transfer_recipients"
|
6
6
|
require_relative "resources/transfers"
|
7
|
+
require_relative "resources/banks"
|
8
|
+
require_relative "resources/verification"
|
7
9
|
require_relative "utils/connection_utils"
|
8
10
|
|
9
11
|
module PaystackSdk
|
@@ -91,5 +93,33 @@ module PaystackSdk
|
|
91
93
|
def transfers
|
92
94
|
@transfers ||= Resources::Transfers.new(@connection)
|
93
95
|
end
|
96
|
+
|
97
|
+
# Provides access to the `Banks` resource.
|
98
|
+
#
|
99
|
+
# @return [PaystackSdk::Resources::Banks] An instance of the
|
100
|
+
# `Banks` resource.
|
101
|
+
#
|
102
|
+
# @example
|
103
|
+
# ```ruby
|
104
|
+
# banks = client.banks
|
105
|
+
# response = banks.list
|
106
|
+
# ```
|
107
|
+
def banks
|
108
|
+
@banks ||= Resources::Banks.new(@connection)
|
109
|
+
end
|
110
|
+
|
111
|
+
# Provides access to the `Verification` resource.
|
112
|
+
#
|
113
|
+
# @return [PaystackSdk::Resources::Verification] An instance of the
|
114
|
+
# `Verification` resource.
|
115
|
+
#
|
116
|
+
# @example
|
117
|
+
# ```ruby
|
118
|
+
# verification = client.verification
|
119
|
+
# response = verification.resolve_account(account_number: ..., bank_code: ...)
|
120
|
+
# ```
|
121
|
+
def verification
|
122
|
+
@verification ||= Resources::Verification.new(@connection)
|
123
|
+
end
|
94
124
|
end
|
95
125
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_relative "../validations"
|
2
|
+
|
3
|
+
module PaystackSdk
|
4
|
+
module Resources
|
5
|
+
class Banks < Base
|
6
|
+
# List banks
|
7
|
+
# @see https://paystack.com/docs/api/miscellaneous/#bank
|
8
|
+
def list(query = {})
|
9
|
+
if query.key?(:currency)
|
10
|
+
validate_allowed_values!(
|
11
|
+
value: query[:currency],
|
12
|
+
name: "currency",
|
13
|
+
allowed_values: %w[NGN GHS ZAR KES USD]
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
handle_response(@connection.get("/bank", query))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,36 @@
|
|
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
|
data/lib/paystack_sdk/version.rb
CHANGED
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.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxwell Nana Forson (theLazyProgrammer)
|
@@ -115,11 +115,13 @@ files:
|
|
115
115
|
- Rakefile
|
116
116
|
- lib/paystack_sdk.rb
|
117
117
|
- lib/paystack_sdk/client.rb
|
118
|
+
- lib/paystack_sdk/resources/banks.rb
|
118
119
|
- lib/paystack_sdk/resources/base.rb
|
119
120
|
- lib/paystack_sdk/resources/customers.rb
|
120
121
|
- lib/paystack_sdk/resources/transactions.rb
|
121
122
|
- lib/paystack_sdk/resources/transfer_recipients.rb
|
122
123
|
- lib/paystack_sdk/resources/transfers.rb
|
124
|
+
- lib/paystack_sdk/resources/verification.rb
|
123
125
|
- lib/paystack_sdk/response.rb
|
124
126
|
- lib/paystack_sdk/utils/connection_utils.rb
|
125
127
|
- lib/paystack_sdk/validations.rb
|