public function getHtml($api_admin, $invoice_id, $subscription) { $invoice = $api_admin->invoice_get(['id' => $invoice_id]); $p = [':id' => sprintf('%05s', $invoice['nr']), ':serie' => $invoice['serie'], ':title' => $invoice['lines'][0]['title']]; $title = __('Payment for invoice :serie:id [:title]', $p); $number = $invoice['nr']; $description = $title . ' - ' . $number; $form = ''; if (!isset($_GET['status'])) { $amount = $this->moneyFormat($invoice['total']); $currency = $invoice['currency']; $plugin_name = coinify_plugin_name; $plugin_version = coinify_plugin_version; $description = $description; $custom = ['invoice_id' => $invoice_id]; $return_url = $this->config['return_url']; $cancel_url = $this->config['cancel_url']; $api = new CoinifyAPI($this->config['coinify_api_key'], $this->config['coinify_api_secret']); $result = $api->invoiceCreate($amount, $currency, $plugin_name, $plugin_version, $description, $custom, null, null, $return_url, $cancel_url); $payment_url = $result['data']['payment_url']; if (strlen($payment_url) == 0) { return 'error'; } $form = ''; $form .= '<form name="payment_form" action="' . $payment_url . '" method="POST">' . PHP_EOL; $form .= '<input class="bb-button bb-button-submit" type="submit" value="Pay with Coinify" id="payment_button"/>' . PHP_EOL; $form .= '</form>' . PHP_EOL . PHP_EOL; if (isset($this->config['auto_redirect']) && $this->config['auto_redirect']) { $form .= sprintf('<h2>%s</h2>', __('Redirecting to coinify')); $form .= "<script type='text/javascript'>\$(document).ready(function(){ document.getElementById('payment_button').style.display = 'none'; document.forms['payment_form'].submit();});</script>"; } } return $form; }
public function pay() { $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']); $titles = ''; foreach ($this->cart->getProducts() as $product) { $titles .= $product['name'] . ', '; } $titles = substr($titles, 0, -2); if (in_array('curl', get_loaded_extensions())) { $api_key = $this->config->get('coinify_api_key'); $api_secret = $this->config->get('coinify_api_secret'); $api = new CoinifyAPI($api_key, $api_secret); $custom = ['orderid' => $order_info['order_id']]; $result = $api->invoiceCreate($order_info['total'], $order_info['currency_code'], coinify_plugin_name, coinify_plugin_version, $titles, $custom, $this->url->link('payment/coinify/callback'), null, $this->url->link('checkout/success'), $this->url->link('account/order/info&order_id=' . $order_info['order_id'])); header('Location: ' . $result['data']['payment_url']); } else { print "cURL is not installed on this server, please inform the store owner."; } exit; }