- The method to compute the reference of a payment.transaction and avoid duplicate was missing some edge cases (for example if there was a '-' in the reference). - The creation of transactions in the route /website_payment/pay was not checking for duplicate payment.transaction.