$objects['contact'] = &$contact;
$objects['contribution'] = &$contribution;
+
+ // CRM-19478: handle oddity when p=null is set in place of contribution page ID,
+ if (!empty($ids['contributionPage']) && !is_numeric($ids['contributionPage'])) {
+ // We don't need to worry if about removing contribution page id as it will be set later in
+ // CRM_Contribute_BAO_Contribution::loadRelatedObjects(..) using $objects['contribution']->contribution_page_id
+ unset($ids['contributionPage']);
+ }
+
if (!$this->loadObjects($input, $ids, $objects, $required, $paymentProcessorID)) {
return FALSE;
}
*/
public function testIPNPaymentRecurSuccess() {
$this->setupRecurringPaymentProcessorTransaction();
+ global $_GET;
+ $_GET = $this->getPaypalProRecurTransaction();
$paypalIPN = new CRM_Core_Payment_PayPalProIPN($this->getPaypalProRecurTransaction());
$paypalIPN->main();
$contribution = $this->callAPISuccess('contribution', 'getsingle', array('id' => $this->_contributionID));
'amount_per_cycle' => '15.00',
'mc_gross' => '15.00',
'payment_date' => '03:59:05 Jul 14, 2013 PDT',
- 'rp_invoice_id' => 'i=' . $this->_invoiceID . '&m=contribute&c=' . $this->_contactID . '&r=' . $this->_contributionRecurID . '&b=' . $this->_contributionID . '&p=' . $this->_contributionPageID,
+ 'rp_invoice_id' => 'i=' . $this->_invoiceID . '&m=contribute&c=' . $this->_contactID . '&r=' . $this->_contributionRecurID . '&b=' . $this->_contributionID . '&p=null',
'payment_status' => 'Completed',
'business' => 'nowhere@civicrm.org',
'last_name' => 'Roberty',