1513 Commits

Author SHA1 Message Date
Richard Marmorstein
f59ba8cae0
Add billing portal configuration (#965) 2021-02-19 20:32:33 -05:00
Brandur
512f5464d0 Bump version to 5.29.1 v5.29.1 2021-02-09 09:51:31 -08:00
Brandur
c28ee66a14
Fix return value of Customer#delete_discount (#964)
`Customer#delete_discount` has been broken for some time in that it
tries to re-initialize `self` (which is a customer) with a received
discount response. This is incorrect and leads to various problems.

Here, we redefine the return value of `delete_discount` as a discount,
and have it no longer mutate the object on which is was called. We add a
comment as well just to help flag some of the behavior which could
potentially be confusing.

Fixes #963.
2021-02-09 09:50:07 -08:00
CJ Avilla
de27275ee6
Add playlist links into README (#959)
* Update readme

* Add link to YouTube playlist from README
2021-01-12 16:34:41 -08:00
Brandur
7d460450cc Bump version to 5.29.0 v5.29.0 2021-01-05 13:38:23 -08:00
Joel Taylor
06bcc863b0
Allow client_id configuration on instance config (#952)
It's necessary to allow `client_id` to be configured in order to move
towards supporting `StripeClient` instances.
2021-01-05 13:35:46 -08:00
Brandur
9787913b35 Bump version to 5.28.0 v5.28.0 2020-10-14 11:44:42 -07:00
Bart de Water
085e08142d
Allow setting write_timeout for connections on Ruby 2.6+ (#950) 2020-10-14 11:43:32 -07:00
Remi Jannel
259cd1ce9c Bump version to 5.27.0 v5.27.0 2020-10-14 07:56:33 -07:00
remi-stripe
db24334b9e
Add support for the Payout Reverse API (#951)
* Codegen for openapi 4bd4c01

* Add test
2020-10-14 07:51:16 -07:00
Remi Jannel
f3b83f132e Bump version to 5.26.0 v5.26.0 2020-09-29 22:55:27 -07:00
remi-stripe
29f321b224
Add support for the SetupAttempt resource and List API (#949)
* Codegen for openapi 3854362

* Fix and add tests
2020-09-29 22:54:58 -07:00
Olle Jonsson
eb84249205
CI: Drop unused sudo: false Travis directive (#947) 2020-09-24 10:16:41 -07:00
Remi Jannel
0620436d63 Bump version to 5.25.0 v5.25.0 2020-09-02 13:57:09 -07:00
remi-stripe
683b10140e
Add support for the Issuing Dispute Submit API (#944)
* Codegen for openapi 474461f

* Add and fix tests for the latest stripe-mock

Some of the tests had to be changed/mocked because stripe-mock has a bug
where the includable sub-lists it returns have the wrong url set.
Because of this, when you call create/list/etc. on one of those sub-lists
the calls fails due to that URL being incorrect.
Moved one test to use charge+refund (auto-expanded) and another used a
mock to have the right URL returned.
2020-09-02 13:56:24 -07:00
CJ Avilla
e1ae307e60
Update readme (#942) 2020-08-31 15:11:13 -07:00
Brandur
5d9039731b Bump version to 5.24.0 v5.24.0 2020-08-26 13:01:23 -07:00
Joel Taylor
23a0ee2dbe
Extract configurations into separate object (#939)
Adds a `Stripe::StripeConfiguration` object to manage internal and user
supplied configuration options.

This is primarily motivated by #921 in order to provide a way to set
options on for an instance of `StripeClient`.
2020-08-26 12:58:59 -07:00
brchristian
c517a708d5
Fix typo in documentation of stripe_object.rb (#940) 2020-08-16 16:53:15 -07:00
Brandur
8710fcaddc Bump version to 5.23.1 v5.23.1 2020-08-05 16:01:36 -07:00
Brandur
3433130c5d
Rename API resource's request method (#936)
As seen in #928, the `refresh` method doesn't work for an event class.
This is because event has a field called `request`, and it ends up
replacing the `request` method that it inherited from being an API
resource, so when `refresh` tries to make a request, it fails because it
tries to invoke it on the accessor added for the event's property.

Here we give `request` a much more unique name so that it will never
conflict with a property field again, and update all internal references
to use the new name. We use `alias` to make the old name available for
backwards compatibility reasons because its been around for so long that
people are probably calling it.

Fixes #928.
2020-08-05 16:00:37 -07:00
Remi Jannel
5573a73337 Bump version to 5.23.0 v5.23.0 2020-08-05 12:36:13 -07:00
remi-stripe
cf8b2c5e84
Add support for the PromotionCode resource and APIs (#937)
* Codegen for openapi f71053e

* Add tests
2020-08-05 12:33:47 -07:00
Joel Taylor
f240405810
Update minimum stripe-mock version to 0.94.0 (#935)
The params for AccountLink changed in `v0.93.0`, which will cause the
test suite to fail unless `stripe-mock` is pinned to an earlier version.

Fixes #934
2020-07-31 16:44:01 -07:00
Christopher
9cf59214f3
Adding comment to show which files are generated (#931) 2020-07-22 14:30:18 -07:00
Remi Jannel
403f9b22f6 Bump version to 5.22.0 v5.22.0 2020-05-11 17:11:40 -07:00
remi-stripe
cfac8d7fcc
Add support for the LineItem resource and APIs (#918) 2020-05-11 17:10:41 -07:00
Remi Jannel
4c5b67bce0 Bump version to 5.21.0 v5.21.0 2020-04-29 12:45:58 -07:00
remi-stripe
622db9d9e7
Add support for the Price resource and APIs (#917)
* Codegen for openapi f75fd88

* Fix test suite
2020-04-29 12:41:35 -07:00
Brandur
07f58cad01 Bump version to 5.20.0 v5.20.0 2020-04-27 14:37:36 -07:00
Brandur
58fdde1289
Add new .generate_header method for webhooks (#916)
Adds a new `generate_header` method for the webhooks module, following
up #915. This method doesn't help in any way with webhook verification,
but may be useful to users in their test suites as it allows them to
easily simulate the contents of a header that Stripe might have sent.

We briefly discussed an alternative design here, but this one seems like
the best fit:
https://github.com/stripe/stripe-ruby/pull/915#issuecomment-620164654
2020-04-27 14:36:53 -07:00
Brandur
325ff57928 Fix version in CHANGELOG 2020-04-24 11:00:46 -07:00
Brandur
49477fa250 Bump version to 5.19.0 v5.19.0 2020-04-24 10:59:14 -07:00
Brandur
e117c9fb6d
Expose Stripe::Webhook.compute_signature (#915)
Exposes the `.compute_signature` method, which may be useful when
testing webhook signing in test suites.

I change the API slightly so that a caller isn't forced to do as much
string mangling, and to match the one that we already have in stripe-go:

``` go
func ComputeSignature(t time.Time, payload []byte, secret string) []byte {
```

Add basic documentation and test case. I also change a few things around
so that we send `Time` objects around more often where applicable, and
don't change then to Unix integers until the last moment that we need
to.

The one other alternative API I considered is this one, which would
default the timestamp to the current time to allow the method to be
called with one fewer arg:

``` ruby
def self.compute_signature(payload, secret: timestamp: Time.now)
```

I decided against it in the end though because it does remove some
explicitness, and it's not a big deal to just pass in `Time.now`,
especially given that this is not expected to be a commonly used method.

Fixes #912.
2020-04-24 10:58:42 -07:00
Remi Jannel
1b68611edc Bump version to 5.18.0 v5.18.0 2020-04-22 12:10:16 -07:00
remi-stripe
b8c01be32d
Add support for BillingPortal namespace and Session resource and APIs (#911) 2020-04-22 12:09:02 -07:00
Brandur
0508aa92ee
Lock shoulda-context to 2.0.0rc4 (#910)
Minor changes that locks us on the 2.0.0 release candidate for
`shoulda-context`. This makes almost no difference to our test suite
except that it removes a long-standing warning for an assigned but
unused variable (which is our last warning!).

See more context here:
https://github.com/thoughtbot/shoulda-context/issues/57#issuecomment-610702695

Co-authored-by: Brandur <brandur@brandur.org>
2020-04-07 21:03:28 -07:00
Brandur
1a20c2476d Bump version to 5.17.0 v5.17.0 2020-02-26 16:53:50 -08:00
Brandur
f7923f7b47
Add StripeError#idempotent_replayed? (#907)
Adds an easy accessor on `StripeError` which indicates whether the error
occurred previously, but was replayed on this request because the user
passed the same idempotency key as that original request.

Fixes #905.
2020-02-26 16:53:02 -08:00
Olivier Bellone
de40bbf232
Bump version to 5.16.0 v5.16.0 2020-02-26 12:53:11 -08:00
Olivier Bellone
1bd015ea4a
Codegen for openapi 40a20cd (#906) 2020-02-26 12:51:52 -08:00
Brandur
554f18b850
Upgrade to Rubocop 0.80 (#903)
Just noticed that a new version of Rubocop came out today. The upgrade
seemed relatively painless, so just went for it.
2020-02-18 10:41:55 -08:00
Brandur
69e19fa6bd Correct available fields for request_begin 2020-02-11 13:42:17 -08:00
Brandur
c1520fb208 Bump version to 5.15.0 v5.15.0 2020-02-10 14:23:43 -08:00
Brandur
81407b6807
Add request_begin instrumentation callback (#902)
Adds a new instrumentation callback called `request_begin` which, as the
name suggests, is invoked before an HTTP request is dispatched. As
outlined originally in #900, the idea is that this will enable a set of
hooks that can be used for distributed tracing.

The PR also renames the existing `request` callback to `request_end`,
although the old name is still invoked for the time being for backwards
compatibility.

A special `user_data` property is passed to `request_begin` which allows
subscribers to set custom data that will be passed through to
`request_end` for any given request. This allows, for example, a user
assigned ID to be set for the request and recognized on both ends.

I chose the naming `_begin` and `_end` (as opposed to start/finish or
any other combination) based on the naming conventions of Ruby itself.

Fixes #900.
2020-02-10 14:22:58 -08:00
remi-stripe
7182ae0f8b
Move code examples from charge to customer and remove save mention (#899) 2020-01-27 10:09:39 -08:00
Brandur
dcb503dc71
Bump minimum version of webmock to 3.8.0 (#897)
Bumps the minimum version of webmock to 3.8.0 which contains a fix for a
Ruby 2.7 warning. This last change makes the whole project completely
warning-free!

Co-authored-by: Brandur <brandur@brandur.org>
2020-01-15 13:43:02 -08:00
Remi Jannel
c62344a70b Bump version to 5.14.0 v5.14.0 2020-01-14 08:20:34 -08:00
remi-stripe
368f534bce
Codegen for openapi d663cdb (#896) 2020-01-14 08:17:44 -08:00
Brandur
fd71c5f50f Clean up test output by capturing $stderr when we expect warnings (#894)
I just noticed while running tests that we produce some accidental
output because both of `Source#source_transactions` and
`SubscriptionItem#usage_record_summaries` are considered deprecated and
have warnings attached.

Here we capture output to `$stderr` and assert on it from the test cases
that call these deprecated methods -- this pattern is already well
established elsewhere in the test suite.
2020-01-09 16:57:39 -08:00