Перейти к содержимому


Фото
- - - - -

Success URL

Яндекс.Директ Success URL

  • Чтобы отвечать, сперва войдите на форум
23 ответов в теме

#1 DarAmal

DarAmal
  • Пользователь
  • 703 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 10.05.2018 - 05:31

Приветствую, друзья!

 

Возможно прозвучал подобный вопрос, но к сожалению не нашел ясного ответа на форуме.

 

Дело в том, что коллега настраивает сайт под Яндекс.Директ и необходимы кое-какие настройки.

 

На данный момент возник такой вопрос:

"На какую страницу должна перенаправлять система после успешной оплаты клиентом заказа? То, что везде называется “Success URL”?

 

так как сама ссылка на страницу заказа имеет вид: http://наш-сайт.com/order/xxxxxxxxx

 

Подскажи, пожалуйста, что именно указать в таком случае?

 

Возможно кто-то сталкивался с Яндекс.Директ?!



#2 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 10.05.2018 - 05:54

/order



#3 DarAmal

DarAmal
  • Пользователь
  • 703 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 10.05.2018 - 07:58

/order

Спасибо за ответ.

Но почему, когда перехожу по ссылке http://наш-сайт.com/order откывается пустая (белая) страница, даже когда пользователь авторизован ?



#4 osben

osben
  • Фрилансер
  • 795 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:UA, RU

Опубликовано 10.05.2018 - 08:29

Спасибо за ответ.

Но почему, когда перехожу по ссылке http://наш-сайт.com/order откывается пустая (белая) страница, даже когда пользователь авторизован ?

Когда покупатель делаем заказ, ему в сессию записывается ид заказа, и при открытии /order будет открываться его последний заказ 



#5 DarAmal

DarAmal
  • Пользователь
  • 703 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 10.05.2018 - 08:33

Благодарю Maksclub и osben за ответ.



#6 DarAmal

DarAmal
  • Пользователь
  • 703 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 10.05.2018 - 08:37

Начал проверять ссылку на другом браузере, а там выдает "белую" страницу ))

Я на счет сессии забыл совсем ))



#7 phukortsin

phukortsin
  • Пользователь
  • 529 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 10.05.2018 - 09:24

Насколько я понимаю, Вы обнаружили очередную ошибку.

Как правильно заметил Osben, "Когда покупатель делаем заказ, ему в сессию записывается ид заказа, и при открытии /order будет открываться его последний заказ".

 

А что будет проходить при других, чуть более сложных, сценариях?

 

Пример 1. Покупатель сделал сразу друг за другом ДВА  заказа. После этого в сессии хранится, конечно второй. Если он после этого будет оплачивать первый заказ, то обратный переход с платежной системы на /order покажет не тот заказ, который он оплачивал.

 

Если этот пример покажется Вам слишком экзотичным и надуманным, то следующий пример - вполне реальный и жизненный.

 

Пример 2. Покупатель сделал заказ. Попробовал сразу оплатить - не вышло, например, не хватило денег на счете. Решил  отложить оплату на завтра, когда появятся средства. А завтра уже после успешной оплаты получает ту самую белую страницу - ибо вчерашняя сессия давно завершилась.



#8 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 784 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 10.05.2018 - 09:44

2 хранить ID заказа в куки

#9 phukortsin

phukortsin
  • Пользователь
  • 529 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 10.05.2018 - 12:18

2 хранить ID заказа в куки

 

Не слишком хорошо - типичные костыли. Привязывается к браузеру и с другого компьютера/браузера не сработает...



#10 ABSORBER

ABSORBER
  • Модератор
  • 465 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Опубликовано 10.05.2018 - 12:37

Насколько я понимаю, Вы обнаружили очередную ошибку.

Как правильно заметил Osben, "Когда покупатель делаем заказ, ему в сессию записывается ид заказа, и при открытии /order будет открываться его последний заказ".

 

А что будет проходить при других, чуть более сложных, сценариях?

 

Пример 1. Покупатель сделал сразу друг за другом ДВА  заказа. После этого в сессии хранится, конечно второй. Если он после этого будет оплачивать первый заказ, то обратный переход с платежной системы на /order покажет не тот заказ, который он оплачивал.

 

Если этот пример покажется Вам слишком экзотичным и надуманным, то следующий пример - вполне реальный и жизненный.

не правда.

Оплата заказа происходит следующим образом:

  1. клиент на странице заказа кликает по кнопке оплатить
  2. делает оплату
  3. процессинговый центр возвращает ответ (успешная оплата или нет) и передает номер заказа
  4. callback.php берет ID заказа, достает URL Заказа из БД
  5. редиректит пользователя на страницу заказа с верным URL.

Тем самым оплачивая первый заказ вы попадете на первый заказ, т.к. в БД у него уникальный УРЛ.

 

Пример 2. Покупатель сделал заказ. Попробовал сразу оплатить - не вышло, например, не хватило денег на счете. Решил  отложить оплату на завтра, когда появятся средства. А завтра уже после успешной оплаты получает ту самую белую страницу - ибо вчерашняя сессия давно завершилась.

