Prove that the refund reached the succeeded state. A Refund object does not prove that money moved. This contract proves the succeeded state on the refund resource and a refund.updated event that carries it.

Contract identity.
FactValue
Contract idstripe.refund.succeeded
Version1.0.0
Hash71492f92a1aa22d3
Completion levelsucceeded
PublisherBuilt and signed by Provely.
CertificationOfficial
SkillStripe 0.1.0
Valid for provider API versions2026-08-26

What is the intent?

Refund the charge to the customer.

What is the subject and the action?

MemberValue
Subject typestripe.refund
Canonical effectmoney.refund
Provider operationPOST /v1/refunds
Idempotencyidempotency_key through Idempotency-Key, retry is safe

Which false successes give CONTRADICTED?

  • duplicate side effect
  • pre existing state
  • wrong amount
  • wrong subject

The signed contract states the exact conditions, the evidence and the timing. The runtime reads them. The page states the promise.

Where do these rules come from?

  • stripe.openapi#/paths/~1v1~1refunds/post: stripe.openapi, retrieved 2026-09-05
  • stripe.openapi#/components/schemas/refund/properties/status: stripe.openapi, retrieved 2026-09-05
  • stripe.docs.refunds#refunds/p1: stripe.docs.refunds, retrieved 2026-09-05
  • stripe.docs.refunds#refunds/refund-status/p3: stripe.docs.refunds, retrieved 2026-09-05
  • stripe.openapi#/components/schemas/refund/properties/amount: stripe.openapi, retrieved 2026-09-05
  • stripe.openapi#/components/schemas/refund/properties/created: stripe.openapi, retrieved 2026-09-05
  • stripe.events#/events/refund.updated: stripe.events, retrieved 2026-09-05
  • stripe.openapi#/components/schemas/notification_event_data/properties/object: stripe.openapi, retrieved 2026-09-05
  • stripe.docs.refunds#refunds/events/p2: stripe.docs.refunds, retrieved 2026-09-05

Can stripe.refund.succeeded return VERIFIED from the action response alone?

No. The action response is E1, and an acknowledgement is never terminal success. The contract needs evidence of level E2 or higher from Stripe.

What happens after the timeout?

The verdict is UNVERIFIABLE. The operation goes to a person for review.