k2-connect-ruby 3.1.0 → 4.0.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/.github/pull_request_template.md +31 -0
- data/.gitignore +2 -0
- data/Gemfile.lock +38 -5
- data/README.md +499 -198
- data/k2-connect-ruby.gemspec +39 -35
- data/lib/k2-connect-ruby/entity.rb +39 -9
- data/lib/k2-connect-ruby/http_client.rb +43 -0
- data/lib/k2-connect-ruby/k2_entity/k2_entity.rb +12 -11
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/destination/destination_request.rb +27 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/destination/external_bank_account.rb +32 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/destination/external_mpesa_wallet.rb +38 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/destination/external_paybill.rb +31 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/destination/external_till.rb +30 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/destination/merchant_bank_account.rb +27 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/destination/merchant_mpesa_wallet.rb +27 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/external_recipient/bank_account.rb +17 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/external_recipient/mobile_wallet.rb +24 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/external_recipient/paybill.rb +17 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/external_recipient/recipient_request.rb +32 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/external_recipient/till.rb +17 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/external_recipient.rb +54 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_stk.rb +14 -31
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/payment_link.rb +53 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/payment_links/payment_link_request.rb +43 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/reversal.rb +39 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/reversals/reversal_request.rb +39 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/send_money/send_money_request.rb +53 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/send_money.rb +73 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/stk_push/stk_push_request.rb +51 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/transfer_account/merchant_bank_account.rb +35 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/transfer_account/merchant_mpesa_wallet.rb +38 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/transfer_account/transfer_account_request.rb +25 -0
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/transfer_account.rb +49 -0
- data/lib/k2-connect-ruby/k2_entity/k2_polling.rb +16 -13
- data/lib/k2-connect-ruby/k2_entity/k2_subscribe.rb +16 -14
- data/lib/k2-connect-ruby/k2_entity/k2_token.rb +14 -39
- data/lib/k2-connect-ruby/k2_entity/polling/polling_request.rb +48 -0
- data/lib/k2-connect-ruby/k2_entity/webhook/webhook_subscription_request.rb +66 -0
- data/lib/k2-connect-ruby/k2_errors.rb +15 -71
- data/lib/k2-connect-ruby/k2_services/base_service.rb +25 -0
- data/lib/k2-connect-ruby/k2_services/k2_client.rb +7 -6
- data/lib/k2-connect-ruby/k2_services/payloads/daraja_webhooks.rb +43 -0
- data/lib/k2-connect-ruby/k2_services/payloads/k2_transaction.rb +20 -18
- data/lib/k2-connect-ruby/k2_services/payloads/k2_webhooks.rb +36 -32
- data/lib/k2-connect-ruby/k2_services/payloads/transactions/incoming_payment.rb +31 -29
- data/lib/k2-connect-ruby/k2_services/payloads/transactions/outgoing_payment.rb +3 -1
- data/lib/k2-connect-ruby/k2_services/payloads/transactions/payment_link.rb +38 -0
- data/lib/k2-connect-ruby/k2_services/payloads/transactions/reversal.rb +35 -0
- data/lib/k2-connect-ruby/k2_services/payloads/transactions/send_money_payment.rb +25 -0
- data/lib/k2-connect-ruby/k2_services/payloads/transactions/transfer.rb +2 -0
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/b2b_transaction_received.rb +9 -3
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/b2b_transaction_reversed.rb +22 -0
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/buygoods_transaction_received.rb +6 -0
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/buygoods_transaction_reversed.rb +4 -0
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/card_transaction_received.rb +18 -0
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/card_transaction_reversed.rb +17 -0
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/card_transaction_voided.rb +17 -0
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/customer_created.rb +11 -7
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/transfer_webhook.rb +50 -0
- data/lib/k2-connect-ruby/k2_services/send_introspect_token_request_service.rb +56 -0
- data/lib/k2-connect-ruby/k2_services/send_k2_connect_get_request_service.rb +42 -0
- data/lib/k2-connect-ruby/k2_services/send_k2_connect_post_request_service.rb +44 -0
- data/lib/k2-connect-ruby/k2_services/send_request_token_request_service.rb +55 -0
- data/lib/k2-connect-ruby/k2_services/send_revoke_token_request_service.rb +56 -0
- data/lib/k2-connect-ruby/k2_services/send_token_info_request_service.rb +44 -0
- data/lib/k2-connect-ruby/k2_services.rb +29 -0
- data/lib/k2-connect-ruby/k2_utilities/config/k2_config.rb +18 -26
- data/lib/k2-connect-ruby/k2_utilities/config/k2_config.yml +9 -10
- data/lib/k2-connect-ruby/k2_utilities/k2_authenticator.rb +12 -5
- data/lib/k2-connect-ruby/k2_utilities/k2_connection.rb +0 -49
- data/lib/k2-connect-ruby/k2_utilities/k2_connection_helper.rb +21 -0
- data/lib/k2-connect-ruby/k2_utilities/k2_process_result.rb +16 -15
- data/lib/k2-connect-ruby/k2_utilities/k2_process_webhook.rb +34 -21
- data/lib/k2-connect-ruby/k2_utilities/k2_url_parse.rb +3 -1
- data/lib/k2-connect-ruby/k2_utilities/phone_number_validator.rb +15 -0
- data/lib/k2-connect-ruby/k2_utilities.rb +9 -20
- data/lib/k2-connect-ruby/version.rb +1 -1
- data/lib/k2-connect-ruby.rb +14 -13
- metadata +101 -33
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_pay.rb +0 -98
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_settlement.rb +0 -48
- data/lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_transfer.rb +0 -44
- data/lib/k2-connect-ruby/k2_entity/k2_notification.rb +0 -40
- data/lib/k2-connect-ruby/k2_services/payload_process.rb +0 -19
- data/lib/k2-connect-ruby/k2_services/payloads/webhooks/settlement_webhook.rb +0 -44
- data/lib/k2-connect-ruby/k2_utilities/k2_validation.rb +0 -128
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82dededa6abe9ac67a070c68fd0c1e1d4bd9f3fde78ba141864995d3071836ac
|
|
4
|
+
data.tar.gz: d471a6d6293283569fb858340d64a704e99d35ca0a634bb5f2ea30c2eb610f7a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9b71b48d4536a98f8a226278fb1997f478601c352b6f1b0bf51189d4a6c83c289ae8e2ee8123cafe3710341fccb873d8519d4b78d2257fd3c60a47f47bcca237
|
|
7
|
+
data.tar.gz: d5ea542673790f8f061f60edf00be70f364fdd41bd7cac611097924f81ed3f6e65d6fcaabe1eff880876e6e7c325fde9cb32db42c407f67d6137ceace3eceeac
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
## Background of changes
|
|
2
|
+
|
|
3
|
+
_Please include a summary of the changes being introduced by this PR._
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Type of change
|
|
7
|
+
|
|
8
|
+
_Please tick off the options that apply._
|
|
9
|
+
|
|
10
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
|
11
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
12
|
+
- [ ] Bug fix (non-breaking change which fixes an issue)
|
|
13
|
+
- [ ] This change requires a documentation update
|
|
14
|
+
- [ ] This change requires Postman collection update
|
|
15
|
+
- [ ] This change requires updating the DEPLOYMENT_CHECKLIST
|
|
16
|
+
|
|
17
|
+
## Checklist
|
|
18
|
+
|
|
19
|
+
_Please tick off the options that apply._
|
|
20
|
+
|
|
21
|
+
- [ ] My changes work as expected
|
|
22
|
+
- [ ] I have performed a self-review of my code
|
|
23
|
+
- [ ] I have updated the DEPLOYMENT_CHECKLIST
|
|
24
|
+
- [ ] I have made corresponding changes to the documentation
|
|
25
|
+
- [ ] I have made corresponding changes to Postman collection
|
|
26
|
+
- [ ] I have added automated tests that prove my fix is effective or that my feature works as expected
|
|
27
|
+
|
|
28
|
+
## How has this been tested?
|
|
29
|
+
|
|
30
|
+
_Please outline the scenarios that were tested (Add screenshots if necessary)_
|
|
31
|
+
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
k2-connect-ruby (
|
|
5
|
-
activemodel (>= 7.2.2,
|
|
6
|
-
activesupport (>= 7.2.2,
|
|
4
|
+
k2-connect-ruby (4.0.0)
|
|
5
|
+
activemodel (>= 7.2.2, <= 8.1.1)
|
|
6
|
+
activesupport (>= 7.2.2, <= 8.1.1)
|
|
7
7
|
json (~> 2.8.2)
|
|
8
8
|
rest-client (~> 2.1.0)
|
|
9
9
|
|
|
@@ -26,6 +26,7 @@ GEM
|
|
|
26
26
|
tzinfo (~> 2.0, >= 2.0.5)
|
|
27
27
|
addressable (2.8.7)
|
|
28
28
|
public_suffix (>= 2.0.2, < 7.0)
|
|
29
|
+
ast (2.4.3)
|
|
29
30
|
base64 (0.2.0)
|
|
30
31
|
benchmark (0.4.0)
|
|
31
32
|
bigdecimal (3.1.8)
|
|
@@ -63,6 +64,8 @@ GEM
|
|
|
63
64
|
i18n (1.14.6)
|
|
64
65
|
concurrent-ruby (~> 1.0)
|
|
65
66
|
json (2.8.2)
|
|
67
|
+
language_server-protocol (3.17.0.5)
|
|
68
|
+
lint_roller (1.1.0)
|
|
66
69
|
listen (3.9.0)
|
|
67
70
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
68
71
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
@@ -79,14 +82,22 @@ GEM
|
|
|
79
82
|
notiffany (0.1.3)
|
|
80
83
|
nenv (~> 0.1)
|
|
81
84
|
shellany (~> 0.0)
|
|
85
|
+
parallel (1.27.0)
|
|
86
|
+
parser (3.3.9.0)
|
|
87
|
+
ast (~> 2.4.1)
|
|
88
|
+
racc
|
|
89
|
+
prism (1.4.0)
|
|
82
90
|
pry (0.15.0)
|
|
83
91
|
coderay (~> 1.1)
|
|
84
92
|
method_source (~> 1.0)
|
|
85
93
|
public_suffix (6.0.1)
|
|
94
|
+
racc (1.8.1)
|
|
95
|
+
rainbow (3.1.1)
|
|
86
96
|
rake (13.2.1)
|
|
87
97
|
rb-fsevent (0.11.2)
|
|
88
98
|
rb-inotify (0.11.1)
|
|
89
99
|
ffi (~> 1.0)
|
|
100
|
+
regexp_parser (2.11.2)
|
|
90
101
|
rest-client (2.1.0)
|
|
91
102
|
http-accept (>= 1.7.0, < 2.0)
|
|
92
103
|
http-cookie (>= 1.0.2, < 2.0)
|
|
@@ -109,12 +120,32 @@ GEM
|
|
|
109
120
|
rspec (>= 3)
|
|
110
121
|
terminal-notifier (>= 1.4)
|
|
111
122
|
rspec-support (3.13.1)
|
|
123
|
+
rubocop (1.80.1)
|
|
124
|
+
json (~> 2.3)
|
|
125
|
+
language_server-protocol (~> 3.17.0.2)
|
|
126
|
+
lint_roller (~> 1.1.0)
|
|
127
|
+
parallel (~> 1.10)
|
|
128
|
+
parser (>= 3.3.0.2)
|
|
129
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
130
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
131
|
+
rubocop-ast (>= 1.46.0, < 2.0)
|
|
132
|
+
ruby-progressbar (~> 1.7)
|
|
133
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
134
|
+
rubocop-ast (1.46.0)
|
|
135
|
+
parser (>= 3.3.7.2)
|
|
136
|
+
prism (~> 1.4)
|
|
137
|
+
rubocop-shopify (2.17.1)
|
|
138
|
+
rubocop (~> 1.62)
|
|
139
|
+
ruby-progressbar (1.13.0)
|
|
112
140
|
securerandom (0.3.2)
|
|
113
141
|
shellany (0.0.1)
|
|
114
142
|
terminal-notifier (2.0.0)
|
|
115
143
|
thor (1.3.2)
|
|
116
144
|
tzinfo (2.0.6)
|
|
117
145
|
concurrent-ruby (~> 1.0)
|
|
146
|
+
unicode-display_width (3.1.5)
|
|
147
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
148
|
+
unicode-emoji (4.0.4)
|
|
118
149
|
vcr (6.3.1)
|
|
119
150
|
base64
|
|
120
151
|
webmock (3.24.0)
|
|
@@ -126,7 +157,7 @@ PLATFORMS
|
|
|
126
157
|
ruby
|
|
127
158
|
|
|
128
159
|
DEPENDENCIES
|
|
129
|
-
bundler (~>
|
|
160
|
+
bundler (~> 4.0.3)
|
|
130
161
|
faker (~> 3.5.1)
|
|
131
162
|
guard (~> 2.19)
|
|
132
163
|
guard-rspec (~> 4.7.3)
|
|
@@ -134,8 +165,10 @@ DEPENDENCIES
|
|
|
134
165
|
rake (~> 13.2.1)
|
|
135
166
|
rspec (~> 3.13.0)
|
|
136
167
|
rspec-nc (~> 0.3.0)
|
|
168
|
+
rubocop (~> 1.80.1)
|
|
169
|
+
rubocop-shopify (~> 2.17.1)
|
|
137
170
|
vcr (~> 6.3.1)
|
|
138
171
|
webmock (~> 3.24)
|
|
139
172
|
|
|
140
173
|
BUNDLED WITH
|
|
141
|
-
|
|
174
|
+
4.0.3
|