stripe 1.27.2 → 5.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +942 -0
  3. data/CODE_OF_CONDUCT.md +77 -0
  4. data/Gemfile +29 -4
  5. data/History.txt +1 -361
  6. data/README.md +349 -0
  7. data/Rakefile +33 -3
  8. data/VERSION +1 -1
  9. data/bin/stripe-console +14 -5
  10. data/lib/data/ca-certificates.crt +4016 -5138
  11. data/lib/stripe.rb +102 -320
  12. data/lib/stripe/api_operations/create.rb +5 -9
  13. data/lib/stripe/api_operations/delete.rb +32 -4
  14. data/lib/stripe/api_operations/list.rb +11 -9
  15. data/lib/stripe/api_operations/nested_resource.rb +73 -0
  16. data/lib/stripe/api_operations/request.rb +66 -11
  17. data/lib/stripe/api_operations/save.rb +97 -0
  18. data/lib/stripe/api_resource.rb +96 -12
  19. data/lib/stripe/connection_manager.rb +164 -0
  20. data/lib/stripe/error_object.rb +94 -0
  21. data/lib/stripe/errors.rb +177 -0
  22. data/lib/stripe/instrumentation.rb +82 -0
  23. data/lib/stripe/list_object.rb +118 -13
  24. data/lib/stripe/multipart_encoder.rb +131 -0
  25. data/lib/stripe/oauth.rb +65 -0
  26. data/lib/stripe/object_types.rb +104 -0
  27. data/lib/stripe/resources.rb +87 -0
  28. data/lib/stripe/resources/account.rb +170 -0
  29. data/lib/stripe/resources/account_link.rb +10 -0
  30. data/lib/stripe/resources/alipay_account.rb +34 -0
  31. data/lib/stripe/resources/apple_pay_domain.rb +17 -0
  32. data/lib/stripe/resources/application_fee.rb +14 -0
  33. data/lib/stripe/resources/application_fee_refund.rb +30 -0
  34. data/lib/stripe/resources/balance.rb +8 -0
  35. data/lib/stripe/resources/balance_transaction.rb +10 -0
  36. data/lib/stripe/resources/bank_account.rb +43 -0
  37. data/lib/stripe/resources/billing_portal/configuration.rb +14 -0
  38. data/lib/stripe/resources/billing_portal/session.rb +12 -0
  39. data/lib/stripe/resources/bitcoin_receiver.rb +24 -0
  40. data/lib/stripe/resources/bitcoin_transaction.rb +15 -0
  41. data/lib/stripe/resources/capability.rb +33 -0
  42. data/lib/stripe/resources/card.rb +38 -0
  43. data/lib/stripe/resources/charge.rb +23 -0
  44. data/lib/stripe/resources/checkout/session.rb +16 -0
  45. data/lib/stripe/resources/country_spec.rb +10 -0
  46. data/lib/stripe/resources/coupon.rb +13 -0
  47. data/lib/stripe/resources/credit_note.rb +33 -0
  48. data/lib/stripe/resources/credit_note_line_item.rb +7 -0
  49. data/lib/stripe/resources/customer.rb +41 -0
  50. data/lib/stripe/resources/customer_balance_transaction.rb +30 -0
  51. data/lib/stripe/resources/discount.rb +7 -0
  52. data/lib/stripe/resources/dispute.rb +22 -0
  53. data/lib/stripe/resources/ephemeral_key.rb +20 -0
  54. data/lib/stripe/resources/event.rb +10 -0
  55. data/lib/stripe/resources/exchange_rate.rb +10 -0
  56. data/lib/stripe/resources/file.rb +36 -0
  57. data/lib/stripe/resources/file_link.rb +12 -0
  58. data/lib/stripe/resources/identity/verification_report.rb +12 -0
  59. data/lib/stripe/resources/identity/verification_session.rb +35 -0
  60. data/lib/stripe/resources/invoice.rb +74 -0
  61. data/lib/stripe/resources/invoice_item.rb +13 -0
  62. data/lib/stripe/resources/invoice_line_item.rb +7 -0
  63. data/lib/stripe/resources/issuing/authorization.rb +34 -0
  64. data/lib/stripe/resources/issuing/card.rb +25 -0
  65. data/lib/stripe/resources/issuing/card_details.rb +9 -0
  66. data/lib/stripe/resources/issuing/cardholder.rb +14 -0
  67. data/lib/stripe/resources/issuing/dispute.rb +25 -0
  68. data/lib/stripe/resources/issuing/transaction.rb +13 -0
  69. data/lib/stripe/resources/line_item.rb +7 -0
  70. data/lib/stripe/resources/login_link.rb +14 -0
  71. data/lib/stripe/resources/mandate.rb +8 -0
  72. data/lib/stripe/resources/order.rb +33 -0
  73. data/lib/stripe/resources/order_return.rb +10 -0
  74. data/lib/stripe/resources/payment_intent.rb +43 -0
  75. data/lib/stripe/resources/payment_method.rb +33 -0
  76. data/lib/stripe/resources/payout.rb +33 -0
  77. data/lib/stripe/resources/person.rb +31 -0
  78. data/lib/stripe/resources/plan.rb +13 -0
  79. data/lib/stripe/resources/price.rb +12 -0
  80. data/lib/stripe/resources/product.rb +13 -0
  81. data/lib/stripe/resources/promotion_code.rb +12 -0
  82. data/lib/stripe/resources/radar/early_fraud_warning.rb +12 -0
  83. data/lib/stripe/resources/radar/value_list.rb +15 -0
  84. data/lib/stripe/resources/radar/value_list_item.rb +14 -0
  85. data/lib/stripe/resources/recipient.rb +14 -0
  86. data/lib/stripe/resources/recipient_transfer.rb +7 -0
  87. data/lib/stripe/resources/refund.rb +12 -0
  88. data/lib/stripe/resources/reporting/report_run.rb +13 -0
  89. data/lib/stripe/resources/reporting/report_type.rb +13 -0
  90. data/lib/stripe/resources/reversal.rb +29 -0
  91. data/lib/stripe/resources/review.rb +21 -0
  92. data/lib/stripe/resources/setup_attempt.rb +10 -0
  93. data/lib/stripe/resources/setup_intent.rb +33 -0
  94. data/lib/stripe/resources/sigma/scheduled_query_run.rb +16 -0
  95. data/lib/stripe/resources/sku.rb +13 -0
  96. data/lib/stripe/resources/source.rb +47 -0
  97. data/lib/stripe/resources/source_transaction.rb +7 -0
  98. data/lib/stripe/resources/subscription.rb +26 -0
  99. data/lib/stripe/resources/subscription_item.rb +26 -0
  100. data/lib/stripe/resources/subscription_schedule.rb +33 -0
  101. data/lib/stripe/resources/tax_id.rb +26 -0
  102. data/lib/stripe/resources/tax_rate.rb +12 -0
  103. data/lib/stripe/resources/terminal/connection_token.rb +12 -0
  104. data/lib/stripe/resources/terminal/location.rb +15 -0
  105. data/lib/stripe/resources/terminal/reader.rb +15 -0
  106. data/lib/stripe/resources/three_d_secure.rb +14 -0
  107. data/lib/stripe/resources/token.rb +10 -0
  108. data/lib/stripe/resources/topup.rb +23 -0
  109. data/lib/stripe/resources/transfer.rb +27 -0
  110. data/lib/stripe/resources/usage_record.rb +7 -0
  111. data/lib/stripe/resources/usage_record_summary.rb +7 -0
  112. data/lib/stripe/resources/webhook_endpoint.rb +13 -0
  113. data/lib/stripe/singleton_api_resource.rb +13 -7
  114. data/lib/stripe/stripe_client.rb +989 -0
  115. data/lib/stripe/stripe_configuration.rb +194 -0
  116. data/lib/stripe/stripe_object.rb +481 -148
  117. data/lib/stripe/stripe_response.rb +82 -0
  118. data/lib/stripe/util.rb +265 -70
  119. data/lib/stripe/version.rb +3 -1
  120. data/lib/stripe/webhook.rb +121 -0
  121. data/stripe.gemspec +35 -21
  122. metadata +118 -198
  123. data/.gitignore +0 -4
  124. data/.travis.yml +0 -22
  125. data/README.rdoc +0 -43
  126. data/gemfiles/default-with-activesupport.gemfile +0 -10
  127. data/gemfiles/json.gemfile +0 -12
  128. data/gemfiles/yajl.gemfile +0 -12
  129. data/lib/stripe/account.rb +0 -39
  130. data/lib/stripe/api_operations/update.rb +0 -19
  131. data/lib/stripe/application_fee.rb +0 -20
  132. data/lib/stripe/application_fee_refund.rb +0 -14
  133. data/lib/stripe/balance.rb +0 -4
  134. data/lib/stripe/balance_transaction.rb +0 -9
  135. data/lib/stripe/bank_account.rb +0 -19
  136. data/lib/stripe/bitcoin_receiver.rb +0 -20
  137. data/lib/stripe/bitcoin_transaction.rb +0 -9
  138. data/lib/stripe/card.rb +0 -21
  139. data/lib/stripe/charge.rb +0 -62
  140. data/lib/stripe/coupon.rb +0 -8
  141. data/lib/stripe/customer.rb +0 -75
  142. data/lib/stripe/dispute.rb +0 -16
  143. data/lib/stripe/errors/api_connection_error.rb +0 -4
  144. data/lib/stripe/errors/api_error.rb +0 -4
  145. data/lib/stripe/errors/authentication_error.rb +0 -4
  146. data/lib/stripe/errors/card_error.rb +0 -12
  147. data/lib/stripe/errors/invalid_request_error.rb +0 -11
  148. data/lib/stripe/errors/rate_limit_error.rb +0 -4
  149. data/lib/stripe/errors/stripe_error.rb +0 -26
  150. data/lib/stripe/event.rb +0 -5
  151. data/lib/stripe/file_upload.rb +0 -22
  152. data/lib/stripe/invoice.rb +0 -27
  153. data/lib/stripe/invoice_item.rb +0 -8
  154. data/lib/stripe/order.rb +0 -19
  155. data/lib/stripe/plan.rb +0 -8
  156. data/lib/stripe/product.rb +0 -16
  157. data/lib/stripe/recipient.rb +0 -12
  158. data/lib/stripe/refund.rb +0 -7
  159. data/lib/stripe/reversal.rb +0 -14
  160. data/lib/stripe/sku.rb +0 -8
  161. data/lib/stripe/subscription.rb +0 -25
  162. data/lib/stripe/token.rb +0 -5
  163. data/lib/stripe/transfer.rb +0 -17
  164. data/test/stripe/account_test.rb +0 -118
  165. data/test/stripe/api_resource_test.rb +0 -632
  166. data/test/stripe/application_fee_refund_test.rb +0 -47
  167. data/test/stripe/application_fee_test.rb +0 -22
  168. data/test/stripe/balance_test.rb +0 -11
  169. data/test/stripe/bitcoin_receiver_test.rb +0 -61
  170. data/test/stripe/bitcoin_transaction_test.rb +0 -29
  171. data/test/stripe/charge_refund_test.rb +0 -55
  172. data/test/stripe/charge_test.rb +0 -118
  173. data/test/stripe/coupon_test.rb +0 -20
  174. data/test/stripe/customer_card_test.rb +0 -63
  175. data/test/stripe/customer_test.rb +0 -88
  176. data/test/stripe/dispute_test.rb +0 -45
  177. data/test/stripe/file_upload_test.rb +0 -28
  178. data/test/stripe/invoice_test.rb +0 -40
  179. data/test/stripe/list_object_test.rb +0 -16
  180. data/test/stripe/metadata_test.rb +0 -129
  181. data/test/stripe/order_test.rb +0 -52
  182. data/test/stripe/product_test.rb +0 -41
  183. data/test/stripe/recipient_card_test.rb +0 -57
  184. data/test/stripe/refund_test.rb +0 -55
  185. data/test/stripe/reversal_test.rb +0 -47
  186. data/test/stripe/sku_test.rb +0 -24
  187. data/test/stripe/stripe_object_test.rb +0 -28
  188. data/test/stripe/subscription_test.rb +0 -72
  189. data/test/stripe/transfer_test.rb +0 -25
  190. data/test/stripe/util_test.rb +0 -34
  191. data/test/test_data.rb +0 -666
  192. data/test/test_helper.rb +0 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c4d368b987f5a34446fcc2906d9b3431b0e500e5
4
- data.tar.gz: 2253d61edbdf951fe94f3cba720436084a69f49b
2
+ SHA256:
3
+ metadata.gz: 7bc72681f7c824d84325e741042d894fdc4e1cd643f7f991093632d0c209c2d9
4
+ data.tar.gz: acc3cc72ea8198b17e0f9863ddd92101d38997427fa3ceda29c487ccfb0ab2c2
5
5
  SHA512:
6
- metadata.gz: 13688baa2544303346cc97936a8df74969c081db6c1d4bd437818064a50d11e766a6dc43d54c46711e37654c9b7d70cd9b504da147b64a4b19928cd9dc3f4634
7
- data.tar.gz: 06f77ce31a7c684ee01b0189b1ec1ee7faba272e1d3b6adfbfe21cc537560595c44a59385e6487d77b7c71ba1948f7f7e132bcfec8d855794da2a6207449a307
6
+ metadata.gz: e9e7441d87f5be510eb5bd3a6c814074b9a23819343a37958e94c7a477ef8bac66ca164fa47fa84c3ece5baaa19afd18abbaecc94fb354453b00c0ad9e430d24
7
+ data.tar.gz: e606a7a81ee1cf74a6e804ad98332c91ee14c8675a8b65b4632e237097c886aa8ca879c1ff1091a47f790fd927f33cc2e73497caea7934d15d8e65ec4fd3a1a1
data/CHANGELOG.md ADDED
@@ -0,0 +1,942 @@
1
+ # Changelog
2
+
3
+ ## 5.33.0 - 2021-05-19
4
+ * [#979](https://github.com/stripe/stripe-ruby/pull/979) API Updates
5
+ * [#975](https://github.com/stripe/stripe-ruby/pull/975) Add Truffleruby head to CI
6
+
7
+ ## 5.32.1 - 2021-04-05
8
+ * Correct use of regexp `match` in gemspec for old versions of Ruby
9
+
10
+ ## 5.32.0 - 2021-04-05
11
+ * [#973](https://github.com/stripe/stripe-ruby/pull/973) Reduce packed gem size
12
+
13
+ ## 5.31.0 - 2021-04-02
14
+ * [#968](https://github.com/stripe/stripe-ruby/pull/968) Allow StripeClient to be configured per instance
15
+ * [#971](https://github.com/stripe/stripe-ruby/pull/971) On config change, only clear connection managers for changed config
16
+ * [#972](https://github.com/stripe/stripe-ruby/pull/972) Rename `Stripe.configuration` to `Stripe.config`
17
+ * [#970](https://github.com/stripe/stripe-ruby/pull/970) Reserve some critical field names when adding `StripeObject` accessors
18
+ * [#967](https://github.com/stripe/stripe-ruby/pull/967) CI: github actions
19
+
20
+ ## 5.30.0 - 2021-02-22
21
+ * [#965](https://github.com/stripe/stripe-ruby/pull/965) Add support for the Billing Portal Configuration API
22
+
23
+ ## 5.29.1 - 2021-02-09
24
+ * [#964](https://github.com/stripe/stripe-ruby/pull/964) Fix return value of `Customer#delete_discount`
25
+
26
+ ## 5.29.0 - 2021-01-05
27
+ * [#952](https://github.com/stripe/stripe-ruby/pull/952) Allow client_id configuration on instance config
28
+
29
+ ## 5.28.0 - 2020-10-14
30
+ * [#950](https://github.com/stripe/stripe-ruby/pull/950) Add configuration option for `write_timeout` for connections on Ruby 2.6+
31
+
32
+ ## 5.27.0 - 2020-10-14
33
+ * [#951](https://github.com/stripe/stripe-ruby/pull/951) Add support for the Payout Reverse API
34
+
35
+ ## 5.26.0 - 2020-09-29
36
+ * [#949](https://github.com/stripe/stripe-ruby/pull/949) Add support for the `SetupAttempt` resource and List API
37
+
38
+ ## 5.25.0 - 2020-09-02
39
+ * [#944](https://github.com/stripe/stripe-ruby/pull/944) Add support for the Issuing Dispute Submit API
40
+
41
+ ## 5.24.0 - 2020-08-26
42
+ * [#939](https://github.com/stripe/stripe-ruby/pull/939) Extract configurations into separate object
43
+ * [#940](https://github.com/stripe/stripe-ruby/pull/940) Fix typo in documentation of `stripe_object.rb`
44
+
45
+ ## 5.23.1 - 2020-08-05
46
+ * [#936](https://github.com/stripe/stripe-ruby/pull/936) Rename API resource's `request` method
47
+
48
+ ## 5.23.0 - 2020-08-05
49
+ * [#937](https://github.com/stripe/stripe-ruby/pull/937) Add support for the `PromotionCode` resource and APIs
50
+
51
+ ## 5.22.0 - 2020-05-11
52
+ * [#918](https://github.com/stripe/stripe-ruby/pull/918) Add support for the `LineItem` resource and APIs
53
+
54
+ ## 5.21.0 - 2020-04-29
55
+ * [#917](https://github.com/stripe/stripe-ruby/pull/917) Add support for the `Price` resource and APIs
56
+
57
+ ## 5.20.0 - 2020-04-27
58
+ * [#916](https://github.com/stripe/stripe-ruby/pull/916) Add new `.generate_header` method for webhooks
59
+
60
+ ## 5.19.0 - 2020-04-24
61
+ * [#915](https://github.com/stripe/stripe-ruby/pull/915) Expose `Stripe::Webhook.compute_signature` publicly
62
+
63
+ ## 5.18.0 - 2020-04-22
64
+ * [#911](https://github.com/stripe/stripe-ruby/pull/911) Add support for `BillingPortal` namespace and `Session` resource and APIs
65
+
66
+ ## 5.17.0 - 2020-02-26
67
+ * [#907](https://github.com/stripe/stripe-ruby/pull/907) Add `StripeError#idempotent_replayed?`
68
+
69
+ ## 5.16.0 - 2020-02-26
70
+ * [#906](https://github.com/stripe/stripe-ruby/pull/906) Add support for listing Checkout sessions
71
+ * [#903](https://github.com/stripe/stripe-ruby/pull/903) Upgrade to Rubocop 0.80
72
+
73
+ ## 5.15.0 - 2020-02-10
74
+ * [#902](https://github.com/stripe/stripe-ruby/pull/902) Add `request_begin` instrumentation callback
75
+
76
+ ## 5.14.0 - 2020-01-14
77
+ * [#896](https://github.com/stripe/stripe-ruby/pull/896) Add support for `CreditNoteLineItem`
78
+ * [#894](https://github.com/stripe/stripe-ruby/pull/894) Clean up test output by capturing `$stderr` when we expect warnings
79
+ * [#892](https://github.com/stripe/stripe-ruby/pull/892) Explicitly pass a parameter as hash to be more ruby 2.7 friendly
80
+ * [#893](https://github.com/stripe/stripe-ruby/pull/893) Upgrade Rubocop to 0.79
81
+
82
+ ## 5.13.0 - 2020-01-08
83
+ * [#891](https://github.com/stripe/stripe-ruby/pull/891) Fix most Ruby 2.7 warnings
84
+
85
+ ## 5.12.1 - 2020-01-06
86
+ * [#890](https://github.com/stripe/stripe-ruby/pull/890) Override API key with `client_secret` in `OAuth.token`
87
+
88
+ ## 5.12.0 - 2020-01-02
89
+ * [#889](https://github.com/stripe/stripe-ruby/pull/889) Add support for retrieve source transaction API method
90
+
91
+ ## 5.11.0 - 2019-11-26
92
+ * [#885](https://github.com/stripe/stripe-ruby/pull/885) Add support for `CreditNote` preview
93
+
94
+ ## 5.10.0 - 2019-11-08
95
+ * [#882](https://github.com/stripe/stripe-ruby/pull/882) Add list_usage_record_summaries and list_source_transactions
96
+
97
+ ## 5.9.0 - 2019-11-07
98
+ * [#870](https://github.com/stripe/stripe-ruby/pull/870) Add request instrumentation callback (see `README.md` for usage example)
99
+
100
+ ## 5.8.0 - 2019-11-05
101
+ * [#879](https://github.com/stripe/stripe-ruby/pull/879) Add support for `Mandate`
102
+ * [#876](https://github.com/stripe/stripe-ruby/pull/876) Add additional per-request configuration documentation
103
+ * [#874](https://github.com/stripe/stripe-ruby/pull/874) Raise an error when requests params are invalid
104
+ * [#873](https://github.com/stripe/stripe-ruby/pull/873) Contributor Covenant
105
+
106
+ ## 5.7.1 - 2019-10-15
107
+ * [#869](https://github.com/stripe/stripe-ruby/pull/869) Fixes the misnamed `connection_base=` setter to be named `connect_base=`
108
+
109
+ ## 5.7.0 - 2019-10-10
110
+ * [#865](https://github.com/stripe/stripe-ruby/pull/865) Support backwards pagination with list's `#auto_paging_each`
111
+
112
+ ## 5.6.0 - 2019-10-04
113
+ * [#861](https://github.com/stripe/stripe-ruby/pull/861) Nicer error when specifying non-nil non-string opt value
114
+
115
+ ## 5.5.0 - 2019-10-03
116
+ * [#859](https://github.com/stripe/stripe-ruby/pull/859) User-friendly messages and retries for `EOFError`, `Errno::ECONNRESET`, `Errno::ETIMEDOUT`, and `Errno::EHOSTUNREACH` network errors
117
+
118
+ ## 5.4.1 - 2019-10-01
119
+ * [#858](https://github.com/stripe/stripe-ruby/pull/858) Drop Timecop dependency
120
+
121
+ ## 5.4.0 - 2019-10-01
122
+ * [#857](https://github.com/stripe/stripe-ruby/pull/857) Move to monotonic time for duration calculations
123
+
124
+ ## 5.3.0 - 2019-10-01
125
+ * [#853](https://github.com/stripe/stripe-ruby/pull/853) Support `Stripe-Should-Retry` header
126
+
127
+ ## 5.2.0 - 2019-09-19
128
+ * [#851](https://github.com/stripe/stripe-ruby/pull/851) Introduce system for garbage collecting connection managers
129
+
130
+ ## 5.1.1 - 2019-09-04
131
+ * [#845](https://github.com/stripe/stripe-ruby/pull/845) Transfer the request_id from the http_headers to error.
132
+
133
+ ## 5.1.0 - 2019-08-27
134
+ * [#841](https://github.com/stripe/stripe-ruby/pull/841) Retry requests on a 429 that's a lock timeout
135
+
136
+ ## 5.0.1 - 2019-08-20
137
+ * [#836](https://github.com/stripe/stripe-ruby/pull/836) Increase connection keep alive timeout to 30 seconds
138
+
139
+ ## 5.0.0 - 2019-08-20
140
+ Major version release. The [migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v5) contains a detailed list of backwards-incompatible changes with upgrade instructions.
141
+
142
+ Pull requests included in this release (cf. [#815](https://github.com/stripe/stripe-ruby/pull/815)) (⚠️ = breaking changes):
143
+ * ⚠️ [#813](https://github.com/stripe/stripe-ruby/pull/813): Convert library to use built-in `Net::HTTP`
144
+ * ⚠️ [#816](https://github.com/stripe/stripe-ruby/pull/816): Make `code` argument in `CardError` named instead of positional.
145
+ * ⚠️ [#817](https://github.com/stripe/stripe-ruby/pull/817): Drop support for very old Ruby versions.
146
+ * [#818](https://github.com/stripe/stripe-ruby/pull/818): Bump Rubocop to latest version
147
+ * [#819](https://github.com/stripe/stripe-ruby/pull/819): Ruby minimum version increase followup
148
+ * ⚠️ [#820](https://github.com/stripe/stripe-ruby/pull/820): Remove old deprecated methods
149
+ * ⚠️ [#823](https://github.com/stripe/stripe-ruby/pull/823): Remove all alias for list methods
150
+ * ⚠️ [#826](https://github.com/stripe/stripe-ruby/pull/826): Remove `UsageRecord.create` method
151
+ * ⚠️ [#827](https://github.com/stripe/stripe-ruby/pull/827): Remove `IssuerFraudRecord`
152
+ * [#811](https://github.com/stripe/stripe-ruby/pull/811): Add `ErrorObject` to `StripeError` exceptions
153
+ * [#828](https://github.com/stripe/stripe-ruby/pull/828): Tweak retry logic to be a little more like stripe-node
154
+ * [#829](https://github.com/stripe/stripe-ruby/pull/829): Reset connections when connection-changing configuration changes (optional)
155
+ * [#830](https://github.com/stripe/stripe-ruby/pull/830): Fix inverted sign for 500 retries
156
+ * ⚠️[#831](https://github.com/stripe/stripe-ruby/pull/831): Remove a few more very old deprecated methods
157
+ * [#832](https://github.com/stripe/stripe-ruby/pull/832): Minor cleanup in `StripeClient`
158
+ * [#833](https://github.com/stripe/stripe-ruby/pull/833): Do better bookkeeping when tracking state in `Thread.current`
159
+ * [#834](https://github.com/stripe/stripe-ruby/pull/834): Add `Invoice.list_upcoming_line_items` method
160
+
161
+ ## 4.24.0 - 2019-08-12
162
+ * [#825](https://github.com/stripe/stripe-ruby/pull/825) Add `SubscriptionItem.create_usage_record` method
163
+ - This release also removed the `SubscriptionSchedule.revisions` method. This should have been included in the previous release (4.23.0)
164
+
165
+ ## 4.23.0 - 2019-08-09
166
+ * [#824](https://github.com/stripe/stripe-ruby/pull/824) Remove SubscriptionScheduleRevision
167
+ - This is technically a breaking change. We've chosen to release it as a minor vesion bump because the associated API is unused.
168
+
169
+ ## 4.22.1 - 2019-08-09
170
+ * [#808](https://github.com/stripe/stripe-ruby/pull/808) Unify request/response handling
171
+
172
+ ## 4.22.0 - 2019-07-30
173
+ * [#821](https://github.com/stripe/stripe-ruby/pull/821) Listing `BalanceTransaction` objects now uses `/v1/balance_transactions` instead of `/v1/balance/history`
174
+
175
+ ## 4.21.3 - 2019-07-15
176
+ * [#810](https://github.com/stripe/stripe-ruby/pull/810) Better error message when passing non-string to custom method
177
+
178
+ ## 4.21.2 - 2019-07-05
179
+ * [#806](https://github.com/stripe/stripe-ruby/pull/806) Revert back to `initialize_from` from `Util.convert_to_stripe_object`
180
+
181
+ ## 4.21.1 - 2019-07-04
182
+ * [#807](https://github.com/stripe/stripe-ruby/pull/807) Add gem metadata
183
+
184
+ ## 4.21.0 - 2019-06-28
185
+ * [#803](https://github.com/stripe/stripe-ruby/pull/803) Add support for the `SetupIntent` resource and APIs
186
+
187
+ ## 4.20.1 - 2019-06-28
188
+ * [#805](https://github.com/stripe/stripe-ruby/pull/805) Fix formatting in `ConnectionFailed` error message
189
+
190
+ ## 4.20.0 - 2019-06-24
191
+ * [#800](https://github.com/stripe/stripe-ruby/pull/800) Enable request latency telemetry by default
192
+
193
+ ## 4.19.0 - 2019-06-17
194
+ * [#770](https://github.com/stripe/stripe-ruby/pull/770) Add support for `CustomerBalanceTransaction` resource and APIs
195
+
196
+ ## 4.18.1 - 2019-05-27
197
+ * [#789](https://github.com/stripe/stripe-ruby/pull/789) Allow `Order#pay` to be called without arguments
198
+
199
+ ## 4.18.0 - 2019-05-23
200
+ * [#783](https://github.com/stripe/stripe-ruby/pull/783) Add support for `radar.early_fraud_warning` resource
201
+
202
+ ## 4.17.0 - 2019-05-14
203
+ * [#779](https://github.com/stripe/stripe-ruby/pull/779) Add support for the Capability resource and APIs
204
+
205
+ ## 4.16.0 - 2019-04-24
206
+ * [#760](https://github.com/stripe/stripe-ruby/pull/760) Add support for the `TaxRate` resource and APIs
207
+
208
+ ## 4.15.0 - 2019-04-22
209
+ * [#762](https://github.com/stripe/stripe-ruby/pull/762) Add support for the `TaxId` resource and APIs
210
+
211
+ ## 4.14.0 - 2019-04-18
212
+ * [#758](https://github.com/stripe/stripe-ruby/pull/758) Add support for the `CreditNote` resource and APIs
213
+
214
+ ## 4.13.0 - 2019-04-16
215
+ * [#766](https://github.com/stripe/stripe-ruby/pull/766) Relax constraints on objects that we'll accept as a file (now they just need to respond to `#read`)
216
+
217
+ ## 4.12.0 - 2019-04-02
218
+ * [#752](https://github.com/stripe/stripe-ruby/pull/752) Add `.delete` class method on deletable API resources
219
+ * [#754](https://github.com/stripe/stripe-ruby/pull/754) Add class methods for all custom API requests (e.g. `Charge.capture`)
220
+
221
+ ## 4.11.0 - 2019-03-26
222
+ * [#753](https://github.com/stripe/stripe-ruby/pull/753) Add a global proxy configuration parameter
223
+
224
+ ## 4.10.0 - 2019-03-18
225
+ * [#745](https://github.com/stripe/stripe-ruby/pull/745) Add support for the `PaymentMethod` resource and APIs
226
+ * [#747](https://github.com/stripe/stripe-ruby/pull/747) Add support for retrieving a Checkout `Session`
227
+ * [#748](https://github.com/stripe/stripe-ruby/pull/748) Add support for deleting a Terminal `Location` and `Reader`
228
+
229
+ ## 4.9.1 - 2019-03-18
230
+ * [#750](https://github.com/stripe/stripe-ruby/pull/750) Catch error and warn if unable to remove a method
231
+
232
+ ## 4.9.0 - 2019-02-12
233
+ * [#739](https://github.com/stripe/stripe-ruby/pull/739) Add support for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
234
+
235
+ ## 4.8.1 - 2019-02-11
236
+ * [#743](https://github.com/stripe/stripe-ruby/pull/743) Fix bug in file uploading introduced in #741
237
+
238
+ ## 4.8.0 - 2019-02-03
239
+ * [#741](https://github.com/stripe/stripe-ruby/pull/741) Use `FaradayStripeEncoder` to encode all parameter styles
240
+
241
+ ## 4.7.1 - 2019-02-01
242
+ * [#740](https://github.com/stripe/stripe-ruby/pull/740) Fix query encoding for integer-indexed maps
243
+
244
+ ## 4.7.0 - 2019-01-23
245
+ * [#735](https://github.com/stripe/stripe-ruby/pull/735) Rename `CheckoutSession` to `Session` and move it under the `Checkout` namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
246
+
247
+ ## 4.6.0 - 2019-01-21
248
+ * [#736](https://github.com/stripe/stripe-ruby/pull/736) Properly serialize `individual` on `Account` objects
249
+
250
+ ## 4.5.0 - 2019-01-02
251
+ * [#719](https://github.com/stripe/stripe-ruby/pull/719) Generate OAuth authorize URLs for Express accounts as well as standard
252
+
253
+ ## 4.4.1 - 2018-12-31
254
+ * [#718](https://github.com/stripe/stripe-ruby/pull/718) Fix an error message typo
255
+
256
+ ## 4.4.0 - 2018-12-21
257
+ * [#716](https://github.com/stripe/stripe-ruby/pull/716) Add support for the `CheckoutSession` resource
258
+
259
+ ## 4.3.0 - 2018-12-10
260
+ * [#711](https://github.com/stripe/stripe-ruby/pull/711) Add support for account links
261
+
262
+ ## 4.2.0 - 2018-11-28
263
+ * [#705](https://github.com/stripe/stripe-ruby/pull/705) Add support for the `Review` APIs
264
+
265
+ ## 4.1.0 - 2018-11-27
266
+ * [#695](https://github.com/stripe/stripe-ruby/pull/695) Add support for `ValueList` and `ValueListItem` for Radar
267
+
268
+ ## 4.0.3 - 2018-11-19
269
+ * [#703](https://github.com/stripe/stripe-ruby/pull/703) Don't use `Net::HTTP::Persistent` on Windows where it's not well supported
270
+
271
+ ## 4.0.2 - 2018-11-16
272
+ * [#701](https://github.com/stripe/stripe-ruby/pull/701) Require minimum Faraday 0.13 for proper support of persistent connections
273
+
274
+ ## 4.0.1 - 2018-11-15
275
+ * [#699](https://github.com/stripe/stripe-ruby/pull/699) Only send telemetry if `Request-Id` was present in the response
276
+
277
+ ## 4.0.0 - 2018-11-15
278
+ * [#698](https://github.com/stripe/stripe-ruby/pull/698) Use persistent connections by default through `Net::HTTP::Persistent`
279
+ * [#698](https://github.com/stripe/stripe-ruby/pull/698) Drop support for Ruby 2.0 (which we consider a breaking change here)
280
+
281
+ ## 3.31.1 - 2018-11-12
282
+ * [#697](https://github.com/stripe/stripe-ruby/pull/697) Send telemetry in milliseconds specifically
283
+
284
+ ## 3.31.0 - 2018-11-12
285
+ * [#696](https://github.com/stripe/stripe-ruby/pull/696) Add configurable telemetry to gather information on client-side request latency
286
+
287
+ ## 3.30.0 - 2018-11-08
288
+ * [#693](https://github.com/stripe/stripe-ruby/pull/693) Add new API endpoints for the `Invoice` resource.
289
+
290
+ ## 3.29.0 - 2018-10-30
291
+ * [#692](https://github.com/stripe/stripe-ruby/pull/692) Add support for the `Person` resource
292
+ * [#694](https://github.com/stripe/stripe-ruby/pull/694) Add support for the `WebhookEndpoint` resource
293
+
294
+ ## 3.28.0 - 2018-09-24
295
+ * [#690](https://github.com/stripe/stripe-ruby/pull/690) Add support for Stripe Terminal
296
+
297
+ ## 3.27.0 - 2018-09-24
298
+ * [#689](https://github.com/stripe/stripe-ruby/pull/689) Rename `FileUpload` to `File`
299
+
300
+ ## 3.26.1 - 2018-09-14
301
+ * [#688](https://github.com/stripe/stripe-ruby/pull/688) Fix hash equality on `StripeObject`
302
+
303
+ ## 3.26.0 - 2018-09-05
304
+ * [#681](https://github.com/stripe/stripe-ruby/pull/681) Add support for reporting resources
305
+
306
+ ## 3.25.0 - 2018-08-28
307
+ * [#678](https://github.com/stripe/stripe-ruby/pull/678) Allow payment intent `#cancel`, `#capture`, and `#confirm` to take their own parameters
308
+
309
+ ## 3.24.0 - 2018-08-27
310
+ * [#675](https://github.com/stripe/stripe-ruby/pull/675) Remove support for `BitcoinReceiver` write-actions
311
+
312
+ ## 3.23.0 - 2018-08-23
313
+ * [#676](https://github.com/stripe/stripe-ruby/pull/676) Add support for usage record summaries
314
+
315
+ ## 3.22.0 - 2018-08-15
316
+ * [#674](https://github.com/stripe/stripe-ruby/pull/674) Use integer-indexed encoding for all arrays
317
+
318
+ ## 3.21.0 - 2018-08-03
319
+ * [#671](https://github.com/stripe/stripe-ruby/pull/671) Add cancel support for topups
320
+
321
+ ## 3.20.0 - 2018-08-03
322
+ * [#669](https://github.com/stripe/stripe-ruby/pull/669) Add support for file links
323
+
324
+ ## 3.19.0 - 2018-07-27
325
+ * [#666](https://github.com/stripe/stripe-ruby/pull/666) Add support for scheduled query runs (`Stripe::Sigma::ScheduledQueryRun`) for Sigma
326
+
327
+ ## 3.18.0 - 2018-07-26
328
+ * [#665](https://github.com/stripe/stripe-ruby/pull/665) Add support for Stripe Issuing
329
+
330
+ ## 3.17.2 - 2018-07-19
331
+ * [#664](https://github.com/stripe/stripe-ruby/pull/664) Don't colorize log output being sent to a configured logger
332
+
333
+ ## 3.17.1 - 2018-07-19
334
+ * [#663](https://github.com/stripe/stripe-ruby/pull/663) Internal improvements to `ApiResource.class_url`
335
+
336
+ ## 3.17.0 - 2018-06-28
337
+ * [#658](https://github.com/stripe/stripe-ruby/pull/658) Add support for `partner_id` from `Stripe.set_app_info`
338
+
339
+ ## 3.16.0 - 2018-06-28
340
+ * [#657](https://github.com/stripe/stripe-ruby/pull/657) Add support for payment intents
341
+
342
+ ## 3.15.0 - 2018-05-10
343
+ * [#649](https://github.com/stripe/stripe-ruby/pull/649) Freeze all string literals
344
+
345
+ ## 3.14.0 - 2018-05-09
346
+ * [#645](https://github.com/stripe/stripe-ruby/pull/645) Add support for issuer fraud records
347
+
348
+ ## 3.13.1 - 2018-05-07
349
+ * [#647](https://github.com/stripe/stripe-ruby/pull/647) Merge query parameters coming from path with `params` argument
350
+
351
+ ## 3.13.0 - 2018-04-11
352
+ * [#498](https://github.com/stripe/stripe-ruby/pull/498) Add support for flexible billing primitives
353
+
354
+ ## 3.12.1 - 2018-04-05
355
+ * [#636](https://github.com/stripe/stripe-ruby/pull/636) Fix a warning for uninitialized instance variable `@additive_params`
356
+
357
+ ## 3.12.0 - 2018-04-05
358
+ * [#632](https://github.com/stripe/stripe-ruby/pull/632) Introduce `additive_object_param` so that non-`metadata` subobjects don't zero their keys as they're being replaced
359
+
360
+ ## 3.11.0 - 2018-02-26
361
+ * [#628](https://github.com/stripe/stripe-ruby/pull/628) Add support for `code` attribute on all Stripe exceptions
362
+
363
+ ## 3.10.0 - 2018-02-21
364
+ * [#627](https://github.com/stripe/stripe-ruby/pull/627) Add support for topups
365
+
366
+ ## 3.9.2 - 2018-02-12
367
+ * [#625](https://github.com/stripe/stripe-ruby/pull/625) Skip calling `to_hash` for `nil`
368
+
369
+ ## 3.9.1 - 2017-12-15
370
+ * [#616](https://github.com/stripe/stripe-ruby/pull/616) Support all file-like objects for uploads with duck typed checks on `path` and `read` (we previously whitelisted only certain classes)
371
+
372
+ ## 3.9.0 - 2017-12-08
373
+ * [#613](https://github.com/stripe/stripe-ruby/pull/613) Introduce new `IdempotencyError` type for idempotency-specific failures
374
+
375
+ ## 3.8.2 - 2017-12-07
376
+ * [#612](https://github.com/stripe/stripe-ruby/pull/612) Fix integer-indexed array encoding when sent as query parameter (subscription items can now be used when fetching an upcoming invoice)
377
+
378
+ ## 3.8.1 - 2017-12-06
379
+ * [#611](https://github.com/stripe/stripe-ruby/pull/611) Support `Tempfile` (as well as `File`) in file uploads
380
+
381
+ ## 3.8.0 - 2017-10-31
382
+ * [#606](https://github.com/stripe/stripe-ruby/pull/606) Support for exchange rates APIs
383
+
384
+ ## 3.7.0 - 2017-10-26
385
+ * [#603](https://github.com/stripe/stripe-ruby/pull/603) Support for listing source transactions
386
+
387
+ ## 3.6.0 - 2017-10-17
388
+ * [#597](https://github.com/stripe/stripe-ruby/pull/597) Add static methods to manipulate resources from parent
389
+ * `Account` gains methods for external accounts and login links (e.g. `.create_account`, `create_login_link`)
390
+ * `ApplicationFee` gains methods for refunds
391
+ * `Customer` gains methods for sources
392
+ * `Transfer` gains methods for reversals
393
+
394
+ ## 3.5.3 - 2017-10-16
395
+ * [#594](https://github.com/stripe/stripe-ruby/pull/594) Make sure that `StripeObject`'s `#deep_copy` maintains original class
396
+ * [#595](https://github.com/stripe/stripe-ruby/pull/595) Allow `Object#method` to be called on `StripeObject` even if it conflicts with an accessor
397
+ * [#596](https://github.com/stripe/stripe-ruby/pull/596) Encode arrays as integer-indexed hashes where appropriate
398
+ * [#598](https://github.com/stripe/stripe-ruby/pull/598) Don't persist `idempotency_key` opt between requests
399
+
400
+ ## 3.5.2 - 2017-10-13
401
+ * [#592](https://github.com/stripe/stripe-ruby/pull/592) Bring back `Marshal.dump/load` support with custom marshal encoder/decoder
402
+
403
+ ## 3.5.1 - 2017-10-12
404
+ * [#591](https://github.com/stripe/stripe-ruby/pull/591) Use thread-local `StripeClient` instances for thread safety
405
+
406
+ ## 3.5.0 - 2017-10-11
407
+ * [#589](https://github.com/stripe/stripe-ruby/pull/589) Rename source `delete` to `detach` (and deprecate the former)
408
+
409
+ ## 3.4.1 - 2017-10-05
410
+ * [#586](https://github.com/stripe/stripe-ruby/pull/586) Log query strings as well as form bodies with STRIPE_LOG
411
+ * [#588](https://github.com/stripe/stripe-ruby/pull/588) Require minimum Faraday 0.10 for bug fix in parameter encoding
412
+
413
+ ## 3.4.0 - 2017-09-20
414
+ * Mark legacy Bitcoin API as deprecated, and remove corresponding tests
415
+ * Mark recipients API as deprecated, and remove recipient card tests
416
+
417
+ ## 3.3.2 - 2017-09-20
418
+ * Correct minimum required Ruby version in gemspec (it's 2.0.0)
419
+
420
+ ## 3.3.1 - 2017-08-18
421
+ * Only parse webhook payload after verification to decrease likelihood of
422
+ attack
423
+
424
+ ## 3.3.0 - 2017-08-11
425
+ * Add support for standard library logger interface with `Stripe.logger`
426
+ * Error logs now go to stderr if using `Stripe.log_level`/`STRIPE_LOG`
427
+ * `Stripe.log_level`/`STRIPE_LOG` now support `Stipe::LEVEL_ERROR`
428
+
429
+ ## 3.2.0 - 2017-08-03
430
+ * Add logging for request retry account and `Stripe-Account` header
431
+
432
+ ## 3.1.0 - 2017-08-03
433
+ * Implement request logging with `Stripe.log_level` and `STRIPE_LOG`
434
+
435
+ ## 3.0.3 - 2017-07-28
436
+ * Revert `nil` to empty string coercion from 3.0.2
437
+ * Handle `invalid_client` OAuth error code
438
+ * Improve safety of error handling logic safer for unrecognized OAuth error codes
439
+
440
+ ## 3.0.2 - 2017-07-12
441
+ **Important:** This version is non-functional and has been yanked in favor of 3.0.3.
442
+ * Convert `nil` to empty string when serializing parameters (instead of opaquely dropping it) -- NOTE: this change has since been reverted
443
+
444
+ ## 3.0.1 - 2017-07-11
445
+ * Properties set with an API resource will now serialize that resource's ID if possible
446
+ * API resources will throw an ArgumentError on save if a property has been with an API resource that cannot be serialized
447
+
448
+ ## 3.0.0 - 2017-06-27
449
+ * `#pay` on invoice now takes params as well as opts
450
+
451
+ ## 2.12.0 - 2017-06-20
452
+ * Add support for ephemeral keys
453
+
454
+ ## 2.11.0 - 2017-05-26
455
+ * Warn when keys that look like opts are included as parameters
456
+
457
+ ## 2.10.0 - 2017-05-25
458
+ * Add support for account login links
459
+
460
+ ## 2.9.0 - 2017-05-18
461
+ * Support for OAuth operations in `Stripe::OAuth`
462
+
463
+ ## 2.8.0 - 2017-04-28
464
+ * Support for checking webhook signatures
465
+
466
+ ## 2.7.0 - 2017-04-26
467
+ * Add model `InvoiceLineItem`
468
+
469
+ ## 2.6.0 - 2017-04-26
470
+ * Add `OBJECT_NAME` constants to all API resources
471
+
472
+ ## 2.5.0 - 2017-04-24
473
+ * Make `opts` argument in `Util.convert_to_stripe_object` optional
474
+
475
+ ## 2.4.0 - 2017-04-18
476
+ * Add `Stripe.set_app_info` for use by plugin creators
477
+
478
+ ## 2.3.0 - 2017-04-14
479
+ * Add question mark accessor when assigning boolean value to undefined field
480
+
481
+ ## 2.2.1 - 2017-04-07
482
+ * Declare minimum required Faraday as 0.9
483
+
484
+ ## 2.2.0 - 2017-04-06
485
+ * Add support for payouts and recipient transfers
486
+
487
+ ## 2.1.0 - 2017-03-17
488
+ * Support for detaching sources from customers
489
+
490
+ ## 2.0.3 - 2017-03-16
491
+ * Fix marshalling of `StripeObjects` that have an embedded client
492
+
493
+ ## 2.0.2 - 2017-03-16
494
+ * Fix bad field reference when recovering from a JSON parsing problem
495
+
496
+ ## 2.0.1 - 2017-02-22
497
+ * Fix multipart parameter encoding to repair broken file uploads
498
+
499
+ ## 2.0.0 - 2017-02-14
500
+ * Drop support for Ruby 1.9
501
+ * Allow HTTP client that makes Stripe calls to be configured via Faraday
502
+ * Drop RestClient
503
+ * Switch to OpenAPI 2.0 spec and generated fixtures in test suite
504
+ * Switch to Webmock in test suite
505
+
506
+ ## 1.58.0 - 2017-01-19
507
+ * Remove erroneously added list methods for `Source` model
508
+
509
+ ## 1.57.1 - 2016-11-28
510
+ * Disallow sending protected fields along with API resource `.update`
511
+
512
+ ## 1.57.0 - 2016-11-21
513
+ * Add retrieve method for 3-D Secure resources
514
+
515
+ ## 1.56.2 - 2016-11-17
516
+ * Improve `StripeObject`'s `#to_s` to better handle how embedded objects are displayed
517
+
518
+ ## 1.56.1 - 2016-11-09
519
+ * Fix (fairly serious) memory like in `StripeObject`
520
+
521
+ ## 1.56.0 - 2016-10-24
522
+ * Add accessors for new fields added in `#update_attributes`
523
+ * Handle multi-plan subscriptions through new subscription items
524
+ * Handle 403 status codes from the API
525
+
526
+ ## 1.55.1 - 2016-10-24
527
+ Identical to 1.56.0 above. I incorrectly cut a patch-level release.
528
+
529
+ ## 1.55.0 - 2016-09-15
530
+ * Add support for Apple Pay domains
531
+
532
+ ## 1.54.0 - 2016-09-01
533
+ * Whitelist errors that should be retried; scope to known socket and HTTP errors
534
+
535
+ ## 1.53.0 - 2016-08-31
536
+ * Relax version constraint on rest-client (and by extension mime-types) for users on Ruby 2+
537
+
538
+ ## 1.52.0 - 2016-08-30
539
+ * Make sure `Subscription`'s `source` is saved with its parent
540
+
541
+ ## 1.51.1 - 2016-08-30
542
+ * Make sure `Account`'s `external_account` is saved with its parent
543
+
544
+ ## 1.51.0 - 2016-08-26
545
+ * Error when an array of maps is detected that cannot be accurately encoded
546
+ * Start using strings for header names instead of symbols for better clarity
547
+
548
+ ## 1.50.1 - 2016-08-25
549
+ * Fix encoding of arrays of maps where maps unequal sets of keys
550
+
551
+ ## 1.50.0 - 2016-08-15
552
+ * Allow sources to be created
553
+
554
+ ## 1.49.0 - 2016-07-28
555
+ * Add top-level `Source` model
556
+
557
+ ## 1.48.0 - 2016-07-12
558
+ * Add `ThreeDSecure` model for 3-D secure payments
559
+
560
+ ## 1.47.0 - 2016-07-11
561
+ * Allow rest-client version 2.0+ to be used with the gem
562
+
563
+ ## 1.46.0 - 2016-07-07
564
+ * Allow retry when a 409 conflict is encountered
565
+
566
+ ## 1.45.0 - 2016-07-07
567
+ * Do not send subresources when updating except when explicitly told to do so (see #433)
568
+
569
+ ## 1.44.0 - 2016-06-29
570
+ * Add `update` class method to all resources that can be updated
571
+
572
+ ## 1.43.1 - 2016-06-17
573
+ * Fix type of resource returned from `Order#return_order`
574
+
575
+ ## 1.43.0 - 2016-05-20
576
+ * Allow Relay orders to be returned and add associated types
577
+ * Support Alipay account retrieval and deletion
578
+
579
+ ## 1.42.0 - 2016-05-04
580
+ * Add support for the new /v1/subscriptions endpoint (retrieve, list, create, update, and delete)
581
+
582
+ ## 1.41.0 - 2016-04-13
583
+ * Add global `stripe_account` option that adds a `Stripe-Account` header to all requests
584
+
585
+ ## 1.40.0 - 2016-04-06
586
+ * Fix bug that omitted subresources from serialization
587
+
588
+ ## 1.39.0 - 2016-03-31
589
+ * Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
590
+
591
+ ## 1.38.0 - 2016-03-18
592
+ * Allow `opts` to be passed to an API resource's `#save` method
593
+
594
+ ## 1.37.0 - 2016-03-14
595
+ * Add `Account#reject` to support the new API feature
596
+
597
+ ## 1.36.2 - 2016-03-14
598
+ * Fix reference to non-existent `#url` in `ListObject`
599
+
600
+ ## 1.36.1 - 2016-03-04
601
+ * Fix serialization when subhash given to `#save` or `#update_attributes`
602
+
603
+ ## 1.36.0 - 2016-02-08
604
+ * Add `CountrySpec` model for looking up country payment information
605
+
606
+ ## 1.35.1 - 2016-02-03
607
+ * Add compatibility layer for old API versions on `Charge#refund`
608
+
609
+ ## 1.35.0 - 2016-02-01
610
+ * Allow CA cert bundle location to be configured
611
+ * Updated bundled CA certs
612
+
613
+ ## 1.34.0 - 2016-01-25
614
+ * Add support for deleting products and SKUs
615
+
616
+ ## 1.33.1 - 2016-01-21
617
+ * Pass through arguments of `Charge#refund`
618
+
619
+ ## 1.33.0 - 2016-01-19
620
+ * Re-implement `Charge#refund` helper to use the modern endpoint suggested by docs
621
+
622
+ ## 1.32.1 - 2016-01-07
623
+ * Fix bug where ivar left uninitialized in StripeObject could error on serialization
624
+ * Fix bug where a nil customer from API could error Bitcoin model on refresh
625
+
626
+ ## 1.32.0 - 2016-01-05
627
+ * Add configuration to optionally retry network failures
628
+ * Use modern API endpoint for producing application fee refunds
629
+
630
+ ## 1.31.0 - 2015-10-29
631
+ * Add BankAccount#verify convenience method
632
+
633
+ ## 1.30.3 - 2015-10-28
634
+ * Fix bug where arrays that were not `additional_owners` were not properly encoded for requests
635
+
636
+ ## 1.30.2 - 2015-10-12
637
+ * Fix bug where `opts` didn't properly propagate to descendant `StripeObjects`
638
+
639
+ ## 1.30.1 - 2015-10-10
640
+ * Fix bug that prevent lists of hashes from being URI-encoded properly
641
+ * Fix bug where filter conditions were not making it past the first instantiated `ListObject`
642
+
643
+ ## 1.30.0 - 2015-10-09
644
+ * Add `StripeObject#deleted?` for a reliable way to check whether an object is alive
645
+ * Deprecate `StripeObject#refresh_from`
646
+ * New parameter encoding scheme that doesn't use `URI.escape`
647
+
648
+ ## 1.29.1 - 2015-10-06
649
+ * Fix bug where ampersands were not being properly encoded
650
+
651
+ ## 1.29.0 - 2015-10-05
652
+ * Add pagination helpers `#auto_paging_each`, `#previous_page`, and `#next_page`
653
+
654
+ ## 1.28.1 - 2015-10-05
655
+ * Fix URI being referenced by file upload resources
656
+
657
+ ## 1.28.0 - 2015-10-05
658
+ * Make StripeObject's #save "upsert"-like; creates an object if new
659
+ * Add #update_attributes to StripeObject for safe mass assignment
660
+ * Properly mass assign attributes on calls to #save
661
+ * Add question mark helpers for boolean fields (e.g. #paid? as well as old #paid)
662
+ * Fix a bug that broke the API for StripeObject initialization
663
+ * Remove use of deprecated URI.escape
664
+
665
+ ## 1.27.2 - 2015-09-25
666
+ * Correct the URLs used to fetch Bitcoin transactions.
667
+
668
+ ## 1.27.1 - 2015-09-20
669
+ * Use hash rockets for backwards compatibility.
670
+
671
+ ## 1.27.0 - 2015-09-14
672
+ * Add Orders, Products, and SKUs for Relay
673
+
674
+ ## 1.26.0 - 2015-09-11
675
+ * Add support for 429 Rate Limited response
676
+
677
+ ## 1.25.0 - 2015-08-17
678
+ * Added support for refund listing and retrieval without an associated charge
679
+
680
+ ## 1.24.0 - 2015-08-03
681
+ * Added support for deleting managed accounts
682
+ * Added support for dispute listing and retrieval
683
+ * Bugfix: token objects now are the correct class
684
+
685
+ ## 1.23.0 - 2015-07-06
686
+ * Added request IDs and HTTP headers to errors
687
+
688
+ ## 1.22.0 - 2015-06-10
689
+ * Added support for bank accounts and debit cards in managed accounts (via the `external_accounts` param)
690
+
691
+ ## 1.21.0 - 2015-04-14
692
+ * Remove TLS cert revocation check (all pre-heartbleed certs have expired)
693
+ * Bugfix: don't unset keys when they don't exist on StripeObject
694
+
695
+ ## 1.20.4 - 2015-03-26
696
+ * Raise an error when explicitly passing nil as the API key on resource methods
697
+ * Fix error when passing an API key to Balance.retrieve (github issue #232)
698
+
699
+ ## 1.20.3 - 2015-03-13
700
+ * Fixed error when updating certain resources (github issue #224)
701
+
702
+ ## 1.20.2 - 2015-03-10
703
+ * Added support for updating nested hashes besides `metadata` (which was already supported)
704
+ * Fixed bug in balance retrieval
705
+
706
+ ## 1.20.1 - 2015-02-26
707
+ * Updated Card to point to customer sources endpoint when customer property is set
708
+
709
+ ## 1.20.0 - 2015-02-19
710
+ * Added Update & Delete operations to Bitcoin Receivers
711
+
712
+ ## 1.19.1 - 2015-02-18
713
+ * Fixed fetching upcoming invoice/paying invoice methods
714
+
715
+ ## 1.19.0 - 2015-02-15
716
+ * Support for new Transfers /reversals endpoint
717
+ * Account retrieval now optionally accepts an account ID
718
+ * Better support for passing custom headers, like Stripe-Account, through requests
719
+
720
+ ## 1.18.0 - 2015-01-21
721
+ * 1 major enhancement:
722
+ * Added support for making bitcoin charges through BitcoinReceiver source object
723
+
724
+ ## 1.17.3 - 2015-01-12
725
+ * 1 bugfix:
726
+ * Fixed API key propagation for ApplicationFee#refund
727
+
728
+ ## 1.17.2 - 2015-01-08
729
+ * 1 bugfix:
730
+ * Fixed API key propagation for child resources
731
+
732
+ ## 1.17.1 - 2015-01-07
733
+ * 2 minor enhacements:
734
+ * Fixed dependencies for Ruby versions less than 1.9.3
735
+ * Added deauthorize method to Account object
736
+
737
+ ## 1.17.0 - 2014-12-15
738
+ * 1 major enhacement:
739
+ * File uploads resource was added (for uploading pdf or image documents for disputes)
740
+
741
+ ## 1.16.1 - 2014-12-19
742
+ * 2 minor enhancements:
743
+ * Ability to send idempotent requests
744
+ * Ability to specify stripe account as a header
745
+
746
+ ## 1.16.0 - 2014-10-08
747
+ * 1 minor enhacement:
748
+ * Coupons now support update operations - useful for manipulating metadata
749
+
750
+ ## 1.15.0 - 2014-07-26
751
+ * 1 major enhacement:
752
+ * Application Fee refunds now a list instead of array
753
+
754
+ ## 1.14.0 - 2014-06-17
755
+ * 1 major enhancement:
756
+ * Add metadata for refunds and disputes
757
+
758
+ ## 1.13.0 - 2014-05-28
759
+ * 1 major enhancement:
760
+ * Support for canceling transfers
761
+
762
+ ## 1.12.0 - 2014-05-21
763
+ * 1 major enhancement:
764
+ * Support for cards for recipients
765
+
766
+ ## 1.11.0 - 2014-04-09
767
+ * 2 minor enhancements:
768
+ * Update included ca bundles
769
+ * Implement certificate blacklisting
770
+
771
+ ## 1.10.2 - 2014-02-18
772
+ * 1 minor enhancement:
773
+ * Add create_subscription on Customer resources, so you can create
774
+ subscriptions without needing to retrieve the customer first (github
775
+ issue #120)
776
+
777
+ ## 1.10.1 - 2014-02-03
778
+ * 1 bugfix:
779
+ * Fix marshaling of StripeObjects
780
+
781
+ ## 1.10.0 - 2014-01-29
782
+ * 2 major enhancements
783
+ * Support for multiple subscriptions per customer
784
+ * Testing ruby 2.1.0
785
+
786
+ * 2 minor enhancements
787
+ * Replace multi_json with json
788
+ * Allow #save to take opts (for :expand)
789
+
790
+ * 1 bugfix
791
+ * Fix #try and #respond_to? on StripeObjects
792
+
793
+ ## 1.9.9 - 2013-12-02
794
+ * 1 major enhancement
795
+ * Add ApplicationFee resource
796
+
797
+ ## 1.8.9 - 2013-11-14
798
+ * 2 bugfixes:
799
+ * Fix gemspec dependencies so the gem doesn't break for Ruby 1.8 users
800
+ * Fix api_resource_test to not use returns as a way of testing rescue behavior
801
+
802
+ ## 1.8.8 - 2013-10-3
803
+ * 1 major enhancement
804
+ * Add support for metadata on resources
805
+
806
+ ## 1.8.7 - 2013-08-18
807
+ * 1 minor enhancement
808
+ * Add support for closing disputes.
809
+
810
+ ## 1.8.6 - 2013-08-13
811
+ * 1 major enhancement
812
+ * Add Balance and BalanceTransaction resources
813
+
814
+ ## 1.8.5 - 2013-08-12
815
+ * 1 major enhancement
816
+ * Add support for unsetting attributes by setting to nil. This permits unsetting email and description on customers and description on charges. Setting properties to a blank string is now an error.
817
+ * Attempting to set an object's id is now an error
818
+
819
+ ## 1.8.4 - 2013-07-11
820
+ * 1 major enhancement
821
+ * Add support for new cards API (Stripe API version - 2013-07-05)
822
+
823
+ ## 1.8.3 - 2013-05-06
824
+ * 1 bugfix:
825
+ * Fix handling of per-call API keys (github issue #67)
826
+
827
+ ## 1.8.2 - 2013-05-01
828
+ * 3 minor enhancements:
829
+ * Use to_sym instead of type checking for minor performance improvement (github issue #59)
830
+ * Handle low-memory situations without throwing an exception (github issue #61)
831
+ * Add an Customer#upcoming_invoice convenience method (github issue #65)
832
+
833
+ * 1 bugfix:
834
+ * Allow updating resources without first retrieving them (github issue #60)
835
+
836
+ ## 1.8.1 - 2013-04-19
837
+ * 1 minor enhancement:
838
+ * Add support for specifying an API key when retrieving an upcoming invoice
839
+
840
+ ## 1.8.0 - 2013-04-11
841
+ * 1 major enhancement:
842
+ * Add new Recipient resource
843
+ * Allow Transfers to be createable
844
+
845
+ ## 1.7.11 - 2013-02-21
846
+ * 1 minor enhancement
847
+ * Add 'id' to the list of permanent attributes
848
+
849
+ ## 1.7.10 - 2013-02-01
850
+ * 1 major enhancement
851
+ * Add support for passing options when retrieving Stripe objects e.g., Stripe::Charge.retrieve({id:"foo", expand:["customer"]}) Stripe::Charge("foo") is still supported as well
852
+
853
+ ## 1.7.9 - 2013-01-15
854
+ * 1 major enhancement
855
+ * Add support for setting a Stripe API version override.
856
+
857
+ ## 1.7.8 - 2012-11-21
858
+ * 1 bugfix
859
+ * Relax the version constraint on multi_json (github issue #44)
860
+
861
+ ## 1.7.7 - 2012-11-07
862
+ * 1 minor enhancement:
863
+ * Add support for updating charge disputes
864
+
865
+ * 1 bugfix
866
+ * Fix Account API resource bug
867
+
868
+ ## 1.7.6 - 2012-10-30
869
+ * 1 major enhancement
870
+ * Add support for creating invoices
871
+
872
+ ## 1.7.5 - 2012-10-25
873
+ * 1 major enhancement
874
+ * Add support for new API lists
875
+
876
+ ## 1.7.4 - 2012-10-08
877
+ * 1 bugfix
878
+ * Fix bug introduced in 1.7.3 calling API methods that take no
879
+ arguments, like Stripe::Invoice#pay (github issue #42)
880
+
881
+ ## 1.7.3 - 2012-09-14
882
+ * 2 bugfixes
883
+ * Make sure that both keys and values of GET params are URL-encoded. NOTE: If you were previously URL-encoding values yourself, you may need to adjust your code.
884
+ * URL-encode POST params directly, instead of allowing rest-client to do it to work around an unfortunate interaction with the hashery gem (github issue #38)
885
+
886
+ ## 1.7.2 - 2012-08-31
887
+ * 1 major enhancement
888
+ * Add support for new pay and update methods for Invoice objects
889
+
890
+ ## 1.7.1 - 2012-08-15
891
+ * 1 major enhancement
892
+ * Add new Account API resource
893
+
894
+ ## 1.7.0 - 2012-05-17
895
+ * 3 major enhancements:
896
+ * Switch from vendored stripe-json to multi_json for all JSON parsing and rendering. This should not impact programmatic usage of the library, but may cause small rendering differences from, e.g., StripeObject#inspect (github issue #22)
897
+ * Add new delete_discount method to Customer objects
898
+ * Add new Transfer API resource
899
+
900
+ * 2 minor enhancements:
901
+ * Switch from HTTP Basic auth to Bearer auth (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward)
902
+ * Numerous test suite improvements
903
+
904
+ ## 1.6.3 - 2012-03-22
905
+ * 1 bugfix:
906
+ * Encode GET query strings ourselves instead of using rest-client to work around a bug
907
+
908
+ ## 1.6.2 - 2012-02-24
909
+ * 1 bugfix:
910
+ * Correct argument handling in StripeObject#as_json
911
+
912
+ ## 1.6.1 - 2012-02-22
913
+ * 1 bugfix:
914
+ * Fix StripeObject#inspect when ActiveSupport 3.0 is loaded
915
+
916
+ ## 1.6.0 - 2012-02-01
917
+ * A whole bunch of releases between 1.5.0 and 1.6.0, but few changes, mainly the addition of plans, coupons, events, and tokens
918
+ * 1.6.0 also contains a new inspect/to_string implementation
919
+
920
+ ## 1.5.0 - 2011-05-09
921
+ * 1 major enhancement:
922
+ * Update for new RESTful API
923
+
924
+ ## 1.3.4 - 2011-01-07
925
+ * 1 major enhancement:
926
+ * Rename to Stripe
927
+
928
+ ## 1.2 - 2010-06-06
929
+ * 1 major enhancement:
930
+ * Support for the set_customer_subscription and delete_customer API methods
931
+
932
+ ## 1.1 - 2010-03-14
933
+ * 1 major enhancement:
934
+ * Support for recurring billing
935
+
936
+ ## 1.0 - 2010-01-05
937
+ * 1 major enhancement:
938
+ * Initial release
939
+
940
+ <!--
941
+ # vim: set tw=0:
942
+ -->