Подскажите, можно ли отловить событие в модуле сбера когда создается заказ в платежном шлюзе?
нужно записать OrderId оплаты, что бы потом чекать статус оплаты. Т.к. родной модуль от сбера криво работает и не всегда при совершении оплаты клиентом статус доходит до Битрикса.
В модуле есть такакой файл Gateway.php с классом Gateway, метод создания заказа registerOrder() при его инициализации создаётся заказ и пишется лог
Небольшая часть из лога
RESPONSE:
Array
(
[orderId] => d08d121a-8e29-7837-9957-39715e28e03f
[formUrl] => https://3dsec.sberbank.ru/payment/merchants/sbersafe/payment_ru.html?mdOrder=d08d121a-8e29-7837-9957-39715e28e03f
)
так же есть файл handler.php с классом class sberbank_ecom2Handler extends PaySystem\ServiceHandler implements PaySystem\IPrePayable
и методом public function initiatePay(Payment $payment, Request $request = null)
который подготавливает запрос для Gateway->registerOrder()
вот его конечное выполнение
public function initiatePay(Payment $payment, Request $request = null){
$RBS_Gateway = new \Sberbank\Payments\Gateway;
....
$gateResponse = $RBS_Gateway->registerOrder();
}
в $gateResponse содержится массив как раз нужной информации по созданному заказу в Сбер, то что выше попадает потом в лог.
array(16) {
["errorCode"]=>
string(1) "0"
["errorMessage"]=>
string(14) "Успешно"
["orderNumber"]=>
string(6) "1126_1"
["orderStatus"]=>
int(0)
["actionCode"]=>
int(-100)
["actionCodeDescription"]=>
string(0) ""
["amount"]=>
int(164710)
["currency"]=>
string(3) "643"
["date"]=>
float(1574941478398)
["orderDescription"]=>
string(0) ""
["merchantOrderParams"]=>
array(3) {
[0]=>
array(2) {
["name"]=>
string(7) "formUrl"
["value"]=>
string(113) "https://3dsec.sberbank.ru/payment/merchants/sbersafe/payment_ru.html?mdOrder=d08d121a-8e29-7837-9957-39715e28e03f"
}
[1]=>
array(2) {
["name"]=>
string(3) "CMS"
["value"]=>
string(14) "Bitrix 20.0.50"
}
[2]=>
array(2) {
["name"]=>
string(14) "Module-Version"
["value"]=>
string(5) "1.0.2"
}
}
["attributes"]=>
array(1) {
[0]=>
array(2) {
["name"]=>
string(7) "mdOrder"
["value"]=>
string(36) "d08d121a-8e29-7837-9957-39715e28e03f"
}
}
["terminalId"]=>
string(6) "123456"
["paymentAmountInfo"]=>
.....
Да можно конечно изменить файлы модуля Сбербанка и забирать нужную информацию прям из метода, но модуль обновляется и затрет все наши доработки. Хочется как то стороне подцепится на это событие