From 1c12ff83236620e0c56a7b5c8b0127950028dbeb Mon Sep 17 00:00:00 2001 From: Michael Rouse Date: Fri, 12 Dec 2025 16:04:19 -0600 Subject: [PATCH 1/2] Get a more usable transaction id from the payment --- classes/PayPalOrder.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/classes/PayPalOrder.php b/classes/PayPalOrder.php index 6e2dbf4..569826d 100644 --- a/classes/PayPalOrder.php +++ b/classes/PayPalOrder.php @@ -157,6 +157,23 @@ class PayPalOrder extends ObjectModel public static function getTransactionDetails($payment) { $transactionId = pSQL($payment->id); + + try { + // Search for a more usable transaction id in the payment object + $relatedResources = $payment->transactions[0]->related_resources; + foreach ($relatedResources as $rr) + { + if (!is_null($rr->sale)) + { + $transactionId = $rr->sale->id; + break; + } + } + } + catch (Exception $e) { + // Continue with $payment->id + } + $paymentId = pSQL($payment->id); $payerId = pSQL($payment->payer->payer_info->payer_id); $transaction = $payment->transactions[0]; From 1dc709753dec485976bcf44258ebd79315b910c1 Mon Sep 17 00:00:00 2001 From: Michael Rouse Date: Fri, 12 Dec 2025 16:18:28 -0600 Subject: [PATCH 2/2] Code cleanup --- classes/PayPalOrder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/PayPalOrder.php b/classes/PayPalOrder.php index 569826d..babe873 100644 --- a/classes/PayPalOrder.php +++ b/classes/PayPalOrder.php @@ -157,10 +157,11 @@ class PayPalOrder extends ObjectModel public static function getTransactionDetails($payment) { $transactionId = pSQL($payment->id); + $transaction = $payment->transactions[0]; try { // Search for a more usable transaction id in the payment object - $relatedResources = $payment->transactions[0]->related_resources; + $relatedResources = $transaction->related_resources; foreach ($relatedResources as $rr) { if (!is_null($rr->sale)) @@ -176,7 +177,6 @@ public static function getTransactionDetails($payment) $paymentId = pSQL($payment->id); $payerId = pSQL($payment->payer->payer_info->payer_id); - $transaction = $payment->transactions[0]; return [ 'currency' => pSQL($payment->transactions[0]->amount->currency),