/** * 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;
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; }