How I should design tables for transaction (payment) for banking?
i think there are a lot of different solutions in the field.
There are different workflows on wirecard, Computop, Saferpay and so on.
Basicly i prefer these steps.


Store the initial Step (init payment) with timestamp, useragend... (Table A)
Put this id to the Payment-Request to the prowider as an optional field.
Often you get an response to yor success-url and to a notify-url. I fetch the full response and store it as a json string ( for debug ) (Table B)
Update Table A with the encrypted data from the Response ( SUCCESS|FAIL ... )
If success, update the shopping basket 
If you have problems, you need as much information as you can have. Specially for seamless payment.