Skip to content

Commit

Permalink
Merge pull request #21539 from mattwire/deprecaterecurtrxnid
Browse files Browse the repository at this point in the history
Deprecate civicrm_contribution_recur.trxn_id
  • Loading branch information
mattwire authored Feb 13, 2022
2 parents 91780c7 + a1820dc commit 6b31f9a
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
5 changes: 2 additions & 3 deletions CRM/Contribute/Form/Contribution/Confirm.php
Original file line number Diff line number Diff line change
Expand Up @@ -1231,9 +1231,8 @@ public static function processRecurringContribution($form, $params, $contactID,
$recurParams['contribution_status_id'] = CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Pending');
$recurParams['payment_processor_id'] = $params['payment_processor_id'] ?? NULL;
$recurParams['is_email_receipt'] = (bool) ($params['is_email_receipt'] ?? FALSE);
// we need to add a unique trxn_id to avoid a unique key error
// in paypal IPN we reset this when paypal sends us the real trxn id, CRM-2991
$recurParams['trxn_id'] = $params['trxn_id'] ?? $params['invoiceID'];
// We set trxn_id=invoiceID specifically for paypal IPN. It is reset this when paypal sends us the real trxn id, CRM-2991
$recurParams['processor_id'] = $recurParams['trxn_id'] = ($params['trxn_id'] ?? $params['invoiceID']);
$recurParams['financial_type_id'] = $contributionType->id;

$campaignId = $params['campaign_id'] ?? $form->_values['campaign_id'] ?? NULL;
Expand Down
3 changes: 3 additions & 0 deletions CRM/Contribute/Page/ContributionRecur.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ public function view() {
NULL, TRUE, NULL, FALSE, CRM_Core_Permission::VIEW);
CRM_Core_BAO_CustomGroup::buildCustomDataView($this, $groupTree, FALSE, NULL, NULL, NULL, $contributionRecur['id']);

if (isset($contributionRecur['trxn_id']) && ($contributionRecur['processor_id'] === $contributionRecur['trxn_id'])) {
unset($contributionRecur['trxn_id']);
}
$this->assign('recur', $contributionRecur);

$templateContribution = CRM_Contribute_BAO_ContributionRecur::getTemplateContribution($this->getEntityId());
Expand Down
4 changes: 4 additions & 0 deletions CRM/Upgrade/Incremental/sql/5.48.alpha1.mysql.tpl
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
{* file to handle db changes in 5.48.alpha1 during upgrade *}

{* https://github.com/civicrm/civicrm-core/pull/21539 Deprecate civicrm_contribution_recur.trxn_id *}
ALTER TABLE `civicrm_contribution_recur` MODIFY `processor_id` varchar(255) DEFAULT NULL COMMENT 'May store an identifier used to link this recurring contribution record to a third party payment processor\'s system';
ALTER TABLE `civicrm_contribution_recur` MODIFY `trxn_id` varchar(255) DEFAULT NULL COMMENT 'unique transaction id (deprecated - use processor_id)';
2 changes: 1 addition & 1 deletion xml/schema/Contribute/ContributionRecur.xml
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@
<title>Transaction ID</title>
<type>varchar</type>
<length>255</length>
<comment>unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method</comment>
<comment>unique transaction id (deprecated - use processor_id)</comment>
<add>1.6</add>
<html>
<type>Text</type>
Expand Down

0 comments on commit 6b31f9a

Please sign in to comment.