stripe 4.10.0 → 5.55.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +316 -1
  3. data/CODE_OF_CONDUCT.md +77 -0
  4. data/Gemfile +10 -14
  5. data/Makefile +7 -0
  6. data/README.md +186 -62
  7. data/Rakefile +8 -7
  8. data/VERSION +1 -1
  9. data/lib/stripe/api_operations/create.rb +1 -1
  10. data/lib/stripe/api_operations/delete.rb +28 -2
  11. data/lib/stripe/api_operations/list.rb +1 -12
  12. data/lib/stripe/api_operations/nested_resource.rb +38 -28
  13. data/lib/stripe/api_operations/request.rb +81 -9
  14. data/lib/stripe/api_operations/save.rb +8 -7
  15. data/lib/stripe/api_operations/search.rb +19 -0
  16. data/lib/stripe/api_resource.rb +45 -3
  17. data/lib/stripe/api_resource_test_helpers.rb +47 -0
  18. data/lib/stripe/connection_manager.rb +200 -0
  19. data/lib/stripe/error_object.rb +93 -0
  20. data/lib/stripe/errors.rb +31 -10
  21. data/lib/stripe/instrumentation.rb +84 -0
  22. data/lib/stripe/list_object.rb +41 -7
  23. data/lib/stripe/multipart_encoder.rb +131 -0
  24. data/lib/stripe/oauth.rb +8 -6
  25. data/lib/stripe/object_types.rb +119 -0
  26. data/lib/stripe/{account.rb → resources/account.rb} +48 -30
  27. data/lib/stripe/{account_link.rb → resources/account_link.rb} +2 -1
  28. data/lib/stripe/resources/alipay_account.rb +34 -0
  29. data/lib/stripe/{apple_pay_domain.rb → resources/apple_pay_domain.rb} +2 -1
  30. data/lib/stripe/resources/application_fee.rb +14 -0
  31. data/lib/stripe/resources/application_fee_refund.rb +31 -0
  32. data/lib/stripe/{balance.rb → resources/balance.rb} +2 -1
  33. data/lib/stripe/{balance_transaction.rb → resources/balance_transaction.rb} +2 -5
  34. data/lib/stripe/resources/bank_account.rb +43 -0
  35. data/lib/stripe/{issuing/dispute.rb → resources/billing_portal/configuration.rb} +4 -3
  36. data/lib/stripe/resources/billing_portal/session.rb +12 -0
  37. data/lib/stripe/{bitcoin_receiver.rb → resources/bitcoin_receiver.rb} +4 -3
  38. data/lib/stripe/resources/bitcoin_transaction.rb +16 -0
  39. data/lib/stripe/resources/capability.rb +34 -0
  40. data/lib/stripe/{card.rb → resources/card.rb} +13 -4
  41. data/lib/stripe/resources/cash_balance.rb +22 -0
  42. data/lib/stripe/resources/charge.rb +32 -0
  43. data/lib/stripe/resources/checkout/session.rb +27 -0
  44. data/lib/stripe/{country_spec.rb → resources/country_spec.rb} +2 -1
  45. data/lib/stripe/{coupon.rb → resources/coupon.rb} +3 -2
  46. data/lib/stripe/resources/credit_note.rb +33 -0
  47. data/lib/stripe/resources/credit_note_line_item.rb +8 -0
  48. data/lib/stripe/resources/customer.rb +74 -0
  49. data/lib/stripe/resources/customer_balance_transaction.rb +31 -0
  50. data/lib/stripe/resources/discount.rb +8 -0
  51. data/lib/stripe/resources/dispute.rb +22 -0
  52. data/lib/stripe/{ephemeral_key.rb → resources/ephemeral_key.rb} +6 -2
  53. data/lib/stripe/{event.rb → resources/event.rb} +2 -1
  54. data/lib/stripe/{exchange_rate.rb → resources/exchange_rate.rb} +2 -1
  55. data/lib/stripe/resources/file.rb +36 -0
  56. data/lib/stripe/{file_link.rb → resources/file_link.rb} +3 -2
  57. data/lib/stripe/resources/financial_connections/account.rb +31 -0
  58. data/lib/stripe/resources/financial_connections/account_owner.rb +10 -0
  59. data/lib/stripe/resources/financial_connections/account_ownership.rb +10 -0
  60. data/lib/stripe/resources/financial_connections/session.rb +12 -0
  61. data/lib/stripe/resources/funding_instructions.rb +16 -0
  62. data/lib/stripe/resources/identity/verification_report.rb +12 -0
  63. data/lib/stripe/resources/identity/verification_session.rb +35 -0
  64. data/lib/stripe/resources/invoice.rb +83 -0
  65. data/lib/stripe/{invoice_item.rb → resources/invoice_item.rb} +3 -2
  66. data/lib/stripe/{invoice_line_item.rb → resources/invoice_line_item.rb} +2 -1
  67. data/lib/stripe/resources/issuing/authorization.rb +34 -0
  68. data/lib/stripe/resources/issuing/card.rb +25 -0
  69. data/lib/stripe/resources/issuing/card_details.rb +10 -0
  70. data/lib/stripe/{issuing → resources/issuing}/cardholder.rb +3 -2
  71. data/lib/stripe/resources/issuing/dispute.rb +25 -0
  72. data/lib/stripe/{issuing → resources/issuing}/transaction.rb +3 -2
  73. data/lib/stripe/resources/line_item.rb +8 -0
  74. data/lib/stripe/resources/login_link.rb +15 -0
  75. data/lib/stripe/resources/mandate.rb +8 -0
  76. data/lib/stripe/resources/order.rb +33 -0
  77. data/lib/stripe/{order_return.rb → resources/order_return.rb} +2 -1
  78. data/lib/stripe/resources/payment_intent.rb +82 -0
  79. data/lib/stripe/resources/payment_link.rb +23 -0
  80. data/lib/stripe/resources/payment_method.rb +33 -0
  81. data/lib/stripe/resources/payout.rb +33 -0
  82. data/lib/stripe/{person.rb → resources/person.rb} +9 -3
  83. data/lib/stripe/{plan.rb → resources/plan.rb} +2 -1
  84. data/lib/stripe/resources/price.rb +21 -0
  85. data/lib/stripe/resources/product.rb +22 -0
  86. data/lib/stripe/resources/promotion_code.rb +12 -0
  87. data/lib/stripe/resources/quote.rb +105 -0
  88. data/lib/stripe/resources/radar/early_fraud_warning.rb +12 -0
  89. data/lib/stripe/{radar → resources/radar}/value_list.rb +3 -2
  90. data/lib/stripe/{radar → resources/radar}/value_list_item.rb +3 -2
  91. data/lib/stripe/{recipient.rb → resources/recipient.rb} +3 -6
  92. data/lib/stripe/{recipient_transfer.rb → resources/recipient_transfer.rb} +1 -1
  93. data/lib/stripe/resources/refund.rb +42 -0
  94. data/lib/stripe/{reporting → resources/reporting}/report_run.rb +3 -2
  95. data/lib/stripe/{reporting → resources/reporting}/report_type.rb +3 -2
  96. data/lib/stripe/resources/reversal.rb +30 -0
  97. data/lib/stripe/resources/review.rb +21 -0
  98. data/lib/stripe/resources/setup_attempt.rb +10 -0
  99. data/lib/stripe/resources/setup_intent.rb +43 -0
  100. data/lib/stripe/{product.rb → resources/shipping_rate.rb} +4 -4
  101. data/lib/stripe/{sigma → resources/sigma}/scheduled_query_run.rb +3 -2
  102. data/lib/stripe/{sku.rb → resources/sku.rb} +4 -3
  103. data/lib/stripe/resources/source.rb +47 -0
  104. data/lib/stripe/{source_transaction.rb → resources/source_transaction.rb} +2 -1
  105. data/lib/stripe/resources/subscription.rb +35 -0
  106. data/lib/stripe/resources/subscription_item.rb +26 -0
  107. data/lib/stripe/resources/subscription_schedule.rb +33 -0
  108. data/lib/stripe/resources/tax_code.rb +10 -0
  109. data/lib/stripe/resources/tax_id.rb +27 -0
  110. data/lib/stripe/{refund.rb → resources/tax_rate.rb} +3 -2
  111. data/lib/stripe/{terminal/reader.rb → resources/terminal/configuration.rb} +3 -2
  112. data/lib/stripe/resources/terminal/connection_token.rb +12 -0
  113. data/lib/stripe/{terminal → resources/terminal}/location.rb +3 -2
  114. data/lib/stripe/resources/terminal/reader.rb +75 -0
  115. data/lib/stripe/resources/test_helpers/test_clock.rb +25 -0
  116. data/lib/stripe/{three_d_secure.rb → resources/three_d_secure.rb} +2 -1
  117. data/lib/stripe/{token.rb → resources/token.rb} +2 -1
  118. data/lib/stripe/resources/topup.rb +23 -0
  119. data/lib/stripe/resources/transfer.rb +27 -0
  120. data/lib/stripe/resources/usage_record.rb +8 -0
  121. data/lib/stripe/{usage_record_summary.rb → resources/usage_record_summary.rb} +2 -1
  122. data/lib/stripe/{webhook_endpoint.rb → resources/webhook_endpoint.rb} +3 -2
  123. data/lib/stripe/resources.rb +100 -0
  124. data/lib/stripe/search_result_object.rb +86 -0
  125. data/lib/stripe/singleton_api_resource.rb +3 -1
  126. data/lib/stripe/stripe_client.rb +661 -266
  127. data/lib/stripe/stripe_configuration.rb +194 -0
  128. data/lib/stripe/stripe_object.rb +80 -61
  129. data/lib/stripe/stripe_response.rb +87 -27
  130. data/lib/stripe/util.rb +128 -117
  131. data/lib/stripe/version.rb +1 -1
  132. data/lib/stripe/webhook.rb +43 -10
  133. data/lib/stripe.rb +46 -197
  134. data/stripe.gemspec +24 -8
  135. metadata +123 -283
  136. data/.gitattributes +0 -4
  137. data/.github/ISSUE_TEMPLATE.md +0 -5
  138. data/.gitignore +0 -8
  139. data/.rubocop.yml +0 -32
  140. data/.rubocop_todo.yml +0 -50
  141. data/.travis.yml +0 -42
  142. data/lib/stripe/alipay_account.rb +0 -27
  143. data/lib/stripe/application_fee.rb +0 -23
  144. data/lib/stripe/application_fee_refund.rb +0 -22
  145. data/lib/stripe/bank_account.rb +0 -32
  146. data/lib/stripe/bitcoin_transaction.rb +0 -15
  147. data/lib/stripe/charge.rb +0 -84
  148. data/lib/stripe/checkout/session.rb +0 -11
  149. data/lib/stripe/customer.rb +0 -90
  150. data/lib/stripe/dispute.rb +0 -19
  151. data/lib/stripe/file.rb +0 -37
  152. data/lib/stripe/invoice.rb +0 -48
  153. data/lib/stripe/issuer_fraud_record.rb +0 -9
  154. data/lib/stripe/issuing/authorization.rb +0 -22
  155. data/lib/stripe/issuing/card.rb +0 -18
  156. data/lib/stripe/issuing/card_details.rb +0 -9
  157. data/lib/stripe/login_link.rb +0 -11
  158. data/lib/stripe/order.rb +0 -31
  159. data/lib/stripe/payment_intent.rb +0 -26
  160. data/lib/stripe/payment_method.rb +0 -23
  161. data/lib/stripe/payout.rb +0 -20
  162. data/lib/stripe/reversal.rb +0 -22
  163. data/lib/stripe/review.rb +0 -14
  164. data/lib/stripe/source.rb +0 -38
  165. data/lib/stripe/subscription.rb +0 -25
  166. data/lib/stripe/subscription_item.rb +0 -17
  167. data/lib/stripe/subscription_schedule.rb +0 -32
  168. data/lib/stripe/subscription_schedule_revision.rb +0 -25
  169. data/lib/stripe/terminal/connection_token.rb +0 -11
  170. data/lib/stripe/topup.rb +0 -16
  171. data/lib/stripe/transfer.rb +0 -23
  172. data/lib/stripe/usage_record.rb +0 -14
  173. data/test/api_stub_helpers.rb +0 -1
  174. data/test/openapi/README.md +0 -9
  175. data/test/stripe/account_external_accounts_operations_test.rb +0 -69
  176. data/test/stripe/account_link_test.rb +0 -18
  177. data/test/stripe/account_login_links_operations_test.rb +0 -21
  178. data/test/stripe/account_persons_operations_test.rb +0 -70
  179. data/test/stripe/account_test.rb +0 -256
  180. data/test/stripe/alipay_account_test.rb +0 -37
  181. data/test/stripe/api_operations_test.rb +0 -81
  182. data/test/stripe/api_resource_test.rb +0 -526
  183. data/test/stripe/apple_pay_domain_test.rb +0 -33
  184. data/test/stripe/application_fee_refund_test.rb +0 -37
  185. data/test/stripe/application_fee_refunds_operations_test.rb +0 -56
  186. data/test/stripe/application_fee_test.rb +0 -14
  187. data/test/stripe/balance_test.rb +0 -13
  188. data/test/stripe/bank_account_test.rb +0 -36
  189. data/test/stripe/charge_test.rb +0 -59
  190. data/test/stripe/checkout/session_test.rb +0 -41
  191. data/test/stripe/country_spec_test.rb +0 -20
  192. data/test/stripe/coupon_test.rb +0 -51
  193. data/test/stripe/customer_card_test.rb +0 -42
  194. data/test/stripe/customer_sources_operations_test.rb +0 -64
  195. data/test/stripe/customer_test.rb +0 -115
  196. data/test/stripe/dispute_test.rb +0 -42
  197. data/test/stripe/ephemeral_key_test.rb +0 -86
  198. data/test/stripe/errors_test.rb +0 -20
  199. data/test/stripe/exchange_rate_test.rb +0 -20
  200. data/test/stripe/file_link_test.rb +0 -41
  201. data/test/stripe/file_test.rb +0 -73
  202. data/test/stripe/file_upload_test.rb +0 -76
  203. data/test/stripe/invoice_item_test.rb +0 -55
  204. data/test/stripe/invoice_line_item_test.rb +0 -8
  205. data/test/stripe/invoice_test.rb +0 -161
  206. data/test/stripe/issuer_fraud_record_test.rb +0 -20
  207. data/test/stripe/issuing/authorization_test.rb +0 -50
  208. data/test/stripe/issuing/card_test.rb +0 -53
  209. data/test/stripe/issuing/cardholder_test.rb +0 -53
  210. data/test/stripe/issuing/dispute_test.rb +0 -45
  211. data/test/stripe/issuing/transaction_test.rb +0 -48
  212. data/test/stripe/list_object_test.rb +0 -156
  213. data/test/stripe/login_link_test.rb +0 -37
  214. data/test/stripe/oauth_test.rb +0 -88
  215. data/test/stripe/order_return_test.rb +0 -21
  216. data/test/stripe/order_test.rb +0 -57
  217. data/test/stripe/payment_intent_test.rb +0 -80
  218. data/test/stripe/payment_method_test.rb +0 -66
  219. data/test/stripe/payout_test.rb +0 -50
  220. data/test/stripe/person_test.rb +0 -46
  221. data/test/stripe/plan_test.rb +0 -92
  222. data/test/stripe/product_test.rb +0 -49
  223. data/test/stripe/radar/value_list_item_test.rb +0 -38
  224. data/test/stripe/radar/value_list_test.rb +0 -51
  225. data/test/stripe/recipient_test.rb +0 -49
  226. data/test/stripe/refund_test.rb +0 -39
  227. data/test/stripe/reporting/report_run_test.rb +0 -33
  228. data/test/stripe/reporting/report_type_test.rb +0 -22
  229. data/test/stripe/reversal_test.rb +0 -43
  230. data/test/stripe/review_test.rb +0 -27
  231. data/test/stripe/sigma/scheduled_query_run_test.rb +0 -22
  232. data/test/stripe/sku_test.rb +0 -50
  233. data/test/stripe/source_test.rb +0 -86
  234. data/test/stripe/source_transaction_test.rb +0 -19
  235. data/test/stripe/stripe_client_test.rb +0 -823
  236. data/test/stripe/stripe_object_test.rb +0 -525
  237. data/test/stripe/stripe_response_test.rb +0 -49
  238. data/test/stripe/subscription_item_test.rb +0 -53
  239. data/test/stripe/subscription_schedule_revision_test.rb +0 -37
  240. data/test/stripe/subscription_schedule_revisions_operations_test.rb +0 -35
  241. data/test/stripe/subscription_schedule_test.rb +0 -64
  242. data/test/stripe/subscription_test.rb +0 -60
  243. data/test/stripe/terminal/connection_token_test.rb +0 -16
  244. data/test/stripe/terminal/location_test.rb +0 -58
  245. data/test/stripe/terminal/reader_test.rb +0 -52
  246. data/test/stripe/three_d_secure_test.rb +0 -23
  247. data/test/stripe/topup_test.rb +0 -54
  248. data/test/stripe/transfer_reversals_operations_test.rb +0 -57
  249. data/test/stripe/transfer_test.rb +0 -43
  250. data/test/stripe/usage_record_summary_test.rb +0 -19
  251. data/test/stripe/usage_record_test.rb +0 -28
  252. data/test/stripe/util_test.rb +0 -402
  253. data/test/stripe/webhook_endpoint_test.rb +0 -42
  254. data/test/stripe/webhook_test.rb +0 -96
  255. data/test/stripe_mock.rb +0 -77
  256. data/test/stripe_test.rb +0 -63
  257. data/test/test_data.rb +0 -61
  258. data/test/test_helper.rb +0 -73
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09105a67e4d42983626822bcf90bf3351cc649b675685eaf9cb32c3933906495'
4
- data.tar.gz: 210510e3a1ea6c59af40032f686c5e134b782ade08a6105d642f839ee29abe7c
3
+ metadata.gz: 7e81cc3af76a8942f879c1b312bbcc6ad27257cb9b68f9a63df76bd430ff9cf8
4
+ data.tar.gz: c83f7ae353941a10279ba76237f64e700f0e6bce06fe9475250b85308f72d57f
5
5
  SHA512:
