diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs
index aa652af8f5d5f995aab52ee5cd53d59518b620f2..f4ae39fc91d8ce877fa0b68f9bfd057d528c99bf 100644
--- a/src/PaymentServer/Persistence.hs
+++ b/src/PaymentServer/Persistence.hs
@@ -64,6 +64,11 @@ data PaymentError =
 
 instance Exception PaymentError
 
+instance Eq PaymentError where
+  AlreadyPaid == AlreadyPaid = True
+  PaymentFailed self == PaymentFailed other = show self == show other
+  self == other = False
+
 -- | Reasons that a voucher cannot be redeemed.
 data RedeemError =
   -- | The voucher has not been paid for.