Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }