Я интегрирую API на основе подписки в свой проект laravel, и вызов API использует callback_url https://example.com/api/callback-handler, который отправляет асинхронный ответ и уже получен в функции обратного вызова, но как передать ответ в другой функции, называемой startSubcription()
когда получен ответ ??
Я попытался использовать массив GLOBAL
, переменную session
, cookie
, но он не работает в функции.
Переменная сеансаСодержит нулевую функцию при использовании в функции startSubcription (), но печатает в функции callback ()
$req_details = (object) array(
'action' => 'subscription',
'merchant' => 'xxxxx',
'order' => 'xxxxxx',
'request_id' => 'zxxxxx',
'service_name' => $service_name,
'url_callback' => 'https://example.com/api/callback-handler',
'url_return' => 'https://example.com/start-subscription',
);
Вызов API ::
$url = "https://services.exmple.at/smart/payment?action&merchant=$req_details->merchant&digest=$digest&order=$req_details->order&request_id=$req_details->request_id&service_name=$service_name&url_callback=$req_details->url_callback&url_return=$req_details->url_return";
public function callback(HttpRequest $request)
{
$callback_response = file_get_contents('php://input');
$callback_response = urldecode($callback_response);
$callback_response_xml = simplexml_load_string($callback_response_xml);
$json_callback_response = json_encode($callback_response_xml);
$callback_array_response = json_decode($json_callback_response, true);
$channel = $callback_array_response['payment_parameters']
['channel'];
}
Теперь я хочу использовать $channel
in startSubscription()
, которые выполняются после обратного вызова, упомянутого в url_return
Я хочу использовать $channel
внутри этой функции, присутствующей в том же контроллере
public function startSubscription(HttpRequest $request)
{
if ($channel == something){
//some task
}
}
ПОЖАЛУЙСТА, помогите мне
Спасибо