Как сменить статус заказа при успешной оплате для minishop2?
После оплаты, идёт перенаправление на страницу, в параметрах странице уже есть такие параметры как
Так вот как после завершение удачной оплаты, как дать знать минишопу что заказ оплачен и можно менять статус на «Оплачено» допустим?
Модуль оплаты сделан вручную, существующих для нужной мне системы нет.
В моём модуле есть 2 метода что были переопределены, это метод «Send» и метод «getPaymentLink», мне нужно добавить ещё что-то? или что нужно сделать?
Так же самой системой оплаты на мою ссылку успешной оплаты, приходит ответ, и в ответе есть ключ с типом code
action,msorder,mscode все они имеют значение что и должны, 1 это после успешной оплаты получит «success» 2й, это номер заказа, 3й это хеш заказа.Так вот как после завершение удачной оплаты, как дать знать минишопу что заказ оплачен и можно менять статус на «Оплачено» допустим?
Модуль оплаты сделан вручную, существующих для нужной мне системы нет.
В моём модуле есть 2 метода что были переопределены, это метод «Send» и метод «getPaymentLink», мне нужно добавить ещё что-то? или что нужно сделать?
Так же самой системой оплаты на мою ссылку успешной оплаты, приходит ответ, и в ответе есть ключ с типом code
Комментарии: 13
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Для фронта, в случае этого метода ничего не происходит, так как он является служебным API методом.
Как его тригерить — посмотрите в том же Paypal или например Робокасса
Потому что от банка вроде должно приходить что якоба оплата прошла именно на сайт, а как бы есть то нет, а так же там только есть номер счёта. Конечно можно добавить поле в заказ и указать айди счёт на оплату и по нему искать так, но слишком много костылей, плюс это всё может приходить то не приходить, то может приходить спустя время, а с помощью редиректа я все данные получаю быстро.
Хостинг обычный виртуальный, php 7.4+ modx 2.7.3
Еще раз. Метод receive не используется клиентом, администратором и т.п.
Он нужен для того чтобы Банк в фоновом режиме сообщил сайту о совершенной оплате. Никаких редиректов там нет и быть не может.
Смену статуса оплаты по URL в данном случае использовать нельзя, потому что зная нужную комбинацию — мошенник может подтвердить оплату, не производя ее.
Опирайтесь ТОЛЬКО на автоматическую служебную информацию от банка.
Ниже функции проверки и смены статуса
Так же сейчас добавлю поле для заказа, и буду записывать туда номер счёта на оплату, и так же добавлю новую проверку
Сейчас же, в гет запрос должен попасть номер заказа, а так же хэш заказа, а потом ещё и номер заказа, получается защиты будет по больше, ему нужно будет подобрать 2 параметра.
К тому же, по урл ничего не меняется, происходят проверки, и потом лишь только запрашивается у банка код транзакции на стороне сайта, и лишь потом на стороне сайта меняется статус заказа. В том же пейпале точно так же как и у меня, у меня даже по больше защиты будет, разве нет?
Посмотрите как устроена она. Это самый свежий компонент.
Затем идёт редирект с фронта на оплату, и потом я сделал редирект после успешной оплаты, идёт редирект, в редиректе есть обычные гет запросы, с номером заказа, хэш заказа, а так же номер счёта на оплату, и потом точно так же как в робокасе и пейпале, я всё отправляю в метод оплаты, и внутри на сайте, потом сверяю все предоставленные данные, и только потом я отправляю отдельный запрос в банк чтобы он дал мне статус оплаты по данному счёту на оплату, и там же внутри самого сайта я меняю статус в зависимости от ответа от банка.
У меня от банка приходит лишь номер счёта на оплату, и всё, нет ни подписи, не номера заказа, не хэш этого заказа, по этому я сделал через редирект, сейчас сделаю как вы посоветовали.
Первый — Зачем вообще после возвращения со страницы оплаты что то делать? Это может быть актуально разве что для цифровых товаров, которые после оплаты должны быть доступны для скачивания.
Второй вопрос — я потерял нить разговора. У вас вопрос какой бы изначально? В чем затык?
2) Всё что было решил, просто по моему решение мне нужно была помощь чтобы он выполнялся в фоне.
3) Переделаю как вы посоветовали, будет так же как в робокасе и пейпале, только из проверки будет только на ориджин. И само собой будут проверки на стороне сайта, то есть сначала спрошу заново о статусе, лишь потом буду что-то менять в заказе.