public static function button($products, $extra = null)
 {
     if (count($products) == 1) {
         $p = current($products);
         $amount = $p['amount'] * $p['quantity'];
         $description = $p['description'];
         $product_id = $p['id'];
         //$ids = array(array('id' => $product_id));
     } else {
         $amount = 0;
         //$ids = array();
         foreach ($products as $p) {
             $amount += $p['amount'] * $p['quantity'];
             //$ids[] = array('id' => $p['id']);
         }
         $description = sprintf(__('%d products', 'payment_pro'), count($products));
         $product_id = 'SVR_PRD';
     }
     $r = rand(0, 1000);
     $extra['random'] = $r;
     //$extra['ids'] = $ids;
     $extra['items'] = $products;
     $extra['amount'] = $amount;
     $extra = payment_pro_set_custom($extra);
     echo '<li class="payment authorize-btn"><a href="javascript:authorize_pay(\'' . osc_format_price($amount * 1000000) . '\',\'' . $description . '\',\'' . $product_id . '\',\'' . $extra . '\');" ><img src="' . PAYMENT_PRO_URL . 'payments/authorize/button.gif" ></a></li>';
 }
function wallet_button($amount = '0.00', $description = '', $itemnumber = '101', $extra_array = '||')
{
    $extra = payment_pro_set_custom($extra_array);
    $extra .= 'concept,' . $description . '|';
    $extra .= 'product,' . $itemnumber . '|';
    echo '<a href="' . osc_route_url('payment-pro-wallet', array('a' => $amount, 'desc' => $description, 'extra' => $extra)) . '"><button>' . __("Pay with your credit", 'payment_pro') . '</button></a>';
}
 public static function button($products, $extra = null)
 {
     if (count($products) == 1) {
         $p = current($products);
         $amount = $p['amount'] * $p['quantity'];
         $description = $p['description'];
         $product_id = $p['id'];
         //$ids = array(array('id' => $product_id));
     } else {
         $amount = 0;
         //$ids = array();
         foreach ($products as $p) {
             $amount += $p['amount'] * $p['quantity'];
             //$ids[] = array('id' => $p['id']);
         }
         $description = sprintf(__('%d products', 'payment_pro'), count($products));
         $product_id = 'SVR_PRD';
     }
     $r = rand(0, 1000);
     $extra['random'] = $r;
     //$extra['ids'] = $ids;
     $extra['items'] = $products;
     $extra['amount'] = $amount;
     $extra = payment_pro_set_custom($extra);
     echo '<li style="cursor:pointer;cursor:hand" class="payment stripe-btn" onclick="javascript:stripe_pay(\'' . $amount . '\',\'' . $description . '\',\'' . $product_id . '\',\'' . $extra . '\');" ><img src="' . PAYMENT_PRO_URL . 'payments/stripe/pay_with_card.png" ></li>';
 }
    public static function button($products, $extra = null)
    {
        $Amount = 0;
        foreach ($products as $p) {
            $Amount += $p['amount'] * $p['quantity'];
        }
        $r = rand(0, 1000);
        $extra['random'] = $r;
        $extra['items'] = $products;
        $extra['amount'] = $Amount;
        $extra = payment_pro_set_custom($extra);
        $tx_id = ModelPaymentPro::newInstance()->pendingInvoice($products);
        $Merchant_Id = osc_get_preference('ccavenue_merchant_id', 'payment_pro');
        $Order_Id = $tx_id;
        // use order id/invoice id instead of product_id
        $WorkingKey = osc_get_preference('ccavenue_working_key', 'payment_pro');
        $Redirect_Url = osc_route_url('ccavenue-redirect');
        $Checksum = self::_getCheckSum($Merchant_Id, $Amount, $Order_Id, $Redirect_Url, $WorkingKey);
        ?>
            <li class="payment ccavenue-btn">
                <form id="ccavenue_<?php 
        echo $r;
        ?>
" name="paymentform" method="post" action="https://www.ccavenue.com/shopzone/cc_details.jsp">
                    <input type="hidden" name="Merchant_Id" value="<?php 
        echo $Merchant_Id;
        ?>
">
                    <input type="hidden" name="Amount" value="<?php 
        echo $Amount;
        ?>
">
                    <input type="hidden" name="Order_Id" value="<?php 
        echo $Order_Id;
        ?>
">
                    <input type="hidden" name="Redirect_Url" value="<?php 
        echo $Redirect_Url;
        ?>
">
                    <input type="hidden" name="Checksum" value="<?php 
        echo $Checksum;
        ?>
">
                    <input type="hidden" name="Merchant_Param" value="<?php 
        echo $extra;
        ?>
">
                </form>
                <a id="button-confirm" class="button" onclick="$('#ccavenue_<?php 
        echo $r;
        ?>
').submit();"><span><img  style="cursor:pointer;cursor:hand" src='<?php 
        echo PAYMENT_PRO_URL;
        ?>
payments/ccavenue/ccavenue.gif' border='0' /></span></a>
            </li>
            <?php 
    }
    public static function recurringButton($subscription, $extra = null)
    {
        $r = rand(0, 1000);
        $extra['random'] = $r;
        $extra = payment_pro_set_custom($extra);
        if (osc_get_preference('paypal_sandbox', 'payment_pro') == 1) {
            $ENDPOINT = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
        } else {
            $ENDPOINT = 'https://www.paypal.com/cgi-bin/webscr';
        }
        ?>


            <form class="nocsrf" action="<?php 
        echo $ENDPOINT;
        ?>
" method="post" id="paypal_<?php 
        echo $r;
        ?>
">
                <input type="hidden" name="cmd" value="_xclick-subscriptions" />
                <input type="hidden" name="notify_url" value="<?php 
        echo osc_route_url('paypal-notify', array('extra' => $extra));
        ?>
" />
                <input type="hidden" name="return" value="<?php 
        echo osc_route_url('paypal-return', array('extra' => $extra));
        ?>
" />
                <input type="hidden" name="cancel_return" value="<?php 
        echo osc_route_url('paypal-cancel', array('extra' => $extra));
        ?>
" />
                <input type="hidden" name="business" value="<?php 
        echo osc_get_preference('paypal_email', 'payment_pro');
        ?>
" />

                <input type="hidden" name="item_name" value="<?php 
        echo $subscription['description'];
        ?>
" />
                <input type="hidden" name="a3" value="<?php 
        echo $subscription['amount'];
        ?>
" />
                <input type="hidden" name="p3" value="<?php 
        echo $subscription['duration'];
        ?>
" />
                <input type="hidden" name="t3" value="<?php 
        echo $subscription['period'];
        ?>
" />

                <input type="hidden" name="src" value="1" />

                <input type="hidden" name="currency_code" value="<?php 
        echo osc_get_preference('currency', 'payment_pro');
        ?>
" />
                <input type="hidden" name="custom" value="<?php 
        echo $extra;
        ?>
" />
                <input type="hidden" name="no_note" value="1" />
                <input type="hidden" name="charset" value="utf-8" />
            </form>
            <div class="buttons">
                <div class="right"><a style="cursor:pointer;cursor:hand" id="button-confirm" class="button" onclick="$('#paypal_<?php 
        echo $r;
        ?>
').submit();"><span><img src='<?php 
        echo PAYMENT_PRO_URL;
        ?>
payments/paypal/subscription.gif' border='0' /></span></a></div>
            </div>
        <?php 
    }
    public static function button($products, $extra = null)
    {
        $items = array();
        $amount = 0;
        foreach ($products as $p) {
            $amount += $p['amount'] * $p['quantity'];
        }
        if (osc_get_preference('currency', 'payment_pro') != 'BTC') {
            $amount = osc_file_get_contents("https://blockchain.info/tobtc?currency=" . osc_get_preference('currency', 'payment_pro') . "&value=" . $amount);
            $xrate = osc_file_get_contents("https://blockchain.info/tobtc?currency=" . osc_get_preference('currency', 'payment_pro') . "&value=1");
            if (is_numeric($xrate)) {
                $extra['xrate'] = $xrate;
                osc_set_preference('blockchain_xrate', $xrate, 'payment_pro');
            } else {
                osc_get_preference('blockchain_xrate', 'payment_pro');
            }
        } else {
            $extra['xrate'] = 1;
        }
        $tx_id = ModelPaymentPro::newInstance()->pendingInvoice($products);
        $r = rand(0, 1000);
        $extra['random'] = $r;
        $extra['tx'] = $tx_id;
        $extra = payment_pro_set_custom($extra);
        ?>
            <li class="payment bitcoin-btn">
            <div class="blockchain-btn"
            data-address="<?php 
        echo osc_get_preference('blockchain_btc_address', 'payment_pro');
        ?>
"
            data-anonymous="false"
            data-callback="<?php 
        echo osc_route_url('blockchain-notify', array('extra' => str_replace("+", "@", $extra)));
        ?>
">
                <div  style="cursor:pointer;cursor:hand" class="blockchain stage-begin">
                    <img src="<?php 
        echo PAYMENT_PRO_URL;
        ?>
payments/blockchain/pay_now_64.png">
                </div>
                <div class="blockchain stage-loading" style="text-align:center">
                    <img src="<?php 
        echo PAYMENT_PRO_URL;
        ?>
payments/blockchain/loading-large.gif">
                </div>
                <div class="blockchain stage-ready">
                    <p align="center"><?php 
        printf(__('Please send %f BTC to <br /> <b>[[address]]</b></p>', 'payment_pro'), $amount);
        ?>
                    <p align="center" class="qr-code"></p>
                </div>
                <div class="blockchain stage-paid">
                    <p><?php 
        _e('Payment Received <b>[[value]] BTC</b>. Thank You.', 'payment_pro');
        ?>
</p>
                    <a href="<?php 
        echo osc_route_url('payment-pro-done', array('tx' => $tx_id));
        ?>
"><?php 
        _e('Click here to continue', 'payment_pro');
        ?>
</a>
                </div>
                <div class="blockchain stage-error">
                    <span color="red">[[error]]</span>
                </div>
            </div>
            </li>
        <?php 
    }