mirror of
https://github.com/myronblair/tomsjavajive
synced 2026-07-27 16:52:36 -05:00
3c8e4d1dbc
admin/order.php previously had no real refund action - the "refunded" status option was purely cosmetic, only setting order_status without touching payment_status or calling any payment API. Adds a Refund card (full or partial amount, optional reason) that calls the real Square Refunds API for orders paid via Square, updates payment_status (refunded/partially_refunded) and order_status, logs the refund ID as an order note, and restores any wallet_amount_used back to the customer wallet on a full refund (mirroring how it was deducted on payment success in markSquarePaymentResult). Also fixed the Payment sidebar card to display square_payment_id (it only ever showed the old stripe_payment_intent field, even for Square orders). Tested in sandbox: full refund (wallet restore verified), and confirmed Squares own over-refund rejection surfaces cleanly as a flash error rather than a crash.