---
type: integration
title: Stripe
description: Third-party payment provider used by the Payments Service for card charges.
tags: [integration]
provider: stripe.com
timestamp: {{DATE}}
---
<!-- ✂ docujoint template sample — replace with your own content, then delete this comment. -->
# Stripe

## Purpose
The only external payment provider. Reached exclusively from
[Payments Service](</Services/Payments Service.md>) — apps never call Stripe
directly, so keys and webhook verification live in one place.

## Endpoints
The subset of the provider's API this system depends on:

| Method | Path | Purpose | Auth |
|--------|------|---------|------|
| POST | /v1/payment_intents | Create a charge | secret key |
| POST | /v1/refunds | Refund a charge | secret key |

## Failure modes
- Provider timeouts are retried by the Payments Service with the same
  idempotency key; buyers never see a double charge.
- Webhook signature failures are dropped and alerted — never processed.

## Open questions
