Stripe — data contract (compatible with Stripe’s documented schema; not affiliated with Stripe)
Stripe Charge object — core fields of an exported Stripe charge. Compatible with Stripe's API Charge object; not affiliated with Stripe.
Validate a client's Stripe export at ingest into your warehouse, or with POST /egress before sending the same shape to a partner, reverse ETL, or an AI agent.
Also available: ODCS v3.1.0 YAML. “Use this contract” forks it into your org, then opens the validation playground so you can upload the client file.
Fields
| Name | Type | Required | Rule | Description |
|---|---|---|---|---|
| id | string | required | pattern /^(ch|py)_[A-Za-z0-9]+$/ | Charge id. Card charges use the ch_ prefix. Some bank-debit charges and Connect payment objects returned by the Charges API use py_. Other Stripe prefixes do not belong on this field. |
| object | string | required | one of: charge | — |
| amount | integer | required | ≥ 0 | Amount intended to be collected, in the smallest currency unit (e.g. cents). |
| amount_captured | integer | optional | ≥ 0 | — |
| amount_refunded | integer | optional | ≥ 0 | — |
| currency | string | required | pattern /^[a-z]{3}$/ | Three-letter ISO currency code, lowercase. |
| customer | string | optional | pattern /^cus_[A-Za-z0-9]+$/ | — |
| description | string | optional | — | — |
| paid | boolean | required | — | — |
| refunded | boolean | required | — | — |
| captured | boolean | optional | — | — |
| status | string | required | one of: succeeded, pending, failed | The status of the payment. |
| created | integer | required | ≥ 0 | Time at which the object was created (Unix epoch seconds). |
| livemode | boolean | optional | — | — |
| receipt_email | string | optional | email format | — |
| payment_intent | string | optional | pattern /^pi_[A-Za-z0-9]+$/ | — |
Sample rows
Three synthetic rows we wrote. They validate against this contract with zero violations. No real customer data.
[
{
"amount": 4200,
"amount_captured": 4200,
"amount_refunded": 0,
"captured": true,
"created": 1731000000,
"currency": "usd",
"customer": "cus_Example0001",
"description": "Invoice INV-1001",
"id": "ch_3Oexample0001AbCdEfGh",
"livemode": false,
"object": "charge",
"paid": true,
"payment_intent": "pi_3Oexample0001",
"receipt_email": "customer@example.com",
"refunded": false,
"status": "succeeded"
},
{
"amount": 1599,
"amount_captured": 0,
"amount_refunded": 0,
"captured": false,
"created": 1731003600,
"currency": "eur",
"description": "Pending subscription charge",
"id": "py_3Oexample0002IjKlMnOp",
"object": "charge",
"paid": false,
"refunded": false,
"status": "pending"
},
{
"amount": 9900,
"amount_captured": 9900,
"amount_refunded": 9900,
"captured": true,
"created": 1731090000,
"currency": "gbp",
"customer": "cus_Example0003",
"description": "Refunded order 5582",
"id": "ch_3Oexample0003QrStUvWx",
"object": "charge",
"paid": true,
"receipt_email": "refunds@example.com",
"refunded": true,
"status": "succeeded"
}
]Provenance
- Verified against
- https://docs.stripe.com/api/charges/object
- Checked
- 2026-11-06
- Version
- v1.0
- Author
- DataContractGate
- License
- MIT
Spotted a mismatch with the vendor’s current schema? Report an issue.
Stripe, Shopify, QuickBooks, Xero, HubSpot, Salesforce, Google Analytics and Square are trademarks of their respective owners. DataContractGate is not affiliated with or endorsed by them. These contracts describe data shaped like these vendors’ documented schemas; they are not official and are not certified by any vendor.