feat(apps): add Stripe connector - #465
Open
biztex wants to merge 1 commit into
Open
Conversation
Secret or restricted key connection (Bearer) for api.stripe.com and files.stripe.com, with account metadata resolution and a permission catalog covering charges, payment intents, Connect accounts, payouts, disputes, refunds, customers, balance, and webhook events. Both the read and write umbrellas are true supersets of their groups, so the gate-all toggles are offered for the picker. Closes onecli#274
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I have read the CONTRIBUTING.md file.
YES
What kind of change does this PR introduce?
Feature — a new app connector. Closes #274.
What is the current behavior?
Stripe is not in the app catalog, so agents can only reach the Stripe API by handing them a raw secret key — exactly what the gateway exists to avoid. #274 asks for a connector covering charges/payment intents, Stripe Connect (accounts, onboarding status, payouts), disputes/refunds, and webhook event inspection.
What is the new behavior?
A Stripe connector following the existing api_key shape (cf. Resend / Fly.io):
sk_.../rk_...), stored encrypted and injected by the gateway as a Bearer token onapi.stripe.comandfiles.stripe.com(Stripe's file-upload host, same auth). The form nudges users toward restricted keys scoped to what their agent needs.GET /v1/account(dashboard display name → business profile name → email → account id). Non-fatal — restricted keys without Account read still connect.GET /v1/*read umbrella andPOST+DELETE /v1/*write umbrella are true supersets of their groups — the read- and write-wildcard coverage suites verify this (181 apps tests pass locally).AppProviderentry with Bearer host rules for both hosts, plus unit tests mirroring the Resend ones (providers_for_stripe_hosts,stripe_api_uses_bearer,stripe_files_host_uses_bearer).Additional context
labelHintsuggests "live" / "test" — the natural multi-account split for Stripe (test-mode vs live-mode keys as separate connections).