diff --git a/CRM/Core/Payment/StripeIPN.php b/CRM/Core/Payment/StripeIPN.php index 5d096c55015e53c4f21bd0aaa49ecad7d125d858..47adc033092f998d4d3144319408b1368dfa7ba0 100644 --- a/CRM/Core/Payment/StripeIPN.php +++ b/CRM/Core/Payment/StripeIPN.php @@ -238,7 +238,7 @@ class CRM_Core_Payment_StripeIPN extends CRM_Core_Payment_BaseIPN { $params = [ 'id' => $this->contribution['id'], 'trxn_date' => $this->receive_date, - 'contribution_trxn_id' => $this->charge_id, + 'contribution_trxn_id' => $this->invoice_id ?: $this->charge_id, 'payment_trxn_id' => $this->charge_id, 'total_amount' => $this->amount, 'fee_amount' => $this->fee, diff --git a/CRM/Stripe/Api.php b/CRM/Stripe/Api.php index a672f4465eba4888d45899712bacec35a3b1c3b2..554563b3faa66aa09e6a224a840daf734d03e417 100644 --- a/CRM/Stripe/Api.php +++ b/CRM/Stripe/Api.php @@ -34,6 +34,9 @@ class CRM_Stripe_Api { case 'receive_date': return self::formatDate($stripeObject->created); + case 'invoice_id': + return (string) $stripeObject->invoice; + } break;