Schema designing for handling multiple payment gateways
It depends on how different the data is between the payment types.

For the sites I support at work, we have one table that stores data for all payment types.  That works for us because our payment types are basically 4 kinds of credit cards and company purchase order.  Most of our customers pay with credit cards, so there isn't a whole lot of deviation in the data.  Of course, queries for those credit card customers always yield NULL values in the PONumber field.  Likewise, queries for PO customers yield NULLs in all the credit card related fields.

If there are a lot of different fields in your data, you could try one master transaction table with individual tables for each payment gateway.  Each payment gateway type table would have a foreign key of transaction_id, which would link back to the master transaction table.

On the other hand if your payment gateway types all have similar fields, then I would stick with one transaction table.