6
- metadata.gz: 3c3c5cfe19a51851fb7b10db82f628a3584222ad8a7bf3151bc007d867659d0090c4eee8683edc4e2fd45f6ba875c117197522001dca145820e96ead9a627030
7
- data.tar.gz: 74e73fb61e12848686c1b842c149a3709576cbe82debf77f9aa1b213bf4a4c5e938c018d347c0edd7315a75f388b78140e1f546c9d80a45a13c343885056f4ec
6
+ metadata.gz: 4b4aff3650ae5933a0fae274bf1fe1e142f8361fbd0b3734502ce317a82492bda2124e155ff335b311abbda1d9751fdbc15e4a1754c94fe8b6d8a24e206b599e
7
+ data.tar.gz: f23307331d6ded3934361f9fff180a0ecda5df30bb3f5708e359d3b0712ed5262873b2220400d124544b113249a7ff5f1ae885cef381b9a8b3aa6388295527a7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,320 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.55.0 - 2022-05-05
4
+ * [#1055](https://github.com/stripe/stripe-ruby/pull/1055) API Updates
5
+ * Add support for new resources `FinancialConnections.AccountOwner`, `FinancialConnections.AccountOwnership`, `FinancialConnections.Account`, and `FinancialConnections.Session`
6
+
7
+
8
+ ## 5.54.0 - 2022-05-03
9
+ * [#1053](https://github.com/stripe/stripe-ruby/pull/1053) API Updates
10
+ * Add support for new resource `CashBalance`
11
+
12
+ ## 5.53.0 - 2022-04-21
13
+ * [#1050](https://github.com/stripe/stripe-ruby/pull/1050) API Updates
14
+ * Add support for `expire` test helper method on resource `Refund`
15
+
16
+ ## 5.52.0 - 2022-04-18
17
+ * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) [#1047](https://github.com/stripe/stripe-ruby/pull/1047) API Updates
18
+ * Add support for new resources `FundingInstructions` and `Terminal.Configuration`
19
+
20
+ ## 5.51.0 - 2022-04-15
21
+ * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) This release was incomplete and was yanked from RubyGems immediately after it was published.
22
+
23
+ ## 5.50.0 - 2022-04-13
24
+ * [#1045](https://github.com/stripe/stripe-ruby/pull/1045) API Updates
25
+ * Add support for `increment_authorization` method on resource `PaymentIntent`
26
+
27
+ ## 5.49.0 - 2022-04-08
28
+ * [#1043](https://github.com/stripe/stripe-ruby/pull/1043) API Updates
29
+ * Add support for `apply_customer_balance` method on resource `PaymentIntent`
30
+
31
+ ## 5.48.0 - 2022-03-30
32
+ * [#1041](https://github.com/stripe/stripe-ruby/pull/1041) API Updates
33
+ * Add support for `cancel_action`, `process_payment_intent`, `process_setup_intent`, and `set_reader_display` methods on resource `Terminal.Reader`
34
+
35
+ ## 5.47.0 - 2022-03-29
36
+ * [#1040](https://github.com/stripe/stripe-ruby/pull/1040) API Updates
37
+ * Add support for Search API
38
+ * Add support for `search` method on resources `Charge`, `Customer`, `Invoice`, `PaymentIntent`, `Price`, `Product`, and `Subscription`
39
+
40
+ * [#1034](https://github.com/stripe/stripe-ruby/pull/1034) Add supporting classes for test helper generation
41
+
42
+ ## 5.46.0 - 2022-03-23
43
+ * [#1039](https://github.com/stripe/stripe-ruby/pull/1039) API Updates
44
+ * Add support for `cancel` method on resource `Refund`
45
+ * [#992](https://github.com/stripe/stripe-ruby/pull/992) Add support for Search API
46
+
47
+ ## 5.45.0 - 2022-03-01
48
+ * [#1035](https://github.com/stripe/stripe-ruby/pull/1035) API Updates
49
+ * Add support for new resource `TestHelpers.TestClock`
50
+
51
+ ## 5.44.0 - 2022-02-16
52
+ * [#1032](https://github.com/stripe/stripe-ruby/pull/1032) API Updates
53
+ * Add support for `verify_microdeposits` method on resources `PaymentIntent` and `SetupIntent`
54
+
55
+ ## 5.43.0 - 2022-01-20
56
+ * [#1031](https://github.com/stripe/stripe-ruby/pull/1031) API Updates
57
+ * Add support for new resource `PaymentLink`
58
+
59
+ ## 5.42.0 - 2021-12-13
60
+ * [#1022](https://github.com/stripe/stripe-ruby/pull/1022) Add connection manager logging and include object IDs in logging.
61
+
62
+ ## 5.41.0 - 2021-11-16
63
+ * [#1017](https://github.com/stripe/stripe-ruby/pull/1017) API Updates
64
+ * Add support for new resource `ShippingRate`
65
+
66
+ ## 5.40.0 - 2021-11-11
67
+ * [#1015](https://github.com/stripe/stripe-ruby/pull/1015) API Updates
68
+ * Add support for `expire` method on resource `Checkout.Session`
69
+ * [#1013](https://github.com/stripe/stripe-ruby/pull/1013) Add tests for child resources.
70
+ * [#1012](https://github.com/stripe/stripe-ruby/pull/1012) Add tests for namespaced resources.
71
+ * [#1011](https://github.com/stripe/stripe-ruby/pull/1011) codegen: 3 more files
72
+
73
+ ## 5.39.0 - 2021-10-11
74
+ * [#1010](https://github.com/stripe/stripe-ruby/pull/1010) API Updates
75
+ * Add support for `list_payment_methods` method on resource `Customer`
76
+
77
+ ## 5.38.0 - 2021-08-10
78
+ * [#993](https://github.com/stripe/stripe-ruby/pull/993) Add `request_id` to RequestEndEvent
79
+ * [#991](https://github.com/stripe/stripe-ruby/pull/991) Codegen more files
80
+ * [#989](https://github.com/stripe/stripe-ruby/pull/989) Remove unused API error types from docs.
81
+
82
+ ## 5.37.0 - 2021-07-14
83
+ * [#988](https://github.com/stripe/stripe-ruby/pull/988) API Updates
84
+ * Add support for `list_computed_upfront_line_items` method on resource `Quote`
85
+
86
+ ## 5.36.0 - 2021-07-09
87
+ * [#987](https://github.com/stripe/stripe-ruby/pull/987) Add support for `Quote` API
88
+
89
+ ## 5.35.0 - 2021-06-30
90
+ * [#985](https://github.com/stripe/stripe-ruby/pull/985) Update normalize_opts to use dup instead of clone.
91
+ * [#982](https://github.com/stripe/stripe-ruby/pull/982) Deprecate travis
92
+ * [#983](https://github.com/stripe/stripe-ruby/pull/983) Add support for making a request and receiving the response as a stream.
93
+
94
+ ## 5.34.0 - 2021-06-04
95
+ * [#981](https://github.com/stripe/stripe-ruby/pull/981) API Updates
96
+ * Add support for `TaxCode` API.
97
+
98
+ ## 5.33.0 - 2021-05-19
99
+ * [#979](https://github.com/stripe/stripe-ruby/pull/979) Add support for the Identify VerificationSession and VerificationReport APIs
100
+
101
+ ## 5.32.1 - 2021-04-05
102
+ * Correct use of regexp `match` in gemspec for old versions of Ruby
103
+
104
+ ## 5.32.0 - 2021-04-05
105
+ * [#973](https://github.com/stripe/stripe-ruby/pull/973) Reduce packed gem size
106
+
107
+ ## 5.31.0 - 2021-04-02
108
+ * [#968](https://github.com/stripe/stripe-ruby/pull/968) Allow StripeClient to be configured per instance
109
+ * [#971](https://github.com/stripe/stripe-ruby/pull/971) On config change, only clear connection managers for changed config
110
+ * [#972](https://github.com/stripe/stripe-ruby/pull/972) Rename `Stripe.configuration` to `Stripe.config`
111
+ * [#970](https://github.com/stripe/stripe-ruby/pull/970) Reserve some critical field names when adding `StripeObject` accessors
112
+ * [#967](https://github.com/stripe/stripe-ruby/pull/967) CI: github actions
113
+
114
+ ## 5.30.0 - 2021-02-22
115
+ * [#965](https://github.com/stripe/stripe-ruby/pull/965) Add support for the Billing Portal Configuration API
116
+
117
+ ## 5.29.1 - 2021-02-09
118
+ * [#964](https://github.com/stripe/stripe-ruby/pull/964) Fix return value of `Customer#delete_discount`
119
+
120
+ ## 5.29.0 - 2021-01-05
121
+ * [#952](https://github.com/stripe/stripe-ruby/pull/952) Allow client_id configuration on instance config
122
+
123
+ ## 5.28.0 - 2020-10-14
124
+ * [#950](https://github.com/stripe/stripe-ruby/pull/950) Add configuration option for `write_timeout` for connections on Ruby 2.6+
125
+
126
+ ## 5.27.0 - 2020-10-14
127
+ * [#951](https://github.com/stripe/stripe-ruby/pull/951) Add support for the Payout Reverse API
128
+
129
+ ## 5.26.0 - 2020-09-29
130
+ * [#949](https://github.com/stripe/stripe-ruby/pull/949) Add support for the `SetupAttempt` resource and List API
131
+
132
+ ## 5.25.0 - 2020-09-02
133
+ * [#944](https://github.com/stripe/stripe-ruby/pull/944) Add support for the Issuing Dispute Submit API
134
+
135
+ ## 5.24.0 - 2020-08-26
136
+ * [#939](https://github.com/stripe/stripe-ruby/pull/939) Extract configurations into separate object
137
+ * [#940](https://github.com/stripe/stripe-ruby/pull/940) Fix typo in documentation of `stripe_object.rb`
138
+
139
+ ## 5.23.1 - 2020-08-05
140
+ * [#936](https://github.com/stripe/stripe-ruby/pull/936) Rename API resource's `request` method
141
+
142
+ ## 5.23.0 - 2020-08-05
143
+ * [#937](https://github.com/stripe/stripe-ruby/pull/937) Add support for the `PromotionCode` resource and APIs
144
+
145
+ ## 5.22.0 - 2020-05-11
146
+ * [#918](https://github.com/stripe/stripe-ruby/pull/918) Add support for the `LineItem` resource and APIs
147
+
148
+ ## 5.21.0 - 2020-04-29
149
+ * [#917](https://github.com/stripe/stripe-ruby/pull/917) Add support for the `Price` resource and APIs
150
+
151
+ ## 5.20.0 - 2020-04-27
152
+ * [#916](https://github.com/stripe/stripe-ruby/pull/916) Add new `.generate_header` method for webhooks
153
+
154
+ ## 5.19.0 - 2020-04-24
155
+ * [#915](https://github.com/stripe/stripe-ruby/pull/915) Expose `Stripe::Webhook.compute_signature` publicly
156
+
157
+ ## 5.18.0 - 2020-04-22
158
+ * [#911](https://github.com/stripe/stripe-ruby/pull/911) Add support for `BillingPortal` namespace and `Session` resource and APIs
159
+
160
+ ## 5.17.0 - 2020-02-26
161
+ * [#907](https://github.com/stripe/stripe-ruby/pull/907) Add `StripeError#idempotent_replayed?`
162
+
163
+ ## 5.16.0 - 2020-02-26
164
+ * [#906](https://github.com/stripe/stripe-ruby/pull/906) Add support for listing Checkout sessions
165
+ * [#903](https://github.com/stripe/stripe-ruby/pull/903) Upgrade to Rubocop 0.80
166
+
167
+ ## 5.15.0 - 2020-02-10
168
+ * [#902](https://github.com/stripe/stripe-ruby/pull/902) Add `request_begin` instrumentation callback
169
+
170
+ ## 5.14.0 - 2020-01-14
171
+ * [#896](https://github.com/stripe/stripe-ruby/pull/896) Add support for `CreditNoteLineItem`
172
+ * [#894](https://github.com/stripe/stripe-ruby/pull/894) Clean up test output by capturing `$stderr` when we expect warnings
173
+ * [#892](https://github.com/stripe/stripe-ruby/pull/892) Explicitly pass a parameter as hash to be more ruby 2.7 friendly
174
+ * [#893](https://github.com/stripe/stripe-ruby/pull/893) Upgrade Rubocop to 0.79
175
+
176
+ ## 5.13.0 - 2020-01-08
177
+ * [#891](https://github.com/stripe/stripe-ruby/pull/891) Fix most Ruby 2.7 warnings
178
+
179
+ ## 5.12.1 - 2020-01-06
180
+ * [#890](https://github.com/stripe/stripe-ruby/pull/890) Override API key with `client_secret` in `OAuth.token`
181
+
182
+ ## 5.12.0 - 2020-01-02
183
+ * [#889](https://github.com/stripe/stripe-ruby/pull/889) Add support for retrieve source transaction API method
184
+
185
+ ## 5.11.0 - 2019-11-26
186
+ * [#885](https://github.com/stripe/stripe-ruby/pull/885) Add support for `CreditNote` preview
187
+
188
+ ## 5.10.0 - 2019-11-08
189
+ * [#882](https://github.com/stripe/stripe-ruby/pull/882) Add list_usage_record_summaries and list_source_transactions
190
+
191
+ ## 5.9.0 - 2019-11-07
192
+ * [#870](https://github.com/stripe/stripe-ruby/pull/870) Add request instrumentation callback (see `README.md` for usage example)
193
+
194
+ ## 5.8.0 - 2019-11-05
195
+ * [#879](https://github.com/stripe/stripe-ruby/pull/879) Add support for `Mandate`
196
+ * [#876](https://github.com/stripe/stripe-ruby/pull/876) Add additional per-request configuration documentation
197
+ * [#874](https://github.com/stripe/stripe-ruby/pull/874) Raise an error when requests params are invalid
198
+ * [#873](https://github.com/stripe/stripe-ruby/pull/873) Contributor Covenant
199
+
200
+ ## 5.7.1 - 2019-10-15
201
+ * [#869](https://github.com/stripe/stripe-ruby/pull/869) Fixes the misnamed `connection_base=` setter to be named `connect_base=`
202
+
203
+ ## 5.7.0 - 2019-10-10
204
+ * [#865](https://github.com/stripe/stripe-ruby/pull/865) Support backwards pagination with list's `#auto_paging_each`
205
+
206
+ ## 5.6.0 - 2019-10-04
207
+ * [#861](https://github.com/stripe/stripe-ruby/pull/861) Nicer error when specifying non-nil non-string opt value
208
+
209
+ ## 5.5.0 - 2019-10-03
210
+ * [#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
211
+
212
+ ## 5.4.1 - 2019-10-01
213
+ * [#858](https://github.com/stripe/stripe-ruby/pull/858) Drop Timecop dependency
214
+
215
+ ## 5.4.0 - 2019-10-01
216
+ * [#857](https://github.com/stripe/stripe-ruby/pull/857) Move to monotonic time for duration calculations
217
+
218
+ ## 5.3.0 - 2019-10-01
219
+ * [#853](https://github.com/stripe/stripe-ruby/pull/853) Support `Stripe-Should-Retry` header
220
+
221
+ ## 5.2.0 - 2019-09-19
222
+ * [#851](https://github.com/stripe/stripe-ruby/pull/851) Introduce system for garbage collecting connection managers
223
+
224
+ ## 5.1.1 - 2019-09-04
225
+ * [#845](https://github.com/stripe/stripe-ruby/pull/845) Transfer the request_id from the http_headers to error.
226
+
227
+ ## 5.1.0 - 2019-08-27
228
+ * [#841](https://github.com/stripe/stripe-ruby/pull/841) Retry requests on a 429 that's a lock timeout
229
+
230
+ ## 5.0.1 - 2019-08-20
231
+ * [#836](https://github.com/stripe/stripe-ruby/pull/836) Increase connection keep alive timeout to 30 seconds
232
+
233
+ ## 5.0.0 - 2019-08-20
234
+ 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.
235
+
236
+ Pull requests included in this release (cf. [#815](https://github.com/stripe/stripe-ruby/pull/815)) (⚠️ = breaking changes):
237
+ * ⚠️ [#813](https://github.com/stripe/stripe-ruby/pull/813): Convert library to use built-in `Net::HTTP`
238
+ * ⚠️ [#816](https://github.com/stripe/stripe-ruby/pull/816): Make `code` argument in `CardError` named instead of positional.
239
+ * ⚠️ [#817](https://github.com/stripe/stripe-ruby/pull/817): Drop support for very old Ruby versions.
240
+ * [#818](https://github.com/stripe/stripe-ruby/pull/818): Bump Rubocop to latest version
241
+ * [#819](https://github.com/stripe/stripe-ruby/pull/819): Ruby minimum version increase followup
242
+ * ⚠️ [#820](https://github.com/stripe/stripe-ruby/pull/820): Remove old deprecated methods
243
+ * ⚠️ [#823](https://github.com/stripe/stripe-ruby/pull/823): Remove all alias for list methods
244
+ * ⚠️ [#826](https://github.com/stripe/stripe-ruby/pull/826): Remove `UsageRecord.create` method
245
+ * ⚠️ [#827](https://github.com/stripe/stripe-ruby/pull/827): Remove `IssuerFraudRecord`
246
+ * [#811](https://github.com/stripe/stripe-ruby/pull/811): Add `ErrorObject` to `StripeError` exceptions
247
+ * [#828](https://github.com/stripe/stripe-ruby/pull/828): Tweak retry logic to be a little more like stripe-node
248
+ * [#829](https://github.com/stripe/stripe-ruby/pull/829): Reset connections when connection-changing configuration changes (optional)
249
+ * [#830](https://github.com/stripe/stripe-ruby/pull/830): Fix inverted sign for 500 retries
250
+ * ⚠️[#831](https://github.com/stripe/stripe-ruby/pull/831): Remove a few more very old deprecated methods
251
+ * [#832](https://github.com/stripe/stripe-ruby/pull/832): Minor cleanup in `StripeClient`
252
+ * [#833](https://github.com/stripe/stripe-ruby/pull/833): Do better bookkeeping when tracking state in `Thread.current`
253
+ * [#834](https://github.com/stripe/stripe-ruby/pull/834): Add `Invoice.list_upcoming_line_items` method
254
+
255
+ ## 4.24.0 - 2019-08-12
256
+ * [#825](https://github.com/stripe/stripe-ruby/pull/825) Add `SubscriptionItem.create_usage_record` method
257
+ - This release also removed the `SubscriptionSchedule.revisions` method. This should have been included in the previous release (4.23.0)
258
+
259
+ ## 4.23.0 - 2019-08-09
260
+ * [#824](https://github.com/stripe/stripe-ruby/pull/824) Remove SubscriptionScheduleRevision
261
+ - This is technically a breaking change. We've chosen to release it as a minor vesion bump because the associated API is unused.
262
+
263
+ ## 4.22.1 - 2019-08-09
264
+ * [#808](https://github.com/stripe/stripe-ruby/pull/808) Unify request/response handling
265
+
266
+ ## 4.22.0 - 2019-07-30
267
+ * [#821](https://github.com/stripe/stripe-ruby/pull/821) Listing `BalanceTransaction` objects now uses `/v1/balance_transactions` instead of `/v1/balance/history`
268
+
269
+ ## 4.21.3 - 2019-07-15
270
+ * [#810](https://github.com/stripe/stripe-ruby/pull/810) Better error message when passing non-string to custom method
271
+
272
+ ## 4.21.2 - 2019-07-05
273
+ * [#806](https://github.com/stripe/stripe-ruby/pull/806) Revert back to `initialize_from` from `Util.convert_to_stripe_object`
274
+
275
+ ## 4.21.1 - 2019-07-04
276
+ * [#807](https://github.com/stripe/stripe-ruby/pull/807) Add gem metadata
277
+
278
+ ## 4.21.0 - 2019-06-28
279
+ * [#803](https://github.com/stripe/stripe-ruby/pull/803) Add support for the `SetupIntent` resource and APIs
280
+
281
+ ## 4.20.1 - 2019-06-28
282
+ * [#805](https://github.com/stripe/stripe-ruby/pull/805) Fix formatting in `ConnectionFailed` error message
283
+
284
+ ## 4.20.0 - 2019-06-24
285
+ * [#800](https://github.com/stripe/stripe-ruby/pull/800) Enable request latency telemetry by default
286
+
287
+ ## 4.19.0 - 2019-06-17
288
+ * [#770](https://github.com/stripe/stripe-ruby/pull/770) Add support for `CustomerBalanceTransaction` resource and APIs
289
+
290
+ ## 4.18.1 - 2019-05-27
291
+ * [#789](https://github.com/stripe/stripe-ruby/pull/789) Allow `Order#pay` to be called without arguments
292
+
293
+ ## 4.18.0 - 2019-05-23
294
+ * [#783](https://github.com/stripe/stripe-ruby/pull/783) Add support for `radar.early_fraud_warning` resource
295
+
296
+ ## 4.17.0 - 2019-05-14
297
+ * [#779](https://github.com/stripe/stripe-ruby/pull/779) Add support for the Capability resource and APIs
298
+
299
+ ## 4.16.0 - 2019-04-24
300
+ * [#760](https://github.com/stripe/stripe-ruby/pull/760) Add support for the `TaxRate` resource and APIs
301
+
302
+ ## 4.15.0 - 2019-04-22
303
+ * [#762](https://github.com/stripe/stripe-ruby/pull/762) Add support for the `TaxId` resource and APIs
304
+
305
+ ## 4.14.0 - 2019-04-18
306
+ * [#758](https://github.com/stripe/stripe-ruby/pull/758) Add support for the `CreditNote` resource and APIs
307
+
308
+ ## 4.13.0 - 2019-04-16
309
+ * [#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`)
310
+
311
+ ## 4.12.0 - 2019-04-02
312
+ * [#752](https://github.com/stripe/stripe-ruby/pull/752) Add `.delete` class method on deletable API resources
313
+ * [#754](https://github.com/stripe/stripe-ruby/pull/754) Add class methods for all custom API requests (e.g. `Charge.capture`)
314
+
315
+ ## 4.11.0 - 2019-03-26
316
+ * [#753](https://github.com/stripe/stripe-ruby/pull/753) Add a global proxy configuration parameter
317
+
3
318
  ## 4.10.0 - 2019-03-18
4
319
  * [#745](https://github.com/stripe/stripe-ruby/pull/745) Add support for the `PaymentMethod` resource and APIs
5
320
  * [#747](https://github.com/stripe/stripe-ruby/pull/747) Add support for retrieving a Checkout `Session`
@@ -33,7 +348,7 @@
33
348
  * [#718](https://github.com/stripe/stripe-ruby/pull/718) Fix an error message typo
34
349
 
35
350
  ## 4.4.0 - 2018-12-21
36
- * [#716](https://github.com/stripe/stripe-ruby/pull/716) Add support for the `CheckoutSession` resource
351
+ * [#716](https://github.com/stripe/stripe-ruby/pull/716) Add support for the `CheckoutSession` resource
37
352
 
38
353
  ## 4.3.0 - 2018-12-10
39
354
  * [#711](https://github.com/stripe/stripe-ruby/pull/711) Add support for account links
@@ -0,0 +1,77 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to make participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies within all project spaces, and it also applies when
49
+ an individual is representing the project or its community in public spaces.
50
+ Examples of representing a project or community include using an official
51
+ project e-mail address, posting via an official social media account, or acting
52
+ as an appointed representative at an online or offline event. Representation of
53
+ a project may be further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at conduct@stripe.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
+
73
+ [homepage]: https://www.contributor-covenant.org
74
+
75
+ For answers to common questions about this code of conduct, see
76
+ https://www.contributor-covenant.org/faq
77
+
data/Gemfile CHANGED
@@ -5,29 +5,25 @@ source "https://rubygems.org"
5
5
  gemspec
6
6
 
7
7
  group :development do
8
- gem "coveralls", require: false
9
8
  gem "mocha", "~> 0.13.2"
9
+ gem "rack", ">= 2.0.6"
10
10
  gem "rake"
11
- gem "shoulda-context"
11
+
12
+ # Update to 2.0.0 once it ships.
13
+ gem "shoulda-context", "2.0.0.rc4"
14
+
12
15
  gem "test-unit"
13
- gem "timecop"
14
- gem "webmock"
16
+
17
+ # Version doesn't matter that much, but this one contains some fixes for Ruby
18
+ # 2.7 warnings that add noise to the test suite.
19
+ gem "webmock", ">= 3.8.0"
15
20
 
16
21
  # Rubocop changes pretty quickly: new cops get added and old cops change
17
22
  # names or go into new namespaces. This is a library and we don't have
18
23
  # `Gemfile.lock` checked in, so to prevent good builds from suddenly going
19
24
  # bad, pin to a specific version number here. Try to keep this relatively
20
25
  # up-to-date, but it's not the end of the world if it's not.
21
- gem "rubocop", "0.50.0"
22
-
23
- # Rack 2.0+ requires Ruby >= 2.2.2 which is problematic for the test suite on
24
- # older Ruby versions. Check Ruby the version here and put a maximum
25
- # constraint on Rack if necessary.
26
- if RUBY_VERSION >= "2.2.2"
27
- gem "rack", ">= 2.0.6"
28
- else
29
- gem "rack", ">= 1.6.11", "< 2.0" # rubocop:disable Bundler/DuplicatedGem
30
- end
26
+ gem "rubocop", "0.80"
31
27
 
32
28
  platforms :mri do
33
29
  gem "byebug"
data/Makefile ADDED
@@ -0,0 +1,7 @@
1
+ .PHONY: update-version codegen-format
2
+ update-version:
3
+ @echo "$(VERSION)" > VERSION
4
+ @perl -pi -e 's|VERSION = "[.\d]+"|VERSION = "$(VERSION)"|' lib/stripe/version.rb
5
+
6
+ codegen-format:
7
+ bundle exec rubocop -o /dev/null --auto-correct