Esta es más una pregunta que requiere comentarios. Estoy diseñando una base de datos que maneja múltiples pasarelas de pago. Una pasarela de pago requiere principalmente una tabla para los detalles del pedido antes de realizar el pago (esto es común para todos los PG), y una tabla para los detalles de la transacción, para almacenar la respuesta después de realizar el pago.
Ahora, para manejar múltiples pasarelas de pago, puedo mantener una sola tabla de transacciones, rellenándola con todos los campos disponibles de todas las pasarelas de pago y un campo que dice de qué PG es esa fila;
O bien, puedo crear tablas de transacciones separadas para cada PG con prefijo como paypal_
o bank_
etc., cada uno con los campos que cada uno de ellos necesita.
No estoy seguro de cuál es la forma más óptima de hacerlo. También necesito aprenderlo para escenarios similares que pueda encontrar en el futuro.
paypal_transaction_id
, bank_transaction_id
etc. No teníamos demasiadas pasarelas de pago, así que funcionó para nosotros. Podría no funcionar con aquellos que admiten muchos PG.