Invoice payment form inappropriately overwrites Contact data

To reproduce: Send an invoice to a Contact via email with “Send Invoice with payment option” selected. The recipient clicks “View my invoice”, then “Pay now”, then fills out the form with billing/shipping/credit-card information. No matter what, the Contact associated with the invoice will be updated with the information entered into the form — even if the name, address, and phone number are completely different.

This is undesirable it is commonplace to use somebody else’s credit card to pay an invoice. (Such as a credit card belonging to your boss!) There are two possible behaviors which would be sane:

  1. The Contact is only updated if the name matches.
  2. The Contact is never updated.

I have not been able to find a setting to control this behavior — can anyone point me in the right direction?

(If no such setting exists, this is a bug.)

Turns out Keap doesn’t let you file cases for the Infusionsoft SAAS app even though that’s what they tell you to do in the “Contact Us” section of, and even though you can file cases against the API. That doesn’t inspire confidence. :sweat:

Via support chat, I have now submitted “product feedback”, but I have no idea if or when anybody will act on it — so I need to come up with some cockamamie workaround for this bug. Something like:

  1. Save existing contact details somehow. (As JSON? To a custom field?)
  2. Process the payment.
  3. Restore the original contact details, overwriting the garbage information that the bug captured.

Anybody suggestions on how to implement such a scheme?