Report a payment ​
Report a new Payment Record. You may report a Payment Record as it is initialized and later report updates through the other report_* methods, or report Payment Records in a terminal state directly, through this method.
Returns ​
The newly created Payment Record.
Parameters ​
amount_requested(object, required) The amount you initially requested for this payment.amount_requested.currency(enum, required) Three-letter ISO currency code, in lowercase. Must be a supported currency.amount_requested.value(integer, required) A positive integer representing the amount in the currency’s minor unit. For example,100can represent 1 USD or 100 JPY.
initiated_at(timestamp, required) When the reported payment was initiated. Measured in seconds since the Unix epoch.payment_method_details(object, required) Information about the Payment Method debited for this payment.payment_method_details.billing_details(object, optional) The billing details associated with the method of payment.payment_method_details.billing_details.address(object, optional) The billing address associated with the method of payment.payment_method_details.billing_details.address.city(string, optional) City, district, suburb, town, or village.payment_method_details.billing_details.address.country(string, optional) Two-letter country code (ISO 3166-1 alpha-2).payment_method_details.billing_details.address.line1(string, optional) Address line 1, such as the street, PO Box, or company name.payment_method_details.billing_details.address.line2(string, optional) Address line 2, such as the apartment, suite, unit, or building.payment_method_details.billing_details.address.postal_code(string, optional) ZIP or postal code.payment_method_details.billing_details.address.state(string, optional) State, county, province, or region (ISO 3166-2).
payment_method_details.billing_details.email(string, optional) The billing email associated with the method of payment.The maximum length is 800 characters.
payment_method_details.billing_details.name(string, optional) The billing name associated with the method of payment.payment_method_details.billing_details.phone(string, optional) The billing phone number associated with the method of payment.
payment_method_details.custom(object, optional) Information about the custom (user-defined) payment method used to make this payment.payment_method_details.custom.display_name(string, optional) Display name for the custom (user-defined) payment method type used to make this payment.payment_method_details.custom.type(string, optional) The custom payment method type associated with this payment.
payment_method_details.payment_method(string, required unless type is provided) ID of the Stripe Payment Method used to make this payment.payment_method_details.type(enum, required unless payment_method is provided) The type of the payment method details. An additional hash is included on the payment_method_details with a name matching this value. It contains additional information specific to the type. Possible enum values:customA custom payment method that is not included in Stripe’s standard payment method types. This allows you to report payments processed through external payment processors or custom integrations.
customer_details(object, optional) Customer information for this payment.customer_details.customer(string, optional) The customer who made the payment.customer_details.email(string, optional) The customer’s phone number.The maximum length is 800 characters.
customer_details.name(string, optional) The customer’s name.customer_details.phone(string, optional) The customer’s phone number.
customer_presence(enum, optional) Indicates whether the customer was present in your checkout flow during this payment. Possible enum values:off_sessionThe customer was not present during the transaction.on_sessionThe customer was present during the transaction.
description(string, optional) An arbitrary string attached to the object. Often useful for displaying to users.failed(object, optional) Information about the payment attempt failure.failed.failed_at(timestamp, required) When the reported payment failed. Measured in seconds since the Unix epoch.
guaranteed(object, optional) Information about the payment attempt guarantee.guaranteed.guaranteed_at(timestamp, required) When the reported payment was guaranteed. Measured in seconds since the Unix epoch.
metadata(object, optional) Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value tometadata.outcome(enum, optional) The outcome of the reported payment. Possible enum values:failedThe payment failed.guaranteedThe payment was guaranteed.
processor_details(object, required) Processor information for this payment.processor_details.type(enum, required) The type of the processor details. An additional hash is included on processor_details with a name matching this value. It contains additional information specific to the processor. Possible enum values:customA custom payment processor that is not included in Stripe’s standard processor types. This allows you to report payments processed through external payment processors or custom integrations.
processor_details.custom(object, optional) Information about the custom processor used to make this payment.processor_details.custom.payment_reference(string, required) An opaque string for manual reconciliation of this payment, for example a check number or a payment processor ID.
shipping_details(object, optional) Shipping information for this payment.shipping_details.address(object, optional) The physical shipping address.shipping_details.address.city(string, optional) City, district, suburb, town, or village.shipping_details.address.country(string, optional) Two-letter country code (ISO 3166-1 alpha-2).shipping_details.address.line1(string, optional) Address line 1, such as the street, PO Box, or company name.shipping_details.address.line2(string, optional) Address line 2, such as the apartment, suite, unit, or building.shipping_details.address.postal_code(string, optional) ZIP or postal code.shipping_details.address.state(string, optional) State, county, province, or region (ISO 3166-2).
shipping_details.name(string, optional) The shipping recipient’s name.shipping_details.phone(string, optional) The shipping recipient’s phone number.
curl
curl https://api.stripe.com/v1/payment_records/report_payment \
-u "<<YOUR_SECRET_KEY>>" \
-d "amount_requested[currency]=usd" \
-d "amount_requested[value]=1000" \
-d customer_presence=on_session \
-d "description=computer software" \
-d initiated_at=1730253453 \
-d "payment_method_details[custom][display_name]=newpay" \
-d "payment_method_details[type]=custom" \
-d "processor_details[type]=custom" \
-d "processor_details[custom][payment_reference]=npp2358872734k"Response ​
json
{
"id": "pr_5RV730PrHyAEi",
"object": "payment_record",
"amount_canceled": {
"currency": "usd",
"value": 0
},
"amount_failed": {
"currency": "usd",
"value": 0
},
"amount_guaranteed": {
"currency": "usd",
"value": 0
},
"amount_refunded": {
"currency": "usd",
"value": 0
},
"amount_requested": {
"currency": "usd",
"value": 1000
},
"created": 1730211363,
"customer_details": null,
"customer_presence": "on_session",
"description": "computer software",
"latest_payment_attempt_record": "par_1ArV730PrHyQuG",
"livemode": true,
"metadata": {},
"payment_method_details": {
"billing_details": null,
"custom": {
"display_name": "newpay",
"type": "custom"
},
"payment_method": null,
"type": "custom"
},
"processor_details": {
"type": "custom",
"custom": {
"payment_reference": "npp2358872734k"
}
},
"shipping_details": null
}