tappay_ruby 0.15.6 → 0.16.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/README.md +30 -0
- data/lib/tappay/transaction/query.rb +19 -2
- data/lib/tappay/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f3adfe744edc8cb643d061174b024eb6c97a6da31adab49fb8bc9248dc06182
|
4
|
+
data.tar.gz: cadd30812520dfc51f99c6efbd8c1dae7eaee132c8899d71723f6dd21c5726b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e75a79fba3503a549125f7b380c796a5f9333466b6cbb1b88938f9ecb22700be27a357c6b3a90d62387fc6ae6266db0c9ec0d8a614d4ec3858719449d5816db5
|
7
|
+
data.tar.gz: f5d171f41699ebe5dad2820e1e60ab3a8c5dfb72d784d0befcf4a10c0571cf8c5e70935e6de3185123f5857dd3a680d332ba4fd2789202950e2f9c87df77979d
|
data/README.md
CHANGED
@@ -186,6 +186,36 @@ payment = Tappay::JkoPay::Pay.new(payment_options)
|
|
186
186
|
result = payment.execute
|
187
187
|
```
|
188
188
|
|
189
|
+
### Transaction Query
|
190
|
+
|
191
|
+
Query transaction records with required time range:
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
# Query transactions within a specific time range
|
195
|
+
result = Tappay::Transaction::Query.new(
|
196
|
+
time: {
|
197
|
+
start_time: 1706198400, # Unix timestamp for start time
|
198
|
+
end_time: 1706284800 # Unix timestamp for end time
|
199
|
+
},
|
200
|
+
order_number: 'ORDER123', # Optional: filter by order number
|
201
|
+
records_per_page: 50, # Optional: default is 50
|
202
|
+
page: 0, # Optional: default is 0
|
203
|
+
order_by: { # Optional: sort results
|
204
|
+
attribute: 'time',
|
205
|
+
is_descending: true
|
206
|
+
}
|
207
|
+
).execute
|
208
|
+
|
209
|
+
# Access the results
|
210
|
+
result[:trade_records].each do |record|
|
211
|
+
puts "Transaction ID: #{record[:rec_trade_id]}"
|
212
|
+
puts "Amount: #{record[:amount]}"
|
213
|
+
puts "Status: #{record[:record_status]}"
|
214
|
+
end
|
215
|
+
```
|
216
|
+
|
217
|
+
Note: The `time` parameter with both `start_time` and `end_time` is required for querying transactions.
|
218
|
+
|
189
219
|
### Error Handling
|
190
220
|
|
191
221
|
The gem provides comprehensive error handling:
|
@@ -3,11 +3,11 @@
|
|
3
3
|
module Tappay
|
4
4
|
module Transaction
|
5
5
|
class Query
|
6
|
-
def initialize(
|
6
|
+
def initialize(time:, order_number: nil, records_per_page: 50, page: 0, order_by: nil)
|
7
|
+
@time = validate_time!(time)
|
7
8
|
@order_number = order_number
|
8
9
|
@records_per_page = records_per_page
|
9
10
|
@page = page
|
10
|
-
@time = time
|
11
11
|
@order_by = order_by
|
12
12
|
end
|
13
13
|
|
@@ -30,6 +30,7 @@ module Tappay
|
|
30
30
|
|
31
31
|
def request_params
|
32
32
|
{
|
33
|
+
partner_key: Tappay.configuration.partner_key,
|
33
34
|
records_per_page: @records_per_page,
|
34
35
|
page: @page,
|
35
36
|
filters: filters,
|
@@ -44,6 +45,22 @@ module Tappay
|
|
44
45
|
}.compact
|
45
46
|
end
|
46
47
|
|
48
|
+
def validate_time!(time)
|
49
|
+
unless time.is_a?(Hash) && time[:start_time] && time[:end_time]
|
50
|
+
raise Tappay::ValidationError, "time parameter must include start_time and end_time"
|
51
|
+
end
|
52
|
+
|
53
|
+
unless time[:start_time].is_a?(Integer) && time[:end_time].is_a?(Integer)
|
54
|
+
raise Tappay::ValidationError, "start_time and end_time must be Unix timestamps (integers)"
|
55
|
+
end
|
56
|
+
|
57
|
+
if time[:start_time] > time[:end_time]
|
58
|
+
raise Tappay::ValidationError, "start_time cannot be later than end_time"
|
59
|
+
end
|
60
|
+
|
61
|
+
time
|
62
|
+
end
|
63
|
+
|
47
64
|
def parse_trade_records(records)
|
48
65
|
return [] unless records&.any?
|
49
66
|
|
data/lib/tappay/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tappay_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zac
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-01-
|
10
|
+
date: 2025-01-25 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: httparty
|