WHMCS/modules/gateways/callback/payanyway.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');
}