Foros del Web » Programando para Internet » PHP »

Callback Script para WHMCS

Estas en el tema de Callback Script para WHMCS en el foro de PHP en Foros del Web. Estimados Amigos Soy programador aficionado. Les escribo para ver si pueden ayudarme. Estoy haciendo la integración del Boton de Pago del Banco Mercantil (venezuela) en ...
  #1 (permalink)  
Antiguo 04/11/2008, 09:12
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Callback Script para WHMCS

Estimados Amigos

Soy programador aficionado. Les escribo para ver si pueden ayudarme.

Estoy haciendo la integración del Boton de Pago del Banco Mercantil (venezuela) en mi Website.

He logrado ya practicamente integrarlo (Ya logre que funcionara la logica de pase de datos al banco, procesamiento del pago, etc) exitosamente pero tengo un problema con el registro de las transacciones en mi site.

Estoy usando un script propietario para e-commerce (WHMCS http://www.whmcs.com) ellos tienen un API para comunicar aplicaciones externas con su sistema.

Leyendo la documentación del sistema logre integrar un callback script que toma los datos de pago del boton de pago y efectivamente los registra en el sistema, ya que envia los datos de confirmacion al cliente via e-mail y en la base de datos efectivamente registra la trasaccion.

Sin embargo aun tengo los siguientes problemas:

1.-El Script no diferencia cuando la transaccion es no exitosa y cuando si, ya que igualmente hace registros en la base de datos.
2.- Necesito que luego de que se registre la transaccion, me redireccione a una pagina que indique si fue exitosa o fue rechazada la transaccion.

Agradeciendo la orientacion que me puedan dar

Saludos Cordiales

Juan Peña

Adjunto el codigo del script callback que estoy usando.

Código:
<?php

$url = "http://www.midominio.com/clientes/includes/api.php"; # URL to WHMCS API file


$username = "user"; # Admin username goes here

$password = "password"; # Admin password goes here
   
$Minvoiceid = $_POST['invoiceNumber'];
$Mtransid = $_POST['confirmationNumber'];
$Mamount = $_POST['totalAmount'];

$postfields["username"] = $username;
$postfields["password"] = md5($password);
$postfields["action"] = "addinvoicepayment";

$postfields["invoiceid"] = $Minvoiceid;

$postfields["transid"] = $Mtransid;

$postfields["amount"] = $Mamount;

$postfields["gateway"] = "mercantil";


$ch = curl_init();


curl_setopt($ch, CURLOPT_URL, $url);


curl_setopt($ch, CURLOPT_POST, 1);


curl_setopt($ch, CURLOPT_TIMEOUT, 100);


curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);


curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);


$data = curl_exec($ch);


curl_close($ch);





$data = explode(";",$data);


foreach ($data AS $temp) {


  $temp = explode("=",$temp);


  $results[$temp[0]] = $temp[1];


}





if ($results["result"]=="Operacion Exitosa") {


  # Result was OK!


} else {


  # An error occured


  echo "El Siguiente Error ha Ocurrido: ".$results["message"];


}




?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 19:36.