You can use this script if a gateway allows setting notification url per payment, like Paypal.
Copy <?php
//notify.php
use Payum\Core\Request\Notify;
use Payum\Core\Payum;
use Payum\Core\Reply\HttpResponse;
use Payum\Core\Reply\ReplyInterface;
include __DIR__.'/config.php';
/** @var Payum $payum */
$token = $payum->getHttpRequestVerifier()->verify($_REQUEST);
$gateway = $payum->getGateway($token->getGatewayName());
try {
$gateway->execute(new Notify($token));
http_response_code(204);
echo 'OK';
} catch (HttpResponse $reply) {
foreach ($reply->getHeaders() as $name => $value) {
header("$name: $value");
}
http_response_code($reply->getStatusCode());
echo ($reply->getContent());
exit;
} catch (ReplyInterface $reply) {
throw new \LogicException('Unsupported reply', null, $reply);
}
You have to use this script if a gateway does not allows setting notification url per payment, like Be2Bill.
Payum is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and our customers. If you'd like to join them, please consider: