night-owl-mw2e4m2b251@example.com charged $64.00 twice for cart cart-29737
- Status
- Needs you
- At risk
- $64.00
- Detected (detector clock)
- 2026-12-01 17:29
Diagnosis
AI agent (anthropic/claude-haiku-5.5)Your customer night-owl-mw2e4m2b251@example.com was charged $64.00 twice for the same box (cart-29737), 20 seconds apart, on November 4. PayPal shows both payments as completed, and neither order has been shipped. If nothing is done, the customer will see two charges on their card and is likely to file a dispute, and you would pay for it.
Decisions
The agent proposes, the policy gate decides, the executor calls PayPal.
Ask the owner
Waiting for youAgent proposed
Both orders are unshipped, so the refund and the choice of which order to fulfil both need the owner's decision.
Note: Customer night-owl-mw2e4m2b251@example.com was charged $64.00 twice for cart-29737: capture 1HD58269ND587632F (order 9HY61647ED317240C, 17:28:48) and capture 7SP25361G7651073R (order 38J03569L33365716, 17:29:08). Neither order has shipped. Do you want to
Policy said
Needs approval- The agent asked for a human decision.
PayPal returned
No PayPal call for this action.
Refund capture
$64.007SP25361G7651073RWaiting for youAgent proposed
The second capture is an exact duplicate of the first for the same cart, so refunding it returns the extra $64.00 to the customer and prevents a dispute.
Note: Hi, we noticed you were charged twice for the same box. We are refunding the duplicate $64.00 charge.
Policy said
Needs approval- Refunds send money back to the buyer and cannot be reversed, so the owner approves every one.
PayPal returned
Not called yet.
Exact API call (PayPal-Request-Id ns-55ecb46631bd5d95905aaef9140dbab8)
{
"amount": {
"currency_code": "USD",
"value": "64.00"
},
"note_to_payer": "Hi, we noticed you were charged twice for the same box. We are refunding the duplicate $64.00 charge."
}Edited amounts go back through the policy gate before anything is sent to PayPal.
Evidence
Captures 1HD58269ND587632F (order 9HY61647ED317240C) and 7SP25361G7651073R (order 38J03569L33365716) charged the same payer $64.00 for the same cart reference cart-29737 20 seconds apart. A buyer who sees two charges files a dispute.
- payer
- night-owl-mw2e4m2b251@example.com
- cart ref
- cart-29737
- amount
- $64.00
- first capture id
- 1HD58269ND587632F
- first order id
- 9HY61647ED317240C
- first captured at
- 2026-11-04T17:28:48.000Z
- duplicate capture id
- 7SP25361G7651073R
- duplicate order id
- 38J03569L33365716
- duplicate captured at
- 2026-11-04T17:29:08.000Z
- seconds apart
- 20
- same cart reference
- true
9HY61647ED317240Ccapture1HD58269ND587632Forder38J03569L33365716capture7SP25361G7651073RAll ids are real PayPal sandbox objects; GET them with your sandbox credentials to check.
Audit trail
Detected, diagnosed, decided, executed. Live.
ledger_lookupNightshift ledgerokResult
{"order":{"id":"38J03569L33365716","intent":"CAPTURE","status":"COMPLETED","amountCents":6400,"currency":"USD","payer":"night-owl-mw2e4m2b251@example.com","cartRef":"cart-29737","description":"Roaster's Choice box, monthly","fulfillment":"unfulfilled","shippedAt":null,"createdAt":"2026-11-04T17:29:08.000Z","updatedAt":"2026-11-04T17:29:14.049Z","source":"scenario","scenario":"lab_mw2e3kyb"},"buyer_note_untrusted":null,"authorizations":[],"captures":[{"id":"7SP25361G7651073R","orderId":"38J03569L33365716","authorizationId":null,"status":"COMPLETED","statusReason":null,"amountCents":6400,"currency":"USD","finalCapture":true,"createdAt":"2026-11-04T17:29:08.000Z","updatedAt":"2026-11-04T17:29:14.052Z"}],"refunds":[],"failed_capture_attempts":[]}get_capturevia Nightshift REST clientokResult
{"id":"7SP25361G7651073R","amount":{"currency_code":"USD","value":"64.00"},"final_capture":true,"seller_protection":{"status":"NOT_ELIGIBLE"},"seller_receivable_breakdown":{"gross_amount":{"currency_code":"USD","value":"64.00"},"paypal_fee":{"currency_code":"USD","value":"2.80"},"net_amount":{"currency_code":"USD","value":"61.20"}},"custom_id":"cart-29737","status":"COMPLETED","supplementary_data":{"related_ids":{"order_id":"38J03569L33365716"}},"payee":{"email_address":"sb-djk8i53501233@business.example.com","merchant_id":"D8M8MT98DPNNG"},"create_time":"2026-11-04T17:29:08Z","update_time":"2026-11-04T17:29:08Z","links":[{"href":"https://api.sandbox.paypal.com/v2/payments/captures/7SP25361G7651073R","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/payments/captures/7SP25361G7651073R/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/checkout/orders/38J03569L33365716","rel":"up","method":"GET"}]}ledger_lookupNightshift ledgerokResult
{"order":{"id":"9HY61647ED317240C","intent":"CAPTURE","status":"COMPLETED","amountCents":6400,"currency":"USD","payer":"night-owl-mw2e4m2b251@example.com","cartRef":"cart-29737","description":"Roaster's Choice box, monthly","fulfillment":"unfulfilled","shippedAt":null,"createdAt":"2026-11-04T17:28:48.000Z","updatedAt":"2026-11-04T17:28:54.449Z","source":"scenario","scenario":"lab_mw2e3kyb"},"buyer_note_untrusted":null,"authorizations":[],"captures":[{"id":"1HD58269ND587632F","orderId":"9HY61647ED317240C","authorizationId":null,"status":"COMPLETED","statusReason":null,"amountCents":6400,"currency":"USD","finalCapture":true,"createdAt":"2026-11-04T17:28:48.000Z","updatedAt":"2026-11-04T17:28:54.452Z"}],"refunds":[],"failed_capture_attempts":[]}- The agent asked for a human decision.
- Refunds send money back to the buyer and cannot be reversed, so the owner approves every one.