/** * Called back from PaymentPanel to perform final tasks after we know * the payment has been submitted successfully. */ public function PaymentPanel_Success(OnlineDonation $objPaymentObject) { $strEmailAddress = trim(strtolower($this->txtEmail->Text)); // If there is a "address in waiting" for this OnlineDonation // Then it was a newly-created Person object // Let's create the household for this person if ($objPaymentObject->Address) { $objPerson = $objPaymentObject->Person; $objHousehold = Household::CreateHousehold($objPerson); $objAddress = $objPaymentObject->Address; $objAddress->AddressTypeId = AddressType::Home; $objAddress->CurrentFlag = true; $objAddress->Household = $objHousehold; $objAddress->Save(); $objHousehold->SetAsCurrentAddress($objAddress); // Add Email Address if ($strEmailAddress) { $objEmail = new Email(); $objEmail->Address = $strEmailAddress; $objEmail->Person = $objPerson; $objEmail->Save(); $objEmail->SetAsPrimary(); } } if (QApplication::$PublicLogin) { $objPaymentObject->SendConfirmationEmail(); } else { if ($strEmailAddress) { $objPaymentObject->SendConfirmationEmail($strEmailAddress); $_SESSION['onlineDonationEmailAddress' . $objPaymentObject->Id] = $strEmailAddress; } else { $_SESSION['onlineDonationEmailAddress' . $objPaymentObject->Id] = null; unset($_SESSION['onlineDonationEmailAddress' . $objPaymentObject->Id]); } } QApplication::Redirect($objPaymentObject->ConfirmationUrl); }