function khipu_get_verified_order_id_1_3($receiver_id, $secret, $params, $agent)
{
    $Khipu = new Khipu();
    $Khipu->authenticate($receiver_id, $secret);
    $Khipu->setAgent($agent);
    $service = $Khipu->loadService('GetPaymentNotification');
    $service->setDataFromPost();
    $response = json_decode($service->consult());
    if ($response->receiver_id != $receiver_id) {
        error_log("recibido " . $response->receiver_id . " en el receiver_id");
        return 0;
    }
    return $response->receiver_id == $receiver_id ? $response->custom : 0;
}
예제 #2
0
 public static function getOrderFromNotification_1_2($methodname)
 {
     require_once "lib-khipu/src/Khipu.php";
     $Khipu = new Khipu();
     $_POST = array_map('stripslashes', $_POST);
     $Khipu->authenticate(Mage::getStoreConfig("payment/{$methodname}/receiver_id"), Mage::getStoreConfig("payment/{$methodname}/api_secret"));
     $Khipu->setAgent('khmage-1.5.0;;' . Mage::app()->getStore()->getHomeUrl() . ';;' . Mage::app()->getStore()->getName());
     $create_page_service = $Khipu->loadService('VerifyPaymentNotification');
     $create_page_service->setDataFromPost();
     if ($_POST['receiver_id'] != Mage::getStoreConfig("payment/{$methodname}/receiver_id")) {
         return false;
     }
     $verify = $create_page_service->verify();
     $verified = $verify['response'] == 'VERIFIED';
     if ($verified) {
         $order = Mage::getModel('sales/order');
         $order->loadByIncrementId($_POST['transaction_id']);
         return $order;
     }
     return null;
 }