# collab: Introduce \`StripeClient\` trait to abstract over Stripe interactions \(\#31615\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/361ceee72b6498bbb48726c4d14a026a81482bfb)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 361ceee72b6498bbb48726c4d14a026a81482bfb

Requested commit: 361ceee72b6498bbb48726c4d14a026a81482bfb

Commit: 361ceee72b6498bbb48726c4d14a026a81482bfb

Tree: 834ef5c04d09b2e4b3ebb80d5b85bbd0bac498db

Author: Marshall Bowers

Committer: GitHub

## Message

```
collab: Introduce `StripeClient` trait to abstract over Stripe interactions (#31615)

This PR introduces a new `StripeClient` trait to abstract over
interacting with the Stripe API.

This will allow us to more easily test our billing code.

This initial cut is small and focuses just on making
`StripeBilling::find_or_create_customer_by_email` testable. I'll follow
up with using the `StripeClient` in more places.

Release Notes:

- N/A
```

## Parents

- [68724ea99edbb38a476206f805b3dfb4e8e33de9](https://git.cafe/gitcafe/zed/commit/68724ea99edbb38a476206f805b3dfb4e8e33de9?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/361ceee72b6498bbb48726c4d14a026a81482bfb?format=markdown)
