Ответ 1
Вам нужно будет установить IPN, как было предложено Sanjiv. Вы можете получить поля в соответствии с переменными IPN. В случае возврата вам также потребуется использовать parent_txn_id
Если вы новичок в этом и находите жестким, вы можете использовать класс прослушивателя IPN, а затем интегрировать ниже код
$listener = new IpnListener();
try {
$verified = $listener->processIpn();
} catch (Exception $e) {
return Log::error($e->getMessage());
}
if ($verified) {
$data = $_POST;
$user_id = json_decode($data['custom'])->user_id;
$subscription = ($data['mc_gross_1'] == '10') ? 2 : 1;
$txn = array(
'txn_id' => $data['txn_id'],
'user_id' => $user_id,
'paypal_id' => $data['subscr_id'],
'subscription' => $subscription,
'expires' => date('Y-m-d H:i:s', strtotime('+1 Month')),
);
Payment::create($txn);
} else {
Log::error('Transaction not verified');
}
Сохраните этот файл в файле let say, ipn.php и теперь назначьте веб-путь для этого файла в своей учетной записи PayPal.
PS: убедитесь, что ваш IPN файл находится на общедоступном URL-адресе. Не используйте локальный или ограниченный сервер.