UserEvents и mspYaCassa, письма после оплаты через плагин приходят без данных
Доброго дня, подскажите советом, проблема следующая:
-при создании нового бронирования с таким чанком почты письма отправляются,
-при смене статуса из админки на оплату письма приходят,
-при оплате через mspyakassa письма приходят но информации в них нет ни у менеджера ни у пользователя.
Сайт выполняет функцию:
-оплата первичной консультации врача только через карту,
-создание события в гугл календаре,
-отправка письма клиенту и менеджеру.
Код tpl.msEmail впринципе стандартный с документации :
сниппет при отправлении письма после оплаты создает событие в гугл календаре.
options.nameclient, новое поле — ФИО
стоят последние версии modx, ms2, ue, mspyakassa
что приходит когда оплату проводим вручную сменой статуса:
и что приходит когда оплата через mspyakassa:
Если tpl такой сделать:
Если выполнить не через плагин то вот так
-при создании нового бронирования с таким чанком почты письма отправляются,
-при смене статуса из админки на оплату письма приходят,
-при оплате через mspyakassa письма приходят но информации в них нет ни у менеджера ни у пользователя.
Сайт выполняет функцию:
-оплата первичной консультации врача только через карту,
-создание события в гугл календаре,
-отправка письма клиенту и менеджеру.
{var $ue = $order.context == 'userevents'}
{if $ue}
{var $tmp = '!ue.get.order'|snippet:[
'msorder' => $order.id,
'return' => 'data'
]}
{set $products = $tmp.events}
{/if}
и т.д.
Код tpl.msEmail.paid.manager:{extends 'tpl.msEmail'}
{block 'title'}
{'ms2_email_subject_new_manager' | lexicon : $order}
<ul style="font-size: 15px;">
{foreach $products as $row}
<li>ФИО: {$row.options.nameclient}</li>
<li>Телефон: [[+address.phone]]</li>
<li>Почта: [[+user.email]]</li>
<li>Тип оплаты: [[+payment.name]]</li>
<li>Клиника: {$row.resource.parent|resource:'pagetitle'}</li>
<li>Врач: {$row.resource.pagetitle}</li>
<li>Комментрарий: {$row.options.comment}</li>
{if $row.resource.parent|resource:'id' == '4'}
{!$clcalid='idКалендаряГугл1@group.calendar.google.com'}
{else}
{!$clcalid='idКалендаряГугл2@group.calendar.google.com'}
{/if}
{!$modx->runSnippet('googleCalendar', [
'datetime' => $row.startdate|date_format:"%Y-%m-%dT%H:%M:00+03:00",
'endtime' => $row.enddate|date_format:"%Y-%m-%dT%H:%M:00+03:00",
'clinic' => $row.resource.parent|resource:'pagetitle',
'email' => $user.email,
'phone' => $address.phone,
'doctor' => $row.resource.pagetitle,
'pacient' => $row.options.nameclient,
'clcalid' => $clcalid,
])}
{/foreach}
</ul>
<hr>
{/block}
и т.д.
Сниппет гугл календаря рабочий, без него тоже самое, сниппет при отправлении письма после оплаты создает событие в гугл календаре.
options.nameclient, новое поле — ФИО
стоят последние версии modx, ms2, ue, mspyakassa
что приходит когда оплату проводим вручную сменой статуса:
и что приходит когда оплата через mspyakassa:
Если tpl такой сделать:
{var $tmp = '!ue.get.order'|snippet:[
'msorder' => $order.id,
'return' => 'data'
]}
{set $products1 = $tmp.events}
<pre>{print_r($order)}
</pre>
<pre>{print_r($products1)}
</pre>
{foreach $products1 as $row}
<li>ФИО: {$row.options.nameclient}</li>
<li>Телефон: [[+address.phone]]</li>
<li>Почта: [[+user.email]]</li>
<li>Тип оплаты: [[+payment.name]]</li>
<li>Клиника: {$row.resource.parent|resource:'pagetitle'}</li>
<li>Врач: {$row.resource.pagetitle}</li>
<li>Комментрарий: {$row.options.comment}</li>
{/foreach}
Приходит следующее: Array
(
[id] => 270
[user_id] => 68
[createdon] => 2020-02-19 17:18:22
[updatedon] =>
[num] => 2002/40
[cost] => 1
[cart_cost] => 1
[delivery_cost] => 0
[weight] => 0
[status] => 2
[delivery] => 1
[payment] => 4
[address] => 270
[context] => userevents
[comment] =>
[properties] => Array
(
[payment] => Array
(
[orderNumber] => 2002/40
[orderSumAmount] => 1.00
[api_partner] => MODX.VGRISH
[cdd_exp_date] => 0321
[shopArticleId] => 1645481
[paymentPayerCode] => 410011837201967
[paymentDatetime] => 2020-02-19T17:18:44.995+03:00
[cdd_rrn] => 005092303540
[paymentType] => AC
[requestDatetime] => 2020-02-19T17:18:44.670+03:00
[depositNumber] => LtFvvJAmMvnquTZl0k3uYZg0FZAZ..000.202002
[cps_user_country_code] => RU
[cdd_response_code] => 00
[orderCreatedDatetime] => 2020-02-19T17:18:27.015+03:00
[action] => paymentAviso
[shopId] => 655849
[scid] => 1667583
[shopSumBankPaycash] => 1001
[shopSumCurrencyPaycash] => 643
[rebillingOn] => false
[orderSumBankPaycash] => 1001
[orderSumCurrencyPaycash] => 643
[api_order] => 270
[unilabel] => 25df576e-000f-5000-a000-1dc0d5fc81f8
[cdd_pan_mask] => 427683|4905
[customerNumber] => 8@binexe.ru
[mshash] => 71553a80f48507092f23910d67548fe4
[environment] => Live
[shopDefaultUrl] => https://shop.aestclinic.ru/bron?msorder=270&mshash=71553a80f48507092f23910d67548fe4&action=default
[invoiceId] => 2002293705566
[cdd_auth_code] => 278138
[msorder] => 270
[shopSumAmount] => 0.96
[md5] => 9F0B4491A39763885F9C3349E6BDDDAB
)
)
[type] => 0
)
1
1
Если выполнить не через плагин то вот так
Array
(
[id] => 269
[user_id] => 77
[createdon] => 2020-02-19 17:11:54
[updatedon] => 2020-02-19 17:17:21
[num] => 2002/39
[cost] => 1
[cart_cost] => 1
[delivery_cost] => 0
[weight] => 0
[status] => 2
[delivery] => 1
[payment] => 1
[address] => 269
[context] => userevents
[comment] =>
[properties] =>
[type] => 0
)
1
Array
(
[0] => Array
(
[id] => 273
[user] => 77
[resource] => Array
(
[id] => 6
[type] => document
[contentType] => text/html
[pagetitle] => Манукян Артавазд Генрикович
[longtitle] => Главный врач клиники
[description] => Почетный член Евразийской ассоциации эстетической стоматологии (ЕАЭС) и Евразийской ассоциации остеологии, регенерации и остеоинтеграции (ЕАОРО)
[alias] => manukyan-artavazd-genrikovich
[alias_visible] => 1
[link_attributes] =>
[published] => 1
[pub_date] => 0
[unpub_date] => 0
[parent] => 4
[isfolder] =>
[introtext] =>
[content] =>
[richtext] => 1
[template] => 4
[menuindex] => 0
[searchable] => 1
[cacheable] => 1
[createdby] => 1
[createdon] => 2020-01-22 21:22:46
[editedby] => 1
[editedon] => 2020-02-19 08:53:12
[deleted] =>
[deletedon] => 0
[deletedby] => 0
[publishedon] => 2020-01-23 09:39:00
[publishedby] => 1
[menutitle] =>
[donthit] =>
[privateweb] =>
[privatemgr] =>
[content_dispo] => 0
[hidemenu] => 1
[class_key] => msProduct
[context_key] => web
[content_type] => 1
[uri] => clinic/podsosenskij/manukyan-artavazd-genrikovich
[uri_override] => 0
[hide_children_in_tree] => 0
[show_in_tree] => 1
[properties] =>
[article] =>
[price] => 1
[old_price] => 0
[weight] => 0
[image] => /assets/images/products/6/arto.jpg
[thumb] => /assets/images/products/6/small/arto.jpg
[vendor] => 0
[made_in] =>
[new] =>
[popular] =>
[favorite] =>
[tags] =>
[color] =>
[size] =>
[source] => 2
[vendor.id] =>
[vendor.name] =>
[vendor.resource] => 0
[vendor.country] =>
[vendor.logo] =>
[vendor.address] =>
[vendor.phone] =>
[vendor.fax] =>
[vendor.email] =>
[vendor.description] =>
[vendor.properties] =>
)
[status] => Array
(
[id] => 2
[name] => Активно
[description] =>
[color] => 339966
[active] => 1
[reserve] => 1
[rank] => 1
[editable] => 0
)
[startdate] => 2020-03-05 15:00:00
[enddate] => 2020-03-05 16:00:00
[phone] => 1231231231235
[description] =>
[properties] =>
[options] => Array
(
[cost] => 1
[nameclient] => 7
)
)
)
1
ФИО: 7
Телефон: 1231231231235
Почта: 77@binexe.ru
Тип оплаты: Оплата наличными
Клиника: Подсосенский
Врач: Манукян Артавазд Генрикович
Комментрарий:
Комментарии: 1
в сниппете ue.get.order есть поле canView,
если закомментировать то работает, ну тупо
$canView = ((!empty($_SESSION["userevents"]["orders"]) AND in_array($orderId, $_SESSION["userevents"]["orders"])) OR $order->get("user_id") == $modx->user->id OR $modx->user->hasSessionContext("mgr"));
выполнять данный сниппет после оплаты через mspyacassa нет возможности, если закомментировать то работает, ну тупо
$canView = 1;
но появляется видимость к заявкам из вне, «как-то так своими словами сильно не пинайте», если как то можно исправить не таким кардинальным методом то подскажите буду рад
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.