Webhooks for refunds
When a refund is initiated by DoorDash, a merchant / developer, a customer, or a Dasher, a refund webhook will be fired.
API: Drive (classic)
This doc covers the Drive (classic) API. If you're using the Drive API, see the reference guide for Drive refund webhooks.
The refund webhook may contain item-level information if the issue is related to missing or incorrect items. Only deliveries that include information about the items in the delivery (via the items
field are eligible for item-level refunds.
Refunds may be provided as an amount or a percentage.
Fields
event data | Type | Description |
---|---|---|
reason | String | Reason for the refund of the delivery |
reason_comments | String | Reason details |
amount | Int | Total refund back to merchant |
currency_code | String | 3 digit currency code |
amount_details | Object | An object with the details of the refund amounts/percentages |
customer_refund_details | String | An object with the details of the refund amounts/percentages (only for support-as-a-service (SaaS) merchants) |
amount_details object data | Type | Description |
---|---|---|
order_value | Int | |
tip | Int | |
delivery_charge | Int | |
additional_amount | Int | |
items | Object | An object with the details of the individual items and any applicable refunds |
items object data | Type | Description |
---|---|---|
name | String | |
barcode | String | |
quantity | Int | |
external_id | String | |
amount | Int | |
reason | String | |
reason_comment | String |
Example payloads
Refund with amount
{
"event_data": {
"reason": "item_level_refund",
"reason_comments": "",
"amount": "0",
"currency_code": "USD",
"amount_details": {
"order_value": 0,
"tip": 0,
"delivery_charge": 0,
"additional_amount": 0,
"items": [
{
"name": "Chicken burrito with extra chicken",
"barcode": "12342830041",
"quantity": 1,
"external_id": "123-123443434b",
"amount": 0,
"reason": "missing_incorrect_item",
"reason_comment": "item_level_missing"
}
]
},
"order_details": {
"order_value": 2500,
"tip": 300,
"delivery_charge": 599
},
"customer_refund_details": {
"itemRefunds": {
"items": [
{
"name": "Chicken burrito with extra chicken",
"barcode": "12342830041",
"quantity": 1,
"external_id": "123-123443434b",
"amount": 850
}
]
}
}
}
}
Refund with percentage
{
"event_data": {
"reason": "delivered_late",
"reason_comments": "order_ready_dasher_late_time_period_1",
"amount": "750",
"currency_code": "USD",
"amount_details": {
"order_value": 750,
"tip": 0,
"delivery_charge": 0,
"additional_amount": 0
},
"order_details": {
"order_value": 5000,
"tip": 200,
"delivery_charge": 599
},
"customer_refund_details": {
"percentageRefunds": {
"order_value_percent": 15,
"tip_percent": 0,
"delivery_charge_percent": 0
}
}
}
}