$payment->setTransactions(array($transaction)); try { $payment->create($paypal_rest); if ($payment->getState() == 'approved') { $transactions = $payment->getTransactions(); foreach ($transactions as $txn) { $related_resources = $txn->getRelatedResources(); foreach ($related_resources as $related) { $related_sale = $related->getSale(); if ($related_sale) { $_SESSION['transaction_id'] = $related_sale->id; } } } $_SESSION['payment_id'] = $payment->getId(); $_SESSION['payment_created'] = $payment->getCreateTime(); $_SESSION['payment_state'] = $payment->getState(); } else { $_SESSION['payment_state'] = $payment->getState(); $result_data_html = $_SESSION['payment_state']; echo json_encode(array('result' => 'error', 'result_data' => $result_data_html)); exit; } } catch (\PayPal\Exception\PayPalConnectionException $ex) { $PayPalErrors = json_decode($ex->getData()); // Write to transaction log if (isset($config['LogEnabled']) && $config['LogEnabled']) { $log_array = (array) $PayPalErrors; logTransaction($log_array, $config['LogFilePath']); } $result_data_html = '<ul>';