function after_process() { global $insert_id, $db, $order; $info = $order->info; $name = "Order #" . $insert_id; $custom = $insert_id; $currencyCode = $info['currency']; $total = $info['total']; $callback = zen_href_link('coinbasepp_callback.php', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true, $static = true); $params = array('description' => $name, 'callback_url' => $callback . "?type=" . MODULE_PAYMENT_COINBASE_CALLBACK_SECRET, 'success_url' => $callback . "?type=success", 'cancel_url' => $callback . "?type=cancel", 'info_url' => zen_href_link('index')); require_once dirname(__FILE__) . "/coinbase/Coinbase.php"; $oauth = new Coinbase_Oauth(MODULE_PAYMENT_COINBASE_OAUTH_CLIENTID, MODULE_PAYMENT_COINBASE_OAUTH_CLIENTSECRET, null); $tokens = unserialize(MODULE_PAYMENT_COINBASE_OAUTH); $coinbase = new Coinbase($oauth, $tokens); try { $code = $coinbase->createButton($name, $total, $currencyCode, $custom, $params)->button->code; } catch (Coinbase_TokensExpiredException $e) { try { $tokens = $oauth->refreshTokens($tokens); } catch (Exception $f) { $this->tokenFail($f->getMessage()); } $coinbase = new Coinbase($oauth, $tokens); $db->Execute("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $db->prepare_input(serialize($tokens)) . "' where configuration_key = 'MODULE_PAYMENT_COINBASE_OAUTH'"); $code = $coinbase->createButton($name, $total, $currencyCode, $custom, $params)->button->code; } $_SESSION['cart']->reset(true); $_SESSION['coinbasepp_order_id'] = $insert_id; zen_redirect("https://coinbase.com/checkouts/{$code}"); return false; }