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.

Parameters

  • amount_requestedobjectRequired

    The amount you initially requested for this payment.

  • initiated_attimestampRequired

    When the reported payment was initiated. Measured in seconds since the Unix epoch.

  • payment_method_detailsobjectRequired

    Information about the Payment Method debited for this payment.

  • customer_detailsobject

    Customer information for this payment.

  • customer_presenceenum

    Indicates whether the customer was present in your checkout flow during this payment.

    Possible enum values
    off_session

    The customer was not present during the transaction.

    on_session

    The customer was present during the transaction.

  • descriptionstring

    An arbitrary string attached to the object. Often useful for displaying to users.

  • failedobject

    Information about the payment attempt failure.

  • guaranteedobject

    Information about the payment attempt guarantee.

  • metadataobject

    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 to metadata.

  • outcomeenum

    The outcome of the reported payment.

    Possible enum values
    failed

    The payment failed.

    guaranteed

    The payment was guaranteed.

  • processor_detailsobjectRequired

    Processor information for this payment.

  • shipping_detailsobject

    Shipping information for this payment.

Returns

The newly created Payment Record.

POST /v1/payment_records/report_payment
curl https://api.stripe.com/v1/payment_records/report_payment \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-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[custom][type]"=cpmt_125kjj3hn3sdf \
-d "payment_method_details[payment_method]"=pm_5j23kjksibjlks \
-d "payment_method_details[type]"=custom
Response
{
"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": "cpmt_125kjj3hn3sdf"
},
"payment_method": "pm_5j23kjksibjlks",
"type": "custom"
},
"processor_details": {
"type": "custom",
"custom": {
"payment_reference": "npp2358872734k"
}
},
"shipping_details": null
}

Report a refund 

Report that the most recent payment attempt on the specified Payment Record was refunded.

Parameters

  • idstringRequired

    The ID of the Payment Record.

  • outcomeenumRequired

    The outcome of the reported refund.

    Possible enum values
    refunded

    The payment was refunded.

  • processor_detailsobjectRequired

    Processor information for this refund.

  • refundedobjectRequired

    Information about the payment attempt refund.

  • amountobject

    A positive integer in the smallest currency unit representing how much of this payment to refund. Can refund only up to the remaining, unrefunded amount of the payment.

  • initiated_attimestamp

    When the reported refund was initiated. Measured in seconds since the Unix epoch.

  • metadataobject

    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 to metadata.

Returns

The updated Payment Record object with its most recent payment attempt refunded.

POST /v1/payment_records/:id/report_refund
curl https://api.stripe.com/v1/payment_records/pr_5RV730PrHyAEi/report_refund \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-d "processor_details[type]"=custom \
-d "processor_details[custom][refund_reference]"=refund_12345 \
-d outcome=refunded \
-d "refunded[refunded_at]"=1730253453 \
-d "amount[currency]"=usd \
-d "amount[value]"=1000 \
-d initiated_at=1730253450
Response
{
"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": 1000
},
"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": "cpmt_125kjj3hn3sdf"
},
"payment_method": "pm_5j23kjksibjlks",
"type": "custom"
},
"processor_details": {
"type": "custom",
"custom": {
"payment_reference": "npp2358872734k"
}
},
"shipping_details": null
}