Skip to content
Code-Schnipsel Gruppen Projekte
Commit fd3e54d5 erstellt von Patrick Müller's avatar Patrick Müller
Dateien durchsuchen

refactor: removed onPaymentsGatewayReadRequest event -> is now handled by ipnCallback.php

Übergeordneter 3c450bb0
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
<?xml version="1.0" encoding="UTF-8"?>
<events>
<event on="onPaymentsGatewayReadRequest" fire="\QUI\ERP\Payments\Amazon\Events::onPaymentsGatewayReadRequest"/>
<event on="onQuiqqerOrderSuccessful" fire="\QUI\ERP\Payments\Amazon\Events::onQuiqqerOrderSuccessful"/>
</events>
\ No newline at end of file
......@@ -18,70 +18,6 @@ class Events
const ACTION_CAPTURE = 'capture';
const ACTION_REFUND = 'refund';
/**
* quiqqer/payments: onPaymentsGatewayReadRequest
*
* Read request to the central payment gateway and check
* if it is an Amazon Pay request
*
* @param Gateway $Gateway
* @return void
*/
public static function onPaymentsGatewayReadRequest(Gateway $Gateway)
{
if (!Provider::isIpnHandlingActivated()) {
return;
}
$headers = getallheaders();
$body = file_get_contents('php://input');
try {
$IpnHandler = new IpnHandler($headers, $body);
} catch (\Exception $Exception) {
// request is not an Amazon IPN request and can be safely ignored
return;
}
$ipnData = $IpnHandler->toArray();
if (empty($ipnData['CaptureDetails']['CaptureReferenceId'])) {
// do not work with anything but capture requests
return;
}
// Capture
$orderIdentifier = $ipnData['CaptureDetails']['CaptureReferenceId'];
if (!$orderIdentifier) {
QUI\System\Log::addDebug(
'Amazon Pay :: Could not parse AuthorizationReferenceId or CaptureReferenceId from IPN request.'
.' IPN request data: '.$IpnHandler->toJson()
);
return;
}
// parse Order ID from special reference ID
$orderIdentifier = explode('_', $orderIdentifier);
$Orders = OrderHandler::getInstance();
try {
$Order = $Orders->getOrderById($orderIdentifier[1]);
} catch (\Exception $Exception) {
QUI\System\Log::addError(
'Amazon Pay :: Could not load Order from IPN request. Parsed Order ID: '.$orderIdentifier[1]
);
return;
}
$Gateway->setOrder($Order);
$Gateway->enableGatewayPayment();
// now the Gateway can call \QUI\ERP\Payments\Amazon->executeGatewayPayment()
}
/**
* quiqqer/order: onQuiqqerOrderSuccessful
*
......
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren