'hutko',
'APIVersion' => '1.1', // Use API Version 1.1
'DisableLocalCredtCardInput' => true,
'TokenisedStorage' => false,
);
}
function hutko_config()
{
return array(
// the friendly display name for a payment gateway should be
// defined here for backwards compatibility
'FriendlyName' => array(
'Type' => 'System',
'Value' => 'hutko',
),
// a text field type allows for single line text input
'accountID' => array(
'FriendlyName' => 'Merchant ID',
'Type' => 'text',
'Size' => '25',
'Default' => '',
'Description' => 'Enter your Merchant ID here',
),
// a password field type allows for masked text input
'secretKey' => array(
'FriendlyName' => 'Secret Key',
'Type' => 'password',
'Size' => '25',
'Default' => '',
'Description' => 'Enter secret key here',
),
'cur' => array(
'FriendlyName' => 'Select Default Currency',
'Type' => 'dropdown',
'Options' => array(
'UAH' => 'Ukrainian Hryvnia',
'USD' => 'US Dollar',
'EUR' => 'Euro',
'GBP' => 'Pound sterling',
'CZK' => 'Koruna česká',
),
'Description' => 'Choose currency',
),
);
}
function hutko_link($params)
{
// Invoice Parameters
$currencyCode = $params['currency'];
if (empty($currencyCode)) {
return '
Error: Currency code missing from invoice.
';
}
// System Parameters
$systemUrl = $params['systemurl'];
$langPayNow = $params['langpaynow'];
$moduleName = $params['paymentmethod'];
$postfields = [];
$postfields['order_id'] = $params['invoiceid'] . Hutko_Helper::ORDER_SEPARATOR . time();
$postfields['merchant_id'] = $params['accountID'];
$postfields['order_desc'] = $params["description"];
$postfields['amount'] = round($params['amount'] * 100, 2);
$postfields['currency'] = $currencyCode;
$postfields['reservation_data'] = Hutko_Helper::buildReservationData($params);
$postfields['server_callback_url'] = $systemUrl . '/modules/gateways/callback/' . $moduleName . '.php?callbackMode=server';
$postfields['response_url'] = $systemUrl . '/modules/gateways/callback/' . $moduleName . '.php';
$postfields['sender_email'] = $params['clientdetails']['email'];
$postfields['signature'] = Hutko_Helper::getSignature($postfields, $params['secretKey']);
$htmlOutput = '';
//
return $htmlOutput;
}
function hutko_refund($params)
{
try {
$apiCall = Hutko_Helper::refund($params);
if ($apiCall['response']['response_status'] == 'failure') {
$result = array(
'status' => 'error',
'rawdata' => $apiCall['response']['error_message']
);
} else {
$result = array(
'status' => 'success',
'rawdata' => $apiCall['response'],
'transid' => $apiCall['response']['order_id'],
'fees' => 0,
);
}
} catch (Exception $e) {
$result = array(
'status' => 'error',
'rawdata' => $e->getMessage()
);
}
return $result;
}