Report a payment attempt ​
Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed.
Returns ​
The updated Payment Record object with a new latest_payment_attempt_record, or an error (for example, if the Payment Record already has funds guaranteed).
Parameters ​
id(string, required) The ID of the Payment Record.initiated_at(timestamp, required) When the reported payment was initiated. Measured in seconds since the Unix epoch.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.
payment_method_details(object, optional) 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.
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/pr_5RV730PrHyAEi/report_payment_attempt \
-u "<<YOUR_SECRET_KEY>>" \
-d initiated_at=1730253425Response ​
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_345kjsi8WE",
"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
}