{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://stripe.com/schemas/charge", "title": "Stripe Charge", "description": "The Charge object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way to create Charges.", "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the object.", "pattern": "^ch_" }, "object": { "type": "string", "const": "charge", "description": "String representing the object's type." }, "amount": { "type": "integer", "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit." }, "amount_captured": { "type": "integer", "description": "Amount in cents captured." }, "amount_refunded": { "type": "integer", "description": "Amount in cents refunded." }, "application": { "type": ["string", "null"], "description": "ID of the Connect application that created the charge." }, "application_fee": { "type": ["string", "null"], "description": "The application fee (if any) for the charge." }, "application_fee_amount": { "type": ["integer", "null"], "description": "The amount of the application fee (if any) requested for the charge." }, "balance_transaction": { "type": ["string", "null"], "description": "ID of the balance transaction that describes the impact of this charge on your account balance." }, "billing_details": { "type": "object", "description": "Billing information associated with the payment method at the time of the transaction.", "properties": { "address": { "type": ["object", "null"], "properties": { "city": { "type": ["string", "null"] }, "country": { "type": ["string", "null"] }, "line1": { "type": ["string", "null"] }, "line2": { "type": ["string", "null"] }, "postal_code": { "type": ["string", "null"] }, "state": { "type": ["string", "null"] } } }, "email": { "type": ["string", "null"] }, "name": { "type": ["string", "null"] }, "phone": { "type": ["string", "null"] } } }, "calculated_statement_descriptor": { "type": ["string", "null"], "description": "The full statement descriptor that is passed to card networks." }, "captured": { "type": "boolean", "description": "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured." }, "created": { "type": "integer", "description": "Time at which the object was created." }, "currency": { "type": "string", "description": "Three-letter ISO currency code, in lowercase." }, "customer": { "type": ["string", "null"], "description": "ID of the customer this charge is for if one exists." }, "description": { "type": ["string", "null"], "description": "An arbitrary string attached to the object." }, "disputed": { "type": "boolean", "description": "Whether the charge has been disputed." }, "failure_balance_transaction": { "type": ["string", "null"], "description": "ID of the balance transaction that describes the reversal of the balance on your account due to payment failure." }, "failure_code": { "type": ["string", "null"], "description": "Error code explaining reason for charge failure." }, "failure_message": { "type": ["string", "null"], "description": "Message to user further explaining reason for charge failure." }, "fraud_details": { "type": ["object", "null"], "description": "Information on fraud assessments for the charge." }, "invoice": { "type": ["string", "null"], "description": "ID of the invoice this charge is for if one exists." }, "livemode": { "type": "boolean", "description": "Has the value true if the object exists in live mode." }, "metadata": { "type": "object", "description": "Set of key-value pairs that you can attach to an object.", "additionalProperties": { "type": "string" } }, "on_behalf_of": { "type": ["string", "null"], "description": "The account (if any) the charge was made on behalf of." }, "outcome": { "type": ["object", "null"], "description": "Details about whether the payment was accepted and why.", "properties": { "network_status": { "type": ["string", "null"] }, "reason": { "type": ["string", "null"] }, "risk_level": { "type": ["string", "null"] }, "risk_score": { "type": ["integer", "null"] }, "rule": { "type": ["string", "object", "null"] }, "seller_message": { "type": ["string", "null"] }, "type": { "type": "string" } } }, "paid": { "type": "boolean", "description": "true if the charge succeeded, or was successfully authorized for later capture." }, "payment_intent": { "type": ["string", "null"], "description": "ID of the PaymentIntent associated with this charge, if one exists." }, "payment_method": { "type": ["string", "null"], "description": "ID of the payment method used in this charge." }, "payment_method_details": { "type": ["object", "null"], "description": "Details about the payment method at the time of the transaction." }, "receipt_email": { "type": ["string", "null"], "description": "This is the email address that the receipt for this charge was sent to." }, "receipt_number": { "type": ["string", "null"], "description": "This is the transaction number that appears on email receipts sent for this charge." }, "receipt_url": { "type": ["string", "null"], "description": "This is the URL to view the receipt for this charge." }, "refunded": { "type": "boolean", "description": "Whether the charge has been fully refunded." }, "refunds": { "type": "object", "description": "A list of refunds that have been applied to the charge." }, "review": { "type": ["string", "null"], "description": "ID of the review associated with this charge if one exists." }, "shipping": { "type": ["object", "null"], "description": "Shipping information for the charge." }, "source": { "type": ["object", "null"], "description": "This is a legacy field that will be removed in the future." }, "source_transfer": { "type": ["string", "null"], "description": "The transfer ID which created this charge." }, "statement_descriptor": { "type": ["string", "null"], "description": "For card charges, use statement_descriptor_suffix." }, "statement_descriptor_suffix": { "type": ["string", "null"], "description": "Provides information about the charge that customers see on their statements." }, "status": { "type": "string", "description": "The status of the payment.", "enum": ["failed", "pending", "succeeded"] }, "transfer_data": { "type": ["object", "null"], "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge." }, "transfer_group": { "type": ["string", "null"], "description": "A string that identifies this transaction as part of a group." } }, "required": [ "id", "object", "amount", "amount_captured", "amount_refunded", "billing_details", "captured", "created", "currency", "disputed", "livemode", "metadata", "paid", "refunded", "status" ] }