stripe 18.4.0.pre.beta.2 → 18.4.0.pre.beta.3

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: b1a2a3834359e6be09eb3ec9f7ee2e8e2113eb786d6105471b1c4151550d4fc5
4
- data.tar.gz: c013331b901c7eabd440832ec21a8a88dfd6e4724538b28382dd9deb559d48af
3
+ metadata.gz: de609a2d017deda8f8c9b261618241b08d2f8da728101bfb19cc89c2baf0cc66
4
+ data.tar.gz: 25a387ab6b627e2d7e35355550d5a00782386490cd537927a21e6f058db7acc3
5
5
  SHA512:
6
- metadata.gz: 3cb84c2e9d3cce7197564b8ee89f297c15f535361cdf72e8fbb239ff8d9a9e7bcc8fedddcbe619c62f4febcbcd140e97cfc9984242afc334d86c182c895efb73
7
- data.tar.gz: 1b131a240e8185e47c304a800c16e1c54ca2e5691504859f411012a967945e1deb2cc0b8aa3eb538f759b5d4c46806bcb5a53407ca10f9a4eafa03fd4d3969b8
6
+ metadata.gz: b3758a67407b255e756d585fd63a612da16a8b6d13ad4b7634a7729111ce73d5cca1339c55778f3d62eaf2c65973803ac1d4d5a222b3ed7cc2d251d01c1e146e
7
+ data.tar.gz: ce470a524973c45710b6012f5f0af611f9a7df1341ff4a693853cc4a879f3cdd180ec3521df8c019689d503a8461460ad0058a579885d02f2b4c21a55fbdd5c0
@@ -471,7 +471,6 @@ module Stripe
471
471
  raise ArgumentError, "api_base cannot be empty" if base_url.nil? || base_url.empty?
472
472
 
473
473
  api_key ||= opts[:api_key]
474
- params = Util.objects_to_ids(params, api_mode)
475
474
 
476
475
  check_api_key!(api_key)
477
476
 
@@ -479,9 +478,10 @@ module Stripe
479
478
  query_params = nil
480
479
  case method
481
480
  when :get, :head, :delete
482
- query_params = params
481
+ query_params = Util.objects_to_ids(params)
483
482
  else
484
- body_params = params
483
+ # For v2 body params, serialize nil values to preserve explicit nulls
484
+ body_params = Util.objects_to_ids(params, serialize_empty: api_mode == :v2)
485
485
  end
486
486
 
487
487
  query_params, path = merge_query_params(query_params, path)
data/lib/stripe/util.rb CHANGED
@@ -7,7 +7,7 @@ module Stripe
7
7
  LEGAL_FIRST_CHARACTER = /[a-zA-Z_]/.freeze
8
8
  LEGAL_VARIABLE_CHARACTER = /[a-zA-Z0-9_]/.freeze
9
9
 
10
- def self.objects_to_ids(obj, semantics)
10
+ def self.objects_to_ids(obj, serialize_empty: false)
11
11
  case obj
12
12
  when APIResource
13
13
  obj.id
@@ -15,14 +15,14 @@ module Stripe
15
15
  res = {}
16
16
  obj.each do |k, v|
17
17
  if !v.nil?
18
- res[k] = objects_to_ids(v, semantics)
19
- elsif semantics == :v2
18
+ res[k] = objects_to_ids(v, serialize_empty: serialize_empty)
19
+ elsif serialize_empty
20
20
  res[k] = nil
21
21
  end
22
22
  end
23
23
  res
24
24
  when Array
25
- obj.map { |v| objects_to_ids(v, semantics) }
25
+ obj.map { |v| objects_to_ids(v, serialize_empty: serialize_empty) }
26
26
  else
27
27
  obj
28
28
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stripe
4
- VERSION = "18.4.0-beta.2"
4
+ VERSION = "18.4.0-beta.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe
3
3
  version: !ruby/object:Gem::Version
4
- version: 18.4.0.pre.beta.2
4
+ version: 18.4.0.pre.beta.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-04 00:00:00.000000000 Z
11
+ date: 2026-02-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Stripe is the easiest way to accept payments online. See https://stripe.com
14
14
  for details.