Jump to content


Photo
- - - - -

Где взять ссылку на оплату заказа?


13 replies to this topic

#1 andrey.koch

andrey.koch
  • JBZoo User (rus)
  • User rate: 16.4
  • posts: 444
  • topics: 86

Posted 25 February 2016 - 18:46

Вопрос такой, если клиент оформил заказ и не зарегистрировался, при этом не оплатил, а я хочу ему вдогонку по почте хочу дать ссылку на оплату этого заказа, как я смогу это сделать? Где ее можно найти?


Edited by andrey.koch, 25 February 2016 - 18:46.

  • 0

#2 andrey.koch

andrey.koch
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 16.4
  • posts: 444
  • topics: 86

Posted 25 February 2016 - 19:09

Пока просто откопал ее в метрике, но это же не выход?


  • 0

#3 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 25 February 2016 - 19:59

Вообще это триггеры - email рассылки (сервисы) и все такое этим занимаются.


  • 0

#4 andrey.koch

andrey.koch
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 16.4
  • posts: 444
  • topics: 86

Posted 25 February 2016 - 20:08

Вообще это триггеры - email рассылки (сервисы) и все такое этим занимаются.

Оно то может и так, только почему бы не сохранить ссылку на странице заказа?

Если я не использую сторонние сервисы и хочу сам отослать ссылку для оплаты клиенту.

 

Если честно, то я первым делом кинулся в настройки оповещений с надеждой там найти возможность уже в письме уведомления выслать ссылку на оплату. Это разве не логично? Ну если человек не оплатил, то выслать ему ссылку для оплаты?

 

P.S. Смысл то всей этой возни над сайтом в чём? Я так думаю, чтобы человек заплатил. Поэтому ссылка на оплату в письме клиенту, который не заплатил, но заказал по моему должна быть по любому, да еще и на самом видном месте.


Edited by andrey.koch, 25 February 2016 - 20:43.

  • 1

#5 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 26 February 2016 - 01:43

Какой сервис оплаты используется для приема денег?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 andrey.koch

andrey.koch
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 16.4
  • posts: 444
  • topics: 86

Posted 26 February 2016 - 08:52

Какой сервис оплаты используется для приема денег?

Яндекс Деньги.


  • 0

#7 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 26 February 2016 - 17:19

Ссылку на оплату можно получить так
<?php
$payment = $order->getPayment();
?>

<?php if (!$payment->isPaid() && ($checkoutUrl = $payment->getRedirectUrl())) : ?>
    <a target="_blank" class="jbbutton green" href="<?php echo $checkoutUrl; ?>">
        <?php echo JText::_('JBZOO_CLIENTAREA_PAYMENT_GOTO_CHECKOUT'); ?></a>
<?php endif; ?>

Еще можно сделать макрос для почты.
media\zoo\applications\jbuniversal\framework\helpers\jbordermacros.php

http://llfl.ru/xmyx5e
http://llfl.ru/isgycg
        } else if ($macros == 'order_payment_url') {

            if ($payment = $order->getPayment()) {
                if (!$payment->isPaid() && ($checkoutUrl = $payment->getRedirectUrl())) {
                    $replace = '<a target="_blank" class="jbbutton green" href="' . $checkoutUrl . '">'
                        . JText::_('JBZOO_CLIENTAREA_PAYMENT_GOTO_CHECKOUT') . '</a>';
                }
            }

  • 2
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 andrey.koch

andrey.koch
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 16.4
  • posts: 444
  • topics: 86

Posted 26 February 2016 - 18:10

Еще можно сделать макрос для почты.
Спасибо Денис, это типа "Статус оплаты", "Номер заказа" и т.д. в шаблонах уведомлений? 
  • 0

#9 andrey.koch

andrey.koch
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 16.4
  • posts: 444
  • topics: 86

Posted 26 February 2016 - 19:05

Еще можно сделать макрос для почты. media\zoo\applications\jbuniversal\framework\helpers\jbordermacros.php

:( Не приходит ссылка.

 

 

Кусок файла  jbordermacros.php

22.png

<?php

/**

 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component

 * @package     jbzoo

 * @version     2.x Pro

 * @author      JBZoo App http://jbzoo.com

 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.

 * @license     http://jbzoo.com/license-pro.php JBZoo Licence

 * @coder       Denis Smetannikov <denis@jbzoo.com>

 */



// no direct access

defined('_JEXEC') or die('Restricted access');





/**

 * Class JBOrderMacrosHelper

 */

class JBOrderMacrosHelper extends AppHelper

{

    /**

     * @type array

     */

    protected $_list = array(

        'time',

        'date',

        'datetime',



        'order_id',

        'order_name',

        'order_status',

        'order_total',

        'order_created_id',

        'order_created_name',

        'order_payment_name',

        'order_payment_stat',

		'order_payment_url',

        'order_shipping_name',

        'order_shipping_stat',



        'user_id',

        'user_name',



        'site_name',

        'site_desc',

        'site_url',

        'site_link',



        'shop_name',

        'shop_desc',

        'shop_country',

        'shop_city',

        'shop_address',

        'shop_zip',

    );



    /**

     * Get macros list with description

     */

    public function getList()

    {

        $result = array();



        foreach ($this->_list as $macros) {

            $key   = '{' . $macros . '}';

            $value = JText::_('JBZOO_ORDER_MACROS_' . strtoupper($macros));



            $result[$key] = $value;

        }



        return $result;

    }



    /**

     * @param string      $text

     * @param JBCartOrder $order

     * @return mixed

     */

    public function renderText($text, $order)

    {

        foreach ($this->_list as $macros) {

            $text = $this->_replaceMacros($text, $macros, $order);

        }



        return $text;

    }



    /**

     * @param string      $text

     * @param string      $macros

     * @param JBCartOrder $order

     * @return mixed

     * @throws Exception

     */

    private function _replaceMacros($text, $macros, JBCartOrder $order = null)

    {

        $date = JFactory::getDate('now', $this->app->date->getOffset());



        if ($macros == 'date') {

            $replace = $date->format(JText::_('DATE_FORMAT_LC3'));



        } else if ($macros == 'time') {

            $replace = $date->format('H:i');



        } else if ($macros == 'datetime') {

            $replace = $date->format('Y-m-d H:m');



        } else if ($macros == 'order_id' && $order) {

            $replace = $order->getName('short');



        } else if ($macros == 'order_name' && $order) {

            $replace = $order->getName('full');



        } else if ($macros == 'order_status' && $order) {

            $replace = $order->getStatus()->getName();



        } else if ($macros == 'order_total' && $order) {

            $replace = $order->getTotalSum()->text();



        } else if ($macros == 'order_payment_name' && $order) {

            $replace = JText::_('JBZOO_UNDEFINED');

            if ($payment = $order->getPayment()) {

                $replace = $payment->getName();

            }



        } else if ($macros == 'order_payment_stat' && $order) {

            $replace = $order->getPaymentStatus()->getName();



        } else if ($macros == 'order_shipping_name' && $order) {

            $replace = JText::_('JBZOO_UNDEFINED');

            if ($shipping = $order->getShipping()) {

                $replace = $shipping->getName();

            }



        } else if ($macros == 'order_shipping_stat' && $order) {

            $replace = $order->getShippingStatus()->getName();



        } else if ($macros == 'user_id') {

            $replace = (int)JFactory::getUser()->id;



        } else if ($macros == 'user_name') {

            $juser   = JFactory::getUser();

            $replace = ($juser->id > 0) ? $juser->get('name') : JText::_('JBZOO_UNDEFINED');



        } else if ($macros == 'order_created_id') {

            $replace = $order->created_by;



        } else if ($macros == 'order_created_name') {

            $juser   = JFactory::getUser($order->created_by);

            $replace = ($juser->id > 0) ? $juser->name : JText::_('JBZOO_UNDEFINED');



        } else if ($macros == 'site_name') {

            $replace = JFactory::getConfig()->get('sitename', '');



        } else if ($macros == 'site_desc') {

            $replace = JFactory::getConfig()->get('MetaDesc', '');



        } else if ($macros == 'site_url') {

            $replace = JUri::root();



        } else if ($macros == 'site_link') {

            $sitename = JString::trim(JFactory::getConfig()->get('sitename'));

            $replace  = '<a href="' . JUri::root() . '" target="_blank">' . $sitename . '</a>';



        } else if ($macros == 'shop_name') {

            $replace = JBModelConfig::model()->get('shop_name', '', 'cart.config');



        } else if ($macros == 'shop_desc') {

            $replace = JBModelConfig::model()->get('shop_details', '', 'cart.config');



        } else if ($macros == 'shop_country') {

            $replace = JBModelConfig::model()->get('default_shipping_country', '', 'cart.config');



        } else if ($macros == 'shop_city') {

            $replace = JBModelConfig::model()->get('default_shipping_city', '', 'cart.config');



        } else if ($macros == 'shop_address') {

            $replace = JBModelConfig::model()->get('default_shipping_address', '', 'cart.config');



        } else if ($macros == 'shop_zip') {

            $replace = JBModelConfig::model()->get('default_shipping_zip', '', 'cart.config');


        } else if ($macros == 'order_payment_url') {

            if ($payment = $order->getPayment()) {
                if (!$payment->isPaid() && ($checkoutUrl = $payment->getRedirectUrl())) {
                    $replace = '<a target="_blank" class="jbbutton green" href="' . $checkoutUrl . '">'
                        . JText::_('JBZOO_CLIENTAREA_PAYMENT_GOTO_CHECKOUT') . '</a>';
                }
            }



        } else {

            throw new Exception('Undefined email macros: "{' . $macros . '}"');

        }



        if (isset($replace)) {

            $replace = JString::trim($replace);

            $macros  = preg_quote('{' . trim($macros) . '}');

            $text    = preg_replace('#' . $macros . '#ius', $replace, $text);

        }



        return $text;

    }



}


  • 0

#10 andrey.koch

andrey.koch
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 16.4
  • posts: 444
  • topics: 86

Posted 27 February 2016 - 18:39

Не приходит ссылка.
Точнее ссылка для Робокассы приходит, а для Яндекса нет. 
  • 0




Click to return to top of page in style!