Información general

ClickBank le ofrece un servicio de notificación instantánea que le informa acerca de las transacciones dentro del sistema de ClickBank para su cuenta. Envía datos casi en tiempo real para los siguientes tipos de acciones:

  • Ventas
  • Refacturación
  • Reembolsos
  • Contracargo
  • Cancelación de la refacturación
  • Prueba

El servicio tiene el objetivo de publicar información a través de HTML FORM POST a una dirección URL especificada por usted. Cada publicación contiene un grupo de parámetros de dirección URL relevantes para la transacción. Con el fin de prevenir fraudes, uno de los parámetros, el campo cverify, se utiliza para verificar la validez de otros campos.

Observación: Este servicio está destinado para que lo usen programadores con experiencia. Los clientes sin amplias habilidades de programación deberían abstenerse de implementar las notificaciones instantáneas sin solicitar primero los servicios de un programador con experiencia.

Cómo funciona

El Servicio de notificación instantánea de Clickbank se activa cada vez que se lleva a cabo una transacción o se produce una acción en una transacción de su cuenta de ClickBank. El flujo principal incluye los siguientes pasos:

  1. Se produce una acción en el sistema de Clickbank (por ejemplo, una venta, una refacturación, un reembolso, etc.).
  2. ClickBank publica los parámetros FORM en la dirección URL que usted especificó.
  3. Clickbank analiza la respuesta del servidor.
  4. El programa que usted generó procesa las variables.

Configurar el servicio en su cuenta de ClickBank es simple. Sin embargo, también es necesario generar un programa que procese los parámetros de la notificación instantánea para la dirección URL, lo que es una tarea más técnica. Con el fin de utilizar correctamente este servicio, su programa debe procesar por lo menos los parámetros descritos en la sección Parámetros para dirección URL de este documento.

Qué se debe saber

Para que el Servicio de notificación instantánea funcione correctamente, usted necesita comprender los siguientes puntos. No comprender ni implementar correctamente estos puntos podría tener como consecuencia la eliminación de las notificaciones instantáneas de su cuenta.

  1. Qué significa enviar un HTML FORM POST a una dirección URL
  2. Cuáles son los Parámetros para una dirección URL
  3. Qué es una Clave secreta
  4. Cómo implementar el proceso para Cifrar
  5. La importancia de utilizar la Capa de socket seguro (SSL)
  6. Las consecuencias del Monitoreo del código de respuesta

Si usted no comprende uno o más de los puntos detallados anteriormente, le recomendamos que solicite los servicios de un profesional que comprenda estos puntos de implementación. No seguir esta recomendación podría traer como consecuencia la eliminación de esta función de su cuenta.

Cómo comenzar

Comprensión de la notificación instantánea

Antes de implementar esta función, debería familiarizarse con la siguiente información.

Parámetros para dirección URL

Los siguientes parámetros para dirección URL se transfieren desde el Servicio de notificación instantánea de ClickBank.

Parámetro Descripción Detalle
ccustname nombre del cliente 1-510 caracteres
ccuststate estado del cliente 0-2 caracteres
ccustcc código de país del cliente 0-2 caracteres
ccustemail correo electrónico del cliente 1-255 caracteres
cproditem número de producto de Clickbank 1-5 caracteres
cprodtitle título del producto en el momento de la compra 0-255 caracteres
cprodtype tipo de producto de la transacción (ESTÁNDAR y RECURRENTE) 8-11 caracteres
ctransaction * acción tomada 4-15 caracteres
ctransaffiliate afiliado de la transacción 0-10 caracteres
ctransamount monto pagado a la parte que recibe la notificación (en centavos [1000 = $10,00]) 3-10 caracteres
ctranspaymentmethod método de pago del cliente 0-4 caracteres
ctranspublisher proveedor de la transacción 5-10 caracteres
ctransreceipt número de recibo de ClickBank 8-13 caracteres
caffitid identificación de seguimiento del afiliado 0 a 24 caracteres
cvendthru información adicional pasada al formulario de pedido con la eliminación de la información duplicada 0-1024 caracteres
cverify ** el parámetro “cverify” se utiliza para verificar la validez de los campos anteriores 8 caracteres
ctranstime ** período de tiempo en el que se produjo la transacción (no está incluido en cverify) 10 caracteres
* Ver “Tipos de transacción”
** Ver “Cifrar”

Cuando el parámetro no contenga ningún valor, la cadena de la notificación instantánea contendrá la etiqueta del parámetro sin ningún valor. También es posible que el Servicio de notificación instantánea envíe más de una PUBLICACIÓN en una sola recepción. Para obtener más información, consulte la Sección de preguntas frecuentes de este documento.

Tipos de transacciones

Existen varios valores que puede recibir en el parámetro ctransaction. Estos valores se detallan a continuación con una breve descripción de su propósito.

Tipo Descripción
VENTA La compra de un producto estándar o la compra inicial de un producto de facturación recurrente.
FACTURA La refacturación de un producto de facturación recurrente.
REEMBOLSO El reembolso de un producto estándar o de facturación recurrente. Los productos de facturación recurrente que requieren reembolso también generan la “CANCELACIÓN DE LA REFACTURACIÓN”.
CONTRACARGO Un contracargo por un producto estándar o recurrente.
INSF Un contracargo de una transferencia electrónica de fondos por un producto estándar o recurrente.
CANCELAR-REFACTURACIÓN La cancelación de un producto de facturación recurrente. Los productos de facturación recurrente que se cancelan no traen como consecuencia ninguna otra acción.
NO CANCELAR-REFACTURACIÓN Revertir la cancelación de un producto de facturación recurrente.
PRUEBA Se acciona al utilizar el enlace prueba en la página del sitio.

Métodos de pago

Existen varios valores que puede recibir en el parámetro “ctranspaymentmethod”. Estos valores se detallan a continuación.

  • PYPL
  • VISA
  • MSTR
  • DISC
  • AMEX
  • SWIT
  • SOLO
  • JCBC
  • DNRS
  • ENRT
  • AUST
  • BLME
  • STVA

Capa de socket seguro (SSL)

Se recomienda encarecidamente que utilice esta función con la capa de socket seguro (SSL) habilitada. Si utiliza esta función sin la capa de socket seguro (SSL) habilitada, podría exponer los datos de sus ventas para que se los roben por Internet. No obstante, debido a que la información del banco y de la tarjeta de crédito no se transmite a través del servicio de notificación instantánea, ClickBank no solicita que la capa de socket seguro (SSL) cifre las transmisiones de las notificaciones instantáneas.

Monitoreo de respuesta codificado (Lógica Reintentar)

El servicio de notificación instantánea procura ENVIAR la información mediante HTML a la dirección URL especificada en la página Mi sitio. Si nuestro intento de envío recibe un código de respuesta de su sistema diferente de 200, ClickBank reintentará enviar los datos una hora después. El servicio continuará reintentando una vez cada hora durante 72 horas; pasado este período, la función dejará de intentar realizar el envío.

Cifrar (Para prevenir el fraude)

Cifrar es un método en el que se llevan a cabo actividades de cifrado y descifrado. Garantiza que no ha habido una alteración de la dirección URL de los parámetros de la cadena de consulta.

Cuando se produce una acción dentro de su cuenta de ClickBank, se pasan varios valores en la cadena de consulta de la notificación instantánea (ver Parámetros para dirección URL). Al constituir la cadena, creamos sha1 o un hash de los valores pasados y su Clave secreta. El resultado es el parámetro cverify. Al recibir los parámetros de la cadena de consulta, su sistema también deberá crear un sha1 o un hash de los valores pasados y su Clave secreta.

La validez de los datos recibidos se evalúa mediante el uso del parámetro cverify que enviamos y el valor que se produce en su sistema. Solamente si hay una coincidencia exacta entre los dos valores podrá asegurarse de que la información que recibió no haya sido alterada.

Observación: El parámetro ctranstime no está incluido en el algoritmo de cifrado para el parámetro cverify.

Para ver más ejemplos, consulte Ejemplos de código.

Implementación

Luego de lograr una comprensión acabada de la sección anterior de este documento, le recomendamos que pruebe la función antes de implementarla. Luego de completar una prueba exitosa, usted podrá configurar su cuenta para tener el Servicio de notificación instantánea.

Solicitud de acceso

Realice una solicitud de acceso al Servicio de notificación instantánea siguiendo los pasos que se detallan a continuación:

  1. Inicie sesión en su cuenta.
  2. Haga clic en la ficha Configuración de la cuenta.
  3. Haga clic en Mi sitio en la subnavegación.
  4. Ubique el campo Notificación instantánea y seleccione “Hacer clic AQUÍ” para solicitar acceso al hipervínculo.
  5. Complete el formulario y revise detenidamente las condiciones de uso.
  6. Haga clic en el botón Enviar ubicado al pie del formulario.

Prueba de conectividad y procesamiento

Pruebe la conectividad y el procesamiento satisfactorios de los parámetros para dirección URL entre ClickBank y su servidor, siguiendo los pasos que se detallan a continuación:

  1. Inicie sesión en su cuenta.
  2. Haga clic en la ficha Configuración de la cuenta.
  3. Haga clic en Mi sitio en la subnavegación.
  4. Ingrese la dirección URL donde quiere que ClickBank envíe las notificaciones, en el campo 1 de la Notificación instantánea
  5. Observación: No haga clic en Guardar cambios

  6. Haga clic en Prueba a la derecha de la dirección URL
  7. Revise la respuesta en la ventana emergente para verificar que la prueba fue satisfactoria.

Si la prueba no fue satisfactoria, elimine la dirección URL del campo Notificación instantánea e intente solucionar los posibles problemas con la conectividad o con su programación.

Importante: No debería introducir datos en el campo Notificación instantánea a menos que haya obtenido una prueba exitosa. Si realiza lo contrario, su acceso podría ocasionar la desactivación de la función.

Se pasan los siguientes parámetros y valores de notificación instantánea en cada ejecución de la prueba.

Parámetro Valor
ccustname Prueba de usuario
ccuststate
ccustcc
ccustemail testuser@somesite.com
cproditem 399
cprodtitle Aprobado en título
cprodtype ESTÁNDAR
ctransaction PRUEBA
ctransaffiliate
ctransamount 100
ctranspaymentmethod VISA
ctranspublisher Usuario del proveedor real
ctransreceipt XXXXXXXX
caffitid
cvendthru
cverify Cverify real

Configuración de la cuenta

Ahora que ya ha obtenido el acceso a la función y ha realizado una prueba exitosa, está listo para completar la configuración de la cuenta del Servicio de notificación instantánea. Configurar el servicio es simple, simplemente incluye los siguientes pasos.

  1. Inicie sesión en su cuenta.
  2. Haga clic en la ficha Configuración de la cuenta.
  3. Haga clic en Mi sitio en la subnavegación.
  4. Introduzca una clave secreta en la página Mi sitio.
  5. Introduzca la dirección URL de la notificación instantánea en el campo 1 de la notificación instantánea (puertos 80 o 443 – Se recomienda utilizar SSL).
  6. Haga clic en Prueba a la derecha de la dirección URL antes de guardar los cambios.
  7. Revise la respuesta en la ventana emergente para verificar que la prueba fue satisfactoria.
  8. Haga clic en Guardar cambios.

Una vez que se termina con la configuración, las transmisiones de Notificación instantánea comenzarán inmediatamente.

Desactivar

Al eliminar la dirección URL del campo de Notificación instantánea en la página Mi sitio, el sistema dejará de enviar notificaciones.

Preguntas frecuentes

P: No soy programador experimentado. ¿Debería intentar implementar las Notificaciones instantáneas de ClickBank?

R: No. Hay varios aspectos del Servicio de notificación instantánea que hacen necesaria la experiencia en programación.

P: ¿También es posible que el Servicio de notificación instantánea envíe más de una PUBLICACIÓN en una sola recepción?

R: Sí. Existen varias situaciones en las que esto es probable. Por ejemplo, recibirá varias PUBLICACIONES por una sola transacción si se otorga un reembolso y luego se revierte la situación. Esto generará el envío de una PUBLICACIÓN por una acción de REEMBOLSO y luego una publicación por una acción de VENTA. La primera acción es el resultado de un reembolso de la venta original. La segunda acción es el resultado de la rehabilitación de la venta.

P: ¿Cómo detengo las PUBLICACIONES que recibo a través del Servicio de notificación instantánea de ClickBank?

R: Al eliminar la dirección URL de Notificación instantánea en la página Mi sitio, el sistema dejará de enviar notificaciones.

P: ¿Siempre recibiré todos los parámetros o solamente cuando estos contengan valores?

R: Siempre recibirá todos los parámetros. Cuando el parámetro no contenga ningún valor, la cadena de la notificación instantánea contendrá la etiqueta del parámetro sin ningún valor.

P: ¿Por qué algunos parámetros tienen un 0 en el número que se espera de caracteres?

R: Estos parámetros podrían no contener ningún valor durante la publicación, por lo cual están incluidos con la posibilidad de tener 0 caracteres.

P: ¿Es necesario que utilice una SSL con el Servicio de notificación instantánea?

R: No es obligación, pero se recomienda enfáticamente, ya que le proporciona protección contra ladrones en Internet.

P: ¿Es necesario que utilice el proceso de Cifrar con el Servicio de notificación instantánea?

R: Es obligación. Debe agregar una clave secreta a su cuenta para habilitar las Notificaciones instantáneas.

P: ¿Los ejemplos de código que proporciona ClickBank son totalmente funcionales y están listos para usar?

R: No. En la mayoría de los casos, los ejemplos de código deben insertarse en un programa. Si usted no comprende cómo hacerlo, le recomendamos que solicite los servicios de un programador profesional.

P: ¿La notificación instantánea de ClickBank funcionará con un certificado SSL con firma propia?

R: No. Se necesita un certificado válido.

P: ¿Es posible probar el Servicio de notificación instantánea antes de implementarlo?

R: Sí. Pruebe la conectividad y procesamiento entre ClickBank y su servidor siguiendo los pasos que se detallan a continuación:

  1. Ingrese la dirección URL adonde quiere que ClickBank envíe las notificaciones.
  2. Haga clic en Prueba a la derecha de la dirección URL antes de guardar los cambios.
  3. Revise la respuesta en la ventana emergente para verificar que la prueba fue satisfactoria.

P: ¿Puedo enviar notificaciones a más de una dirección URL?

R: Sí. Se puede agregar una segunda dirección URL de notificaciones luego de haber guardado la primera. Observación: Se aplican todas las mismas reglas a la segunda dirección URL de notificaciones.

Muestras de códigos

Los datos que se le envían mediante el Servicio de notificación instantánea tienen los parámetros HTML FORM POST para una dirección URL. Los programas escritos dentro de la estructura de su aplicación deberán procesar estos pares. Es posible que los programas para administración de pedidos, actividad de bases de datos y otros servicios sean escritos, pero no están incluidos en esta guía.

JAVA

Cifrar (Validación del código de procesamiento)

El siguiente código Java creará el valor cverify y verificará si es correcto utilizar los valores de texto simple en el HTTP POST y su clave secreta.

Observación: Para esto es necesario que la biblioteca jakarta commons codec sea operativa.

Ejemplo de código

   public boolean validateApiNotification(HttpServletRequest request) {
 String cverify = request.getParameter("cverify"); 

 String pop = String.format("%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s",
 request.getParameter("ccustname"),
 request.getParameter("ccustemail"),
 request.getParameter("ccustcc"),
 request.getParameter("ccuststate"),
 request.getParameter("ctransreceipt"),
 request.getParameter("cproditem"),
 request.getParameter("ctransaction"),
 request.getParameter("ctransaffiliate"),
 request.getParameter("ctranspublisher"),
 request.getParameter("cprodtype"),
 request.getParameter("cprodtitle"),
 request.getParameter("ctranspaymentmethod"),
 request.getParameter("ctransamount"),
 request.getParameter("caffitid"),
 request.getParameter("cvendthru"),
 "YOUR SECRET KEY"); 

 return cverify.equalsIgnoreCase(DigestUtils.shaHex(pop).substring(0, 8));
}

PHP

Cifrar (Validación del código de procesamiento)

El siguiente PHP creará el valor cverify y verificará si es correcto utilizar los valores de texto simple en el HTTP POST y su clave secreta (es decir, no una dirección URL codificada).

Tipos de respuesta:
1 = Aprobado
0 = Reprobado

Ejemplo de código

<?php

function cbValid() {

	$key='YOUR SECRET KEY';
	$ccustname = $_REQUEST['ccustname'];
	$ccustemail = $_REQUEST['ccustemail'];
	$ccustcc = $_REQUEST['ccustcc'];
	$ccuststate = $_REQUEST['ccuststate'];
	$ctransreceipt = $_REQUEST['ctransreceipt'];
	$cproditem = $_REQUEST['cproditem'];
	$ctransaction = $_REQUEST['ctransaction'];
	$ctransaffiliate = $_REQUEST['ctransaffiliate'];
	$ctranspublisher = $_REQUEST['ctranspublisher'];
	$cprodtype = $_REQUEST['cprodtype'];
	$cprodtitle = $_REQUEST['cprodtitle'];
	$ctranspaymentmethod = $_REQUEST['ctranspaymentmethod'];
	$ctransamount = $_REQUEST['ctransamount'];
	$caffitid = $_REQUEST['caffitid'];
	$cvendthru = $_REQUEST['cvendthru'];
	$cbpop = $_REQUEST['cverify'];

	$xxpop = sha1("$ccustname|$ccustemail|$ccustcc|$ccuststate|$ctransreceipt|$cproditem|$ctransaction|"
		."$ctransaffiliate|$ctranspublisher|$cprodtype|$cprodtitle|$ctranspaymentmethod|$ctransamount|$caffitid|$cvendthru|$key");

    $xxpop=strtoupper(substr($xxpop,0,8));

    if ($cbpop==$xxpop) return 1;
	else return 0;
}

?>