то-же касательно этого примера.

Если у пользователя есть ссылка на страницу заказа, ему остается кликнуть "оплатить".

 

"На какую страницу должна перенаправлять система после успешной оплаты клиентом заказа? То, что везде называется “Success URL”?

 

так как сама ссылка на страницу заказа имеет вид: http://наш-сайт.com/order/xxxxxxxxx

 

Подскажи, пожалуйста, что именно указать в таком случае?

После успешной оплаты будет редирект на http://наш-сайт.com/order/xxxxxxxxx

 

Что конкретно вам нужно в яндекс.диркете относительно страниц заказа?



#11 phukortsin

phukortsin
  • Пользователь
  • 529 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 10.05.2018 - 12:55

не правда.
Оплата заказа происходит следующим образом:


  • клиент на странице заказа кликает по кнопке оплатить
  • делает оплату
  • процессинговый центр возвращает ответ (успешная оплата или нет) и передает номер заказа
  • callback.php (любого платежного модуля) берет ID заказа, достает URL Заказа из БД
  • редиректит пользователя на страницу заказа с верным URL.

По-моему, Вы многое перепутали, в частности:
1. Процессинговый центр возвращает ответ по ОДНОМУ адресу, заранее данному ему и одинаковому для всех заказов, обычно это /order.  А при обработке ответа (в view/OrderView.php) переданный параметр (если такой и есть) не обрабатывается (и обрабатывать его довольно сложно, так как он разный у разных систем)...

2. Callback ничего НЕ редиректит, он заканчивает при успехе оператором типа die("OK".$order_id."\n");
3. Callback тут вообще не по теме, в вопросе ТС речь шла про работу пользователя в браузере...
 



#12 ABSORBER

ABSORBER
  • Модератор
  • 465 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Опубликовано 10.05.2018 - 13:21

phukortsin, в 10 May 2018 - 19:45, сказал(а):
По-моему, Вы многое перепутали, в частности:
1. Процессинговый центр возвращает ответ по ОДНОМУ адресу, заранее данному ему и одинаковому для всех заказов, обычно это /order. А при обработке ответа (в view/OrderView.php) переданный параметр (если такой и есть) не обрабатывается (и обрабатывать его довольно сложно, так как он разный у разных систем)...
2. Callback ничего НЕ редиректит, он заканчивает при успехе оператором типа die("OK".$order_id."\n");
3. Callback тут вообще не по теме, в вопросе ТС речь шла про работу пользователя в браузере...

1. Процессинговый центр возвращает ответ по адресу //SITENAME/paymanes/MODULE_NAME/callback.php, в свою очередь callback.php списывает товары, переводит заказ в статус "оплачен" и тд операции.


2. Я делал модуль Сбербанк-эквайринга, KKB и других платежных систем, и везде делал редирект.

В YandexMoney например, передается successurl прямо в форме с кнопкой "перейти к оплате". И выглядит он так: $this->config->root_url.'/order/'.$order->url;

 

3. ТС показал два примера, которые имеют отношение к callback.php

 

Добавлено:

В любом случае ссылка на успешную оплату либо указывается при регистрации заказа в процессинговом центре, и она равна //SITENAME/order/xxxxxxxxxx

Либо редирект через callback.php, если в процессинговом центре нет такой функции "урл об успешной оплате".


Изменено: ABSORBER, 10.05.2018 - 13:38


#13 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 784 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 10.05.2018 - 15:08

1. Процессинговый центр возвращает ответ по адресу //SITENAME/paymanes/MODULE_NAME/callback.php, в свою очередь callback.php списывает товары, переводит заказ в статус "оплачен" и тд операции.


2. Я делал модуль Сбербанк-эквайринга, KKB и других платежных систем, и везде делал редирект.

В YandexMoney например, передается successurl прямо в форме с кнопкой "перейти к оплате". И выглядит он так: $this->config->root_url.'/order/'.$order->url;

 

3. ТС показал два примера, которые имеют отношение к callback.php

 

Добавлено:

В любом случае ссылка на успешную оплату либо указывается при регистрации заказа в процессинговом центре, и она равна //SITENAME/order/xxxxxxxxxx

Либо редирект через callback.php, если в процессинговом центре нет такой функции "урл об успешной оплате".

+



#14 phukortsin

phukortsin
  • Пользователь
  • 529 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 10.05.2018 - 15:18

Если Вы что-то свое делали и у Вас хорошо работает, поздравляю.

 

Но в теме речь идет о стандартных приемах Simpla, связанных с платежами.

 

Например, в payment/Robokassa/example.png показаны типовые

successURL  как http://shop.ru/order

callbackURL  как http://shop.ru/payme...sa/callback.php

 

Если Вы используете свои приемы, в частности, используете callback.php не по его прямому назначению, а как successURL, то это Ваш выбор. Но это несколько расходится с официальной идеологией Simpla и, возможно, применимо не для всех платежных систем. 

 

