36 lines
1.3 KiB
PHP
36 lines
1.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* PayAnyWay - WHMCS Callback Handler
|
|
*
|
|
* Receives payment status and check notifications from PayAnyWay
|
|
* and automatically marks WHMCS invoices as paid upon successful payments.
|
|
*
|
|
* Notification URL to configure in your app:
|
|
* https://your_whmcs_site/modules/gateways/callback/payanyway.php
|
|
*/
|
|
|
|
require_once __DIR__ . '/../../../init.php';
|
|
require_once __DIR__ . '/../../../includes/gatewayfunctions.php';
|
|
require_once __DIR__ . '/../../../includes/invoicefunctions.php';
|
|
require_once __DIR__ . '/../payanyway.php';
|
|
|
|
$requestData = ($_SERVER['REQUEST_METHOD'] === 'POST') ? $_POST : $_GET;
|
|
$gatewayModuleName = 'payanyway';
|
|
|
|
try {
|
|
$gatewayParams = getGatewayVariables($gatewayModuleName);
|
|
if (!$gatewayParams || !isset($gatewayParams['type'])) {
|
|
payanyway_sendResponse('FAIL');
|
|
}
|
|
|
|
$callbackData = payanyway_getCallbackData($requestData);
|
|
|
|
(isset($callbackData['MNT_COMMAND'])) && ('CHECK' === $callbackData['MNT_COMMAND'])
|
|
? payanyway_handleCheckCallback($callbackData, $gatewayParams)
|
|
: payanyway_handlePayCallback($callbackData, $gatewayParams, $gatewayModuleName);
|
|
} catch (\Exception $e) {
|
|
logTransaction($gatewayModuleName, $requestData, 'Error: ' . $e->getMessage());
|
|
payanyway_sendResponse('FAIL');
|
|
}
|