payment_processor_type = the actual processor, like paypal standard, paypal express
- labels and defaults for a bunch of password / url settings
- need to add rows for ingenico webcollect, ingenico connect, adyen, amazon, d*local
payment_processor = a specific account with a payment processor
payment_token = a token for a specific donor and a specific account
required fields in civicrm_payment_token table:
- contact_id (fk)
- payment_processor_id (fk)
- token (string)
- created_date (date)
Foreign keys to payment_processor exist in these tables:
- civicrm_contribution_recur
- civicrm_financial_trxn
- civicrm_payment_token
OK, so we should add our payment processor accounts to the payment_processor table...
- insert missing payment_processor_types (What to use for an implementation class here? dummy?)
- insert payment_processor rows
- insert account_relationship rows
- Update civicrm_financial_trxn based on gateway column in wmf_contribution_extra
- Use API methods to get and create PaymentToken objects when we need to