예제 #1
0
 /**
  * Método para cargar un servicio y capturar el Exception en caso de error.
  */
 private function loadServiceKhipu(Khipu $khipu, $service)
 {
     try {
         return $khipu->loadService($service);
     } catch (Exception $exp) {
         return $exp;
     }
 }
?>
"/>
          </div>
          <input type="submit" value="Crear Cobro"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret']) && isset($_POST['email'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    // Cargamos el servicio para crear el boton
    // Luego cargamos el servicio.
    $khipu_service = $Khipu->loadService('CreateEmail');
    // Preparamos los datos que queremos enviar
    $data = array('subject' => 'Título del pago', 'body' => 'Descripción del producto', 'transaction_id' => '1', 'pay_directly' => 'false', 'send_emails' => 'true', 'return_url' => '', 'expires_date' => time() + 30 * 24 * 60 * 60, 'picture_url' => '');
    if ($_POST['amount'] > 0) {
        $amount = $_POST['amount'];
    }
    $khipu_service->setParameters($data);
    // Agregamos un destinatario con un monto
    $khipu_service->addRecipient('Example Name', $_POST['email'], $amount);
    // Lo enviamos
    $respuesta = $khipu_service->send();
    ?>
            <ul>
              <li>Bill ID: <?php 
    print $respuesta['bill_id'];
    ?>
?>
"/>
          </div>
          <input type="submit" value="Expirar Pago"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret']) && isset($_POST['bill_id'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    // Vamos a expirar el pago
    $data = array('bill_id' => $_POST['bill_id'], 'text' => 'Expirando pago de ejemplo');
    $expired_service = $Khipu->loadService('SetBillExpired');
    $expired_service->setParameters($data);
    if ($expired_service->set()) {
        print '<div class="message success">Expiramos el cobro ' . $_POST['bill_id'] . '</div>';
    } else {
        print '<div class="message error">No se pudo expirar el cobro ' . $_POST['bill_id'];
        print '<p>El mensaje de Khipu es: <em>' . $expired_service->getMessage() . '</em></p>';
        print '</div>';
    }
    ?>
          </div>
        <?php 
}
?>
      </div>
    </div>
print isset($_POST['payment_id']) ? $_POST['payment_id'] : '';
?>
"/>
          </div>
          <input type="submit" value="Marcar un pago como rechazado"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret']) && isset($_POST['payment_id'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    $data = array('payment_id' => $_POST['payment_id'], 'text' => 'Se rechaza por el example');
    $service = $Khipu->loadService('SetRejectedByPayer');
    $service->setParameters($data);
    if ($service->set()) {
        print '<div class="message success">Se marco como rechazado el pago ' . $_POST['payment_id'];
        print '</div>';
    } else {
        print '<div class="message error">No se pudo marca como rechazado el pago ' . $_POST['payment_id'];
        print '<p>El mensaje de Khipu es: <em>' . $service->getMessage() . '</em></p>';
        print '</div>';
    }
    ?>
          </div>
        <?php 
}
?>
      </div>
          </div>
          <div class="field">
            <label class="label-example">Llave</label>
            <input required size="43" type="textfield" name="secret" value="<?php 
print isset($_POST['secret']) ? $_POST['secret'] : '';
?>
"/>
          </div>
          <input type="submit" value="Consultar Estado"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    $service = $Khipu->loadService('ReceiverStatus');
    print $service->consult();
    ?>
          </div>
        <?php 
}
?>
      </div>
    </div>
  </div>
</body>
</html>
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;
}
 public function setUp()
 {
     $khipu = new Khipu();
     $khipu->authenticate(KHIPU_TEST_RECEIVER_ID, KHIPU_TEST_SECRET);
     $this->service = $khipu->loadService('CreateEmail');
 }
            <input size="43" type="textfield" name="url" value="<?php 
print isset($_POST['url']) ? $_POST['url'] : '';
?>
"/>
          </div>
          <input type="submit" value="Actualizar"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    $data = array('api_version' => $_POST['api_version'], 'url' => $_POST['url']);
    $service = $Khipu->loadService('UpdatePaymentNotificationUrl');
    $service->setParameters($data);
    print $service->update();
    print $service->getMessage();
    ?>
          </div>
        <?php 
}
?>
      </div>
    </div>
  </div>
</body>
</html>
print isset($_POST['payment_id']) ? $_POST['payment_id'] : '';
?>
"/>
          </div class="field">
          <input type="submit" value="Consultar pago"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret']) && isset($_POST['payment_id'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    $data = array('payment_id' => $_POST['payment_id']);
    $service = $Khipu->loadService('PaymentStatus');
    $service->setParameters($data);
    $consult = $service->consult();
    if ($consult) {
        print '<div class="message success">Consulta sobre el pago ' . $_POST['payment_id'];
        print '<p>' . $consult . '</p>';
        print '</div>';
    } else {
        print '<div class="message error">No se pudo consultar el pago ' . $_POST['payment_id'];
        print '<p>El mensaje de Khipu es: <em>' . $service->getMessage() . '</em></p>';
        print '</div>';
    }
    ?>
          </div>
        <?php 
}
print isset($_POST['payment_id']) ? $_POST['payment_id'] : '';
?>
"/>
          </div>
          <input type="submit" value="Marcar un pago como pagado"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret']) && isset($_POST['payment_id'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    $data = array('payment_id' => $_POST['payment_id']);
    $service = $Khipu->loadService('SetPayedByReceiver');
    $service->setParameters($data);
    if ($service->set()) {
        print '<div class="message success">Se marco como pagado el pago ' . $_POST['payment_id'];
        print '</div>';
    } else {
        print '<div class="message error">No se pudo marcar como pagado el pago ' . $_POST['payment_id'];
        print '<p>El mensaje de Khipu es: <em>' . $service->getMessage() . '</em></p>';
        print '</div>';
    }
    ?>
          </div>
        <?php 
}
?>
      </div>
            <input required min="1" type="number" name="amount" value="<?php 
print isset($_POST['amount']) ? $_POST['amount'] : $amount;
?>
"/>
          </div>
          <input type="submit" value="Generar Botón"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret'])) {
    ?>
          <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    // Cargamos el servicio para crear el boton
    $khipu_service = $Khipu->loadService('CreatePaymentURL');
    $payer_email = '*****@*****.**';
    $picture_url = 'https://s3.amazonaws.com/static.khipu.com/buttons/100x50.png';
    $data = array('subject' => 'Pago de Ejemplo', 'body' => 'Estamos usando la librería de Khipu, creamos una URL', 'amount' => $amount, 'transaction_id' => 1, 'payer_email' => $payer_email, 'picture_url' => $picture_url, 'custom' => 'Custom Variable', 'notify_url' => '');
    if ($_POST['amount'] > 0) {
        $data['amount'] = $_POST['amount'];
    }
    ?>
          <div>
            <?php 
    $khipu_service->setParameters($data);
    print $khipu_service->createUrl();
    ?>
          </div>

        <?php 
          </div>
          <div class="field">
            <label class="label-example">Llave</label>
            <input required size="43" type="textfield" name="secret" value="<?php 
print isset($_POST['secret']) ? $_POST['secret'] : '';
?>
"/>
          </div>
          <input type="submit" value="Consultar Bancos"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret'])) {
    ?>
          <div>Respuesta:
            <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    $service = $Khipu->loadService('ReceiverBanks');
    print $service->consult();
    ?>
          </div>
        <?php 
}
?>
      </div>
    </div>
  </div>
</body>
</html>
            <input required min="1" type="number" name="amount" value="<?php 
print isset($_POST['amount']) ? $_POST['amount'] : $amount;
?>
"/>
          </div>
          <input type="submit" value="Generar Botón"/>
        </form>
        <?php 
if (isset($_POST['receiver_id']) && isset($_POST['secret'])) {
    ?>
          <?php 
    $Khipu = new Khipu();
    // Nos identificamos
    $Khipu->authenticate($_POST['receiver_id'], $_POST['secret']);
    // Cargamos el servicio para crear el boton
    $khipu_service = $Khipu->loadService('CreatePaymentPage');
    $payer_email = '*****@*****.**';
    $picture_url = 'https://s3.amazonaws.com/static.khipu.com/buttons/100x50.png';
    $data = array('subject' => 'Pago de Ejemplo', 'body' => 'Estamos usando la librería de Khipu.', 'amount' => $amount, 'transaction_id' => 1, 'payer_email' => $payer_email, 'picture_url' => $picture_url, 'custom' => 'Custom Variable', 'notify_url' => '');
    if ($_POST['amount'] > 0) {
        $data['amount'] = $_POST['amount'];
    }
    ?>
          <div>
            <p>Los datos a enviar son:</p>
            <ul>
              <?php 
    foreach ($data as $name => $value) {
        ?>
                <li><strong><?php 
        print $name;
예제 #14
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;
 }