night-owl-mvr2k1g7695@example.com charged $64.00 twice for cart cart-39850

Status
Needs you
At risk
$64.00
Detected (detector clock)
2026-11-23 19:19

Diagnosis

AI agent (anthropic/claude-haiku-5.5)

The customer night-owl-mvr2k1g7695@example.com was charged $64.00 twice for the same cart (cart-39850), 18 seconds apart, on two separate orders. Neither order has shipped, so the customer has been charged $128.00 for one $64.00 box. If nobody acts, the customer will likely see two charges and file a dispute, and PayPal does not treat this as seller-protected.

Decisions

The agent proposes, the policy gate decides, the executor calls PayPal.

Refund capture

$64.006K3999595E594764SWaiting for you

Agent proposed

The second capture (order 77D55863AC133030M) duplicates the first for the same cart and has not shipped, so refunding it returns the extra $64.00 to the customer.

Note: Hi, we found a duplicate charge for your Roaster's Choice box and have refunded the second payment of $64.00. You should only have one charge for this order.

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-1496d6595003247f719ddf600ecb2ed4)
POST /v2/payments/captures/6K3999595E594764S/refund
{
  "amount": {
    "currency_code": "USD",
    "value": "64.00"
  },
  "note_to_payer": "Hi, we found a duplicate charge for your Roaster's Choice box and have refunded the second payment of $64.00. You should only have one charge for this order."
}

Edited amounts go back through the policy gate before anything is sent to PayPal.

Ask the owner

Waiting for you

Agent proposed

Refunds wait for the owner, and the owner should confirm nothing has shipped before the money goes back.

Note: Both orders for cart-39850 are unshipped. Please confirm the box has not been sent, and that you want to keep the first charge (order 23S94959TB6611222) and refund the duplicate (order 77D55863AC133030M). Approve the $64.00 refund to proceed.

Policy said

Needs approval
  • The agent asked for a human decision.

PayPal returned

No PayPal call for this action.

Evidence

Captures 6AA94261CP872400V (order 23S94959TB6611222) and 6K3999595E594764S (order 77D55863AC133030M) charged the same payer $64.00 for the same cart reference cart-39850 18 seconds apart. A buyer who sees two charges files a dispute.

payer
night-owl-mvr2k1g7695@example.com
cart ref
cart-39850
amount
$64.00
first capture id
6AA94261CP872400V
first order id
23S94959TB6611222
first captured at
2026-10-27T19:19:19.000Z
duplicate capture id
6K3999595E594764S
duplicate order id
77D55863AC133030M
duplicate captured at
2026-10-27T19:19:37.000Z
seconds apart
18
same cart reference
true
order23S94959TB6611222capture6AA94261CP872400Vorder77D55863AC133030Mcapture6K3999595E594764S

All ids are real PayPal sandbox objects; GET them with your sandbox credentials to check.

Audit trail

Detected, diagnosed, decided, executed. Live.

Detected: night-owl-mvr2k1g7695@example.com charged $64.00 twice for cart cart-39850
Detector
Captures 6AA94261CP872400V (order 23S94959TB6611222) and 6K3999595E594764S (order 77D55863AC133030M) charged the same payer $64.00 for the same cart reference cart-39850 18 seconds apart. A buyer who sees two charges files a dispute.
Agent started triage
Agent
Agent read ledger_lookup
Agent
ledger_lookupNightshift ledgerok
args { "order_id": "77D55863AC133030M" }
Result
{"order":{"id":"77D55863AC133030M","intent":"CAPTURE","status":"COMPLETED","amountCents":6400,"currency":"USD","payer":"night-owl-mvr2k1g7695@example.com","cartRef":"cart-39850","description":"Roaster's Choice box, monthly","fulfillment":"unfulfilled","shippedAt":null,"createdAt":"2026-10-27T19:19:37.000Z","updatedAt":"2026-10-27T19:19:43.756Z","source":"webhook"},"buyer_note_untrusted":null,"authorizations":[],"captures":[{"id":"6K3999595E594764S","orderId":"77D55863AC133030M","authorizationId":null,"status":"COMPLETED","statusReason":null,"amountCents":6400,"currency":"USD","finalCapture":true,"createdAt":"2026-10-27T19:19:37.000Z","updatedAt":"2026-10-27T19:19:43.759Z"}],"refunds":[],"failed_capture_attempts":[]}
Agent read get_capture
Agent
get_capturevia Nightshift REST clientok
args { "capture_id": "6K3999595E594764S" }
Result
{"id":"6K3999595E594764S","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-39850","status":"COMPLETED","supplementary_data":{"related_ids":{"order_id":"77D55863AC133030M"}},"payee":{"email_address":"sb-djk8i53501233@business.example.com","merchant_id":"D8M8MT98DPNNG"},"create_time":"2026-10-27T19:19:37Z","update_time":"2026-10-27T19:19:37Z","links":[{"href":"https://api.sandbox.paypal.com/v2/payments/captures/6K3999595E594764S","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/payments/captures/6K3999595E594764S/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/checkout/orders/77D55863AC133030M","rel":"up","method":"GET"}]}
Agent read ledger_lookup
Agent
ledger_lookupNightshift ledgerok
args { "order_id": "23S94959TB6611222" }
Result
{"order":{"id":"23S94959TB6611222","intent":"CAPTURE","status":"COMPLETED","amountCents":6400,"currency":"USD","payer":"night-owl-mvr2k1g7695@example.com","cartRef":"cart-39850","description":"Roaster's Choice box, monthly","fulfillment":"unfulfilled","shippedAt":null,"createdAt":"2026-10-27T19:19:19.000Z","updatedAt":"2026-10-27T19:19:37.893Z","source":"webhook"},"buyer_note_untrusted":null,"authorizations":[],"captures":[{"id":"6AA94261CP872400V","orderId":"23S94959TB6611222","authorizationId":null,"status":"COMPLETED","statusReason":null,"amountCents":6400,"currency":"USD","finalCapture":true,"createdAt":"2026-10-27T19:19:19.000Z","updatedAt":"2026-10-27T19:19:37.896Z"}],"refunds":[],"failed_capture_attempts":[]}
Agent read get_capture
Agent
get_capturevia Nightshift REST clientok
args { "capture_id": "6AA94261CP872400V" }
Result
{"id":"6AA94261CP872400V","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-39850","status":"COMPLETED","supplementary_data":{"related_ids":{"order_id":"23S94959TB6611222"}},"payee":{"email_address":"sb-djk8i53501233@business.example.com","merchant_id":"D8M8MT98DPNNG"},"create_time":"2026-10-27T19:19:19Z","update_time":"2026-10-27T19:19:19Z","links":[{"href":"https://api.sandbox.paypal.com/v2/payments/captures/6AA94261CP872400V","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/payments/captures/6AA94261CP872400V/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/checkout/orders/23S94959TB6611222","rel":"up","method":"GET"}]}
Agent diagnosis
Agent
The customer night-owl-mvr2k1g7695@example.com was charged $64.00 twice for the same cart (cart-39850), 18 seconds apart, on two separate orders. Neither order has shipped, so the customer has been charged $128.00 for one $64.00 box. If nobody acts, the customer will likely see two charges and file a dispute, and PayPal does not treat this as seller-protected.
Agent proposed: Refund capture $64.00
Agent
The second capture (order 77D55863AC133030M) duplicates the first for the same cart and has not shipped, so refunding it returns the extra $64.00 to the customer.
Policy said: needs the owner's approval
Policy gate
  • Refunds send money back to the buyer and cannot be reversed, so the owner approves every one.
Agent proposed: Ask the owner
Agent
Refunds wait for the owner, and the owner should confirm nothing has shipped before the money goes back.
Policy said: needs the owner's approval
Policy gate
  • The agent asked for a human decision.