Rework payment search (attempts/payments/transactions..) to rely more on id than externalKey whenever possible
Add unique constraint for transactionExternalKey (based on SUCCESS)
Add PaymentApiException for API arguments
Fix tests after those changes