DX Audit app / stripe
demo
minor open stripe:no-delete-test-objects

No API endpoint to delete PaymentIntents, Charges, or Prices in test mode

Both models deleted the test customer and deactivated the product and price. PaymentIntents, Charges, and Prices remained as retrievable records because the API does not expose hard-delete methods for them. The Dashboard offered a bulk "Delete all test data" action with no API equivalent observed in the audit. Immutable ledger records and price deactivation are intentional lifecycle contracts, and the requested operational cleanup succeeded. The remaining minor gap is narrower: an API-only test workflow could not reset the test environment to an empty state. A safeguarded test-data reset endpoint or disposable Sandbox lifecycle would support deterministic automated teardown.

How can I reproduce this?

Requires: Stripe account with a test-mode secret key (sk_test_...)

  1. Create a PaymentIntent: curl https://api.stripe.com/v1/payment_intents -u sk_test_...: -d amount=1000 -d currency=usd. Note the returned id.
  2. Attempt to delete it: curl -X DELETE https://api.stripe.com/v1/payment_intents/{id} -u sk_test_...:
  3. Repeat for a Price: create a product, then a price, then attempt DELETE /v1/prices/{id}.

Expected: Both DELETE attempts return HTTP 404 "Unrecognized request URL" because the method is not registered. Available lifecycle operations such as cancel or active=false leave the test records retrievable.

Evidence · transcript moments

Opus Audit run

Show all 3

Sonnet Audit run

Show all 4