setPayerID($payerId); try { // step1: execute payment $result = $payment->execute($execute, $paypal); // step2: save payment into database $log = array( "id" => $result->id, "transactionid" => $result->cart, "payment_state" => $result->state, "payment_method" => $result->payer->payment_method, "email" => $result->payer->payer_info->email, "first_name" => $result->payer->payer_info->first_name, "last_name" => $result->payer->payer_info->last_name, "payer_id" => $result->payer->payer_info->payer_id, "phone" => $result->payer->payer_info->phone, "street" => $result->payer->payer_info->shipping_address->line1, "city" => $result->payer->payer_info->shipping_address->city, "state_code" => $result->payer->payer_info->shipping_address->state, "postal_code" => $result->payer->payer_info->shipping_address->postal_code, "country_code" => $result->payer->payer_info->shipping_address->country_code, "total" => floatval($result->transactions[0]->amount->total), "currency" => strtoupper($result->transactions[0]->amount->currency), "shoppingcartid" => $_SESSION['shoppingcartid'], "accountid" => $_SESSION['account_id'] ); $paymentid = Product::savePaypal($log); // step 3: write the order $order = array( "shoppingcartid" => $_SESSION['shoppingcartid'], "paymentid" => $paymentid, "totalprice" => floatval($result->transactions[0]->amount->total), "currency" => strtoupper($result->transactions[0]->amount->currency), "email" => $result->payer->payer_info->email, "companyname" => "", "firstname" => $result->payer->payer_info->first_name, "lastname" => $result->payer->payer_info->last_name, "street" => $result->payer->payer_info->shipping_address->line1, "city" => $result->payer->payer_info->shipping_address->city, "statecode" => $result->payer->payer_info->shipping_address->state, "postalcode" => $result->payer->payer_info->shipping_address->postal_code, "countrycode" => $result->payer->payer_info->shipping_address->country_code, "accountid" => intval($_SESSION['account_id']) ); $_SESSION['orderid'] = Product::createOrderFromShoppingcart($order); // step 4: remove shoppingcart unset($_SESSION['shoppingcartid']); } catch (Exception $ex) { die($ex); } $orderdoneUrl = "/?t=orderdone&order=".$_SESSION['orderid']; header("Location: {$orderdoneUrl}"); ?>