Questa è più una domanda che richiede feedback. Sto progettando un database che gestisce più gateway di pagamento. Un gateway di pagamento richiede principalmente una tabella per i dettagli dell'ordine prima di effettuare il pagamento (questo è comune per tutti i PG) e una tabella per i dettagli della transazione, per memorizzare la risposta dopo aver effettuato il pagamento.
Ora per gestire più gateway di pagamento, posso mantenere una singola tabella delle transazioni, riempiendola con tutti i campi disponibili da tutti i gateway di pagamento e un campo che dice da quale PG proviene quella riga;
Oppure, posso creare tabelle di transazione separate per ciascuno dei PG con prefisso like paypal_
o bank_
etc, ognuno con i campi di cui ognuno ha bisogno.
Non sono sicuro di quale sia il modo migliore per farlo. Devo anche impararlo per scenari simili che potrei incontrare in futuro.
paypal_transaction_id
, bank_transaction_id
ecc. Non avevamo troppi gateway di pagamento, quindi ha funzionato per noi. Potrebbe non funzionare con coloro che supportano molti PG.