What problem does it solve? Payment reconciliation in the PalFish GMV system depends on matching SePay bank transfers to payment requests via transfer-content codes, and failures (unmatched transfers, stale QR content, amount discrepancies) are hard to debug without deep knowledge of the webhook pipeline, schema constraints, and cross-repo dependencies. ## Core Features & Use Cases - Webhook & matching pipeline reference: Documents the SePay webhook auth layers (IP whitelist, HMAC-SHA256, API key), the transaction processing order, and match_status semantics (pending, auto_matched, needs_review, ignored, manual_matched). - VietQR generation & stale-content handling: Explains the 40-character addInfo limit, transfer_code encoding, the is_content_stale detection logic, and the refresh-content endpoint. - Diagnostic procedures: Provides a step-by-step SQL workflow to diagnose unmatched transfers, plus gotchas like the pf-revenue cross-repo schema risk and the ambiguous-character fold matching fix. - Use Case: A customer paid but their transfer shows as unmatched; use this Skill to query bank_transactions, identify the match_status failure mode, and decide between cron re-poll or manual match. ## Quick Start Ask the assistant to diagnose why a specific SePay bank transfer did not auto-match its payment request, providing the amount and transaction date.