The test payment is made with the production card - this is completely wrong. Payments in test mode must always be made with test cards. Likewise, when ShopID is in production, payment must be made with real cards.
Invalid Signature - check the parameters based on which the transaction signature is created. The most common mistake is to enter TotalAmount with a comma ... When creating a Signature, the amount must be entered without decimal marks: 1000 (for EUR 10.00), 1050 (for EUR 10.50) ... When sending to WSPayForm, sends a comma-separated amount.
Repeating ShoppingCartID - once the payment has been successfully made, the same transaction ID must never be repeated. If a merchant has had an active WSPay for years, they must generate unique transaction IDs for the entire time of use because the system remembers them.
Mandatory parameters - if not all mandatory parameters are sent (which are specified in the implementation documentation), the transaction will be rejected due to sending an invalid request.
Getting information on CallBackURL - it is necessary to provide us with a URL that is a clean link or has the specified ports in the allowed group (specified in the documentation)