Фактически Вы применяете несколько другой  способ. И похоже, при Вашем методе этой ошибки  нет.

А в стандартной схеме Simpla ошибка есть в том виде, как описана выше.

 

И очень похоже, что Ваш метод лучше официального...



#15 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 12.05.2018 - 12:44

Благодарю Maksclub и osben за ответ.

Вне контекста Симплы набросал статейку для общего понимания :)

 

https://maksfedorov....oy-cherez-http/


Изменено: Maksclub, 12.05.2018 - 12:44


#16 phukortsin

phukortsin
  • Пользователь
  • 529 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 12.05.2018 - 13:11

По-моему, одни общие фразы. Для специалистов - ошибки и неточности почти в каждой фразе. Для простых пользователей - полная непонятная абстракция - разве что можно сделать вывод, что автор очень умный.

 

Например,

Порядок работы:

    1. Оплата → (redirect) → .ru/payment.aspx?id=123&price=1000
    2. Пользователь оплачивает
    3. Когда он нажимает оплатить, платежная система идет с запросом на processUrl, например на /payment/process (GET или POST), передавая параметры — чтобы проверить заказ.
    4. Наш сайт отвечает OK или не OK
    5. Если ОК → платежка списывает с человека деньги, и выводит примерно текст «Перейи на сайт магазина» (которая ведет на successUrl)

П.1. По моему, автор вообще не очень понимает смысл слова редирект...

П.2 и п.3 явно не в том порядке.

П.3 - совсем неправильно. Во-всяком случае, большинство платежных сервисов так не работают...

П.4 -  То, что написано, это общее правило для всех запросов и ответов.  "отвечает OK или не OK" - это всегда так. Смысла никакого...



#17 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 12.05.2018 - 21:10

По-моему, одни общие фразы. Для специалистов - ошибки и неточности почти в каждой фразе. Для простых пользователей - полная непонятная абстракция - разве что можно сделать вывод, что автор очень умный.П.1. По моему, автор вообще не очень понимает смысл слова редирект...

П.2 и п.3 явно не в том порядке.

П.3 - совсем неправильно. Во-всяком случае, большинство платежных сервисов так не работают...

П.4 -  То, что написано, это общее правило для всех запросов и ответов.  "отвечает OK или не OK" - это всегда так. Смысла никакого...

 

Да, черновик для быстрого наброса информации — редактировать буду, действительно все в точку и  спасибо большое!...

 

Для специалистов - ошибки и неточности почти в каждой фразе. Для простых пользователей - полная непонятная абстракция

 

Сильно в техническую область переводить не буду — это все же для джуниоров, тк эта тема слегка отпугивает их...

Спецы могут кривиться, но материалы такого плана выручают... Это как на юридическую тему объяснять обычным людям — в доль и поперек неверные «юридически» фразы и трактовки, но понятные.


Изменено: Maksclub, 12.05.2018 - 21:10


#18 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 12.05.2018 - 21:23

По-моему, одни общие фразы. Для специалистов - ошибки и неточности почти в каждой фразе. 

 

Это я делал конспект (так и было в названии, но длинно — убрал) по видео

Сначала по памяти набросал заметки, потом склеил в более-менее логичные вещи,

потому  коряво выглядит — особенно видно в местах «Оплата», а после — «Нажал на кнопку "Оплатить"» :) отредактирую


Изменено: Maksclub, 12.05.2018 - 21:24


#19 phukortsin

phukortsin
  • Пользователь
  • 529 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 13.05.2018 - 09:26

...материалы такого плана выручают...

 

Материал в текущем виде - ни себе ни людям...

 

Это как на юридическую тему объяснять обычным людям — в доль и поперек неверные «юридически» фразы и трактовки, но понятные.

 

У Вас в начале статьи заявлено "Если вам нужно будет организовать оплату на своем сайте и под ваш фреймворк или ЦМС нет готовых решений — его не сложно написать самому."

 

Возьмите для примера одну конкретную систему и под нее напишите с объяснениями ПОНЯТНЫМИ. Чтобы после прочтения у него, малоподготовленного, остался такой материал, чтоб он мог скопировать-вставить и оп, заработало... Вот тогда это и понятно и полезно... 

 

Например, есть тема

http://forum.simplac...латы-securepay/

Вот, например, по заявке из той темы и сделайте своим методом, который "не сложно написать самому". Ведь там фрилансеры хотят за работу приличные деньги, сопоставимые  со стоимостью всей Simpla...



#20 ABSORBER

ABSORBER
  • Модератор
  • 465 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Опубликовано 13.05.2018 - 10:50

phukortsinMaksclub

 

У каждого платежного сервиса, есть инструкция как с ним работать. 

Любой программист умеющий работать с cURL легко разберется как и что сделать.

 

А задачи вроде делать редирект или не делать, вытекают из целей проекта.






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых