Fundraising tech/Ingenico Connect

Updating API Keys
Ingenico API keys are valid for one year and they send an email a couple of days before it expires. You can have 2 keys valid at the same time so you can create a new key, test it, then expire the old one.

To deploy the keys you need to run fundraising_code_update on the SmashPig project and send it to ALL:SmashPig

Credit Cards
We're using their Hosted Checkout integration to have donors submit credit card information directly to Ingenico. The original setup call gives us a hosted checkout ID. When the donor returns, we use the hosted checkout ID to get the payment status.

The hosted checkout ID is sent in the initial pending message as 'gateway_session_id' (Paypal Express also sends this field). When a payment is not finalized at paymentswiki, the orphan rectifier can use that field to look up the status and resolve the payment.

Recurring
As with the old integration, recurring payments are charged from our end. We call a tokenize method to get a payment token based on the first payment. The plan is to store the payment token in civi's civicrm_payment_token table, then use that to create the future installments. Still to be determined is how Ingenico Connect relates subsequent installments to the original. Also: how does the payment_token table relate to contribution_recur table?

iDEAL
We've been using the Connect integration for a while to look up bank lists.