public function refund($transactionId, $amount_or_options = null)
{
self::_validateId($transactionId);
if (gettype($amount_or_options) == "array") {
$options = $amount_or_options;
} else {
$options = ["amount" => $amount_or_options];
}
Util::verifyKeys(self::refundSignature(), $options);
$params = ['transaction' => $options];
$path = $this->_config->merchantPath() . '/transactions/' . $transactionId . '/refund';
$response = $this->_http->post($path, $params);
return $this->_verifyGatewayResponse($response);
}