32 lines
611 B
PHP
32 lines
611 B
PHP
<?php
|
|
|
|
namespace Modules\Payment;
|
|
|
|
use JsonSerializable;
|
|
|
|
abstract class GatewayResponse implements JsonSerializable
|
|
{
|
|
abstract public function getOrderId();
|
|
|
|
public function toArray()
|
|
{
|
|
$data = ['orderId' => $this->getOrderId()];
|
|
|
|
if ($this instanceof ShouldRedirect) {
|
|
$data['redirectUrl'] = $this->getRedirectUrl();
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
public function jsonSerialize()
|
|
{
|
|
return $this->toArray();
|
|
}
|
|
|
|
public function __toString()
|
|
{
|
|
return json_encode($this->jsonSerialize());
|
|
}
|
|
}
|