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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 698fedb546a5dbd45b8892bb0af16c052e0ebf8fa04c108e6d7694da8ef7fa27
4
- data.tar.gz: 91ef921ee685b23b8abc55939dc982dc80e1dc896cca1180e819f64a639f4bbb
3
+ metadata.gz: 6f3adfe744edc8cb643d061174b024eb6c97a6da31adab49fb8bc9248dc06182
4
+ data.tar.gz: cadd30812520dfc51f99c6efbd8c1dae7eaee132c8899d71723f6dd21c5726b8
5
5
  SHA512:
6
- metadata.gz: 460626eaf846e577ddcb5337d650baef56eefaf03774c591a57689f211cce33e769a0123f85c33ba68d71b6bd8b1f4fe3a370a0937480ee4c2172827e6dea887
7
- data.tar.gz: 114325d5d941c3f90b7ee48b145ae14ccabacedcbcfe83e109ce2801257f70284f16a5595ba96424106121503d2ddc384c90f42b034ceef82215c0bfd8cdb605
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(order_number:, records_per_page: 50, page: 0, time: nil, order_by: nil)
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
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tappay
4
- VERSION = "0.15.6"
4
+ VERSION = "0.16.0"
5
5
  end
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.15.6
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-23 00:00:00.000000000 Z
10
+ date: 2025-01-25 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: httparty