← TroubleshootingPaymentMark paid refused for provider orders
Symptoms
- "Tandai Lunas" fails on a QRIS/VA/Midtrans order
- A provider-payment order cannot be marked paid manually
Likely causes
- `POST /api/orders/:id/payment/mark-paid` only accepts MANUAL payment methods — it deliberately refuses provider/Midtrans methods so it never fakes the gateway status
How to fix
- For provider methods, let the Midtrans webhook mark it paid
- Manual mark-paid is only for manual methods (manual transfer/COD)
- Use `{ unpaid: true }` to reverse a manual mark-paid