Publicación de fondo

Este documento se proporciona como recurso técnico para los comerciantes de CCBill. Se analizan las características y la implementación del sistema CCBill Background Post. Este documento está destinado a programadores, técnicos y otras personas con habilidades de codificación avanzadas.

General

La publicación de antecedentes de CCBill es un método para pasar datos entre el sistema del comerciante y el sistema de CCBill. La publicación en segundo plano tiene básicamente dos propósitos:

  • Pase los datos del consumidor al formulario de registro de CCBill. Esto se puede utilizar para completar previamente los datos del consumidor en el formulario o pasar parámetros de seguimiento personalizados que se enviarán a las URL de publicación de aprobación / denegación (ver más abajo). Más adelante en este documento se proporciona una lista de variables del sistema CCBill estándar, que se utilizan para completar previamente los datos del consumidor.
  • Pasar datos a una URL de publicación de aprobación o una URL de publicación de denegación, dependiendo del resultado de la transacción. Las URL de aprobación y denegación son secuencias de comandos codificadas a medida que capturan los datos de publicación devueltos de CCBill y los procesan de acuerdo con la codificación de la secuencia de comandos. Las URL de publicación de aprobación y denegación están codificadas por el comerciante y son necesarias para utilizar el sistema de publicación en segundo plano. Esta guía discutirá las posibles aplicaciones de estas URL. Para obtener más información sobre cómo configurar las URL de publicación de aprobación y denegación, consulte el archivo de ayuda de CCBill.

Estas dos aplicaciones del sistema de Publicaciones en segundo plano se excluyen mutuamente y no se requiere que ninguna use la otra.

Soporte TLS

La publicación en segundo plano admite el protocolo de seguridad TLS 1.2. Si tiene dificultades y no recibe publicaciones de CCBill, verifique qué protocolo TLS está utilizando.

Pasar variables al formulario de registro

Las variables se pueden pasar al formulario de registro para completar previamente la información del consumidor. Esto se puede implementar con el propósito de formularios de varias partes, seguimiento personalizado y otras implementaciones. Las variables se pasan al formulario de suscripción desde la página que lo precede mediante el uso de un formulario HTML o pasando las variables a través de la cadena URL. A continuación se ofrecen ejemplos de código.

Las variables de seguimiento personalizadas también se pueden enviar al formulario. Estos valores se volverán a publicar mediante la publicación en segundo plano cuando se complete la transacción. Para definir estas variables, simplemente especifique un nombre de variable y un valor de la misma manera que las otras variables que se pasan.

Para completar previamente el formulario, primero debe generar código HTML para el formulario dentro del Administrador de CCBill. (Para obtener más información sobre cómo generar este código, consulte el archivo de ayuda de CCBill). Después de generar su código, las variables de seguimiento personalizadas opcionales se pueden agregar manualmente creando campos de formulario HTML adicionales o pasando las variables adicionales a la cadena de URL, según el método de envío elegido.
El siguiente ejemplo muestra el código de botón HTML básico, con dos variables personalizadas agregadas. El botón creado, cuando se haga clic, llevará al consumidor al formulario de registro de CCBill mientras pasa las dos variables personalizadas:





nombreVarpersonalizado1 y nombreVarpersonalizado2 son solo nombres de ejemplo y pueden ser cualquier cosa que elija. Los valores también son un ejemplo.
Puede utilizar un enlace de texto en lugar de un botón. El siguiente ejemplo muestra cómo hacer esto usando datos idénticos a los del ejemplo de formulario anterior:

https://bill.ccbill.com/jpost/signup.cgi?clientAccnum=900000&clientSubacc=0001&formName=11wc&language=English&allowedTypes=0000003761:840,0000004607:840,0000060248:840,0000063750:840,0000060752:840&subscriptionTypeId=0000004657:840&customVarName1=customVarValue1&customVarName2=customVarValue2

Ambos métodos tienen el mismo propósito y se pueden utilizar.

Flujo de CCBill para pasar variables


La información también se puede pasar al formulario de registro de CCBill utilizando variables dinámicas en un script personalizado. Un formulario HTML personalizado puede llamar al script, que luego envía las variables al formulario de suscripción de CCBill. Los datos fluyen en esta ruta:

Flujo del formulario de suscripción de CCBill cuando se utilizan variables dinámicas en un script personalizado


El formulario que cree pasará los datos ingresados ​​por el consumidor al siguiente formulario, que luego pasará las variables al formulario de registro de CCBill. Una vez completada la transacción, los datos se enviarán a la URL de publicación de aprobación o denegación.
El siguiente ejemplo de código usa código Perl / CGI para generar un campo de formulario HTML oculto usando una variable dinámica:

impresión " ";

Otros lenguajes tendrán diferentes declaraciones y sintaxis para la salida de datos, como declaraciones de impresión o eco en PHP. El código de enlace se puede generar de manera similar al código de formulario HTML anterior, reemplazando cualquier número de valores de variables estáticas con variables dinámicas. Consulte cualquier pregunta que tenga acerca de este tipo de código a un programador calificado.

Publicaciones de aprobación y denegación

Cuando se aprueba o deniega una transacción, los datos se enviarán a la URL de aprobación o denegación, respectivamente. Los datos enviados incluirán todo lo que se pasó al formulario de registro a través de la publicación de antecedentes junto con los datos ingresados ​​en el formulario de pago por el consumidor, excluyendo la información de pago. Estos datos se pueden analizar y manejar de cualquier forma que se codifique el script.

Los datos se pueden capturar de varias formas según el idioma en el que esté escrito el guión de aprobación o denegación. Por ejemplo:

  • Usando PHP, la línea $fname = $_POST%22customer_fname%22 capturará el nombre del consumidor y lo asignará a una variable llamada $fname. La variable $fname se puede nombrar como quieras.
  • Usando Perl / CGI, la línea <strong>$fname = param("customer_fname")__</strong> capturará el nombre del consumidor y lo asignará a una variable llamada <strong>$fname</strong>. La variable <strong>$fname</strong> se puede nombrar como quieras.

Otros lenguajes tendrán funciones apropiadas para capturar datos POST. Una lista completa de las variables de CCBill está disponible más adelante en este documento. Tenga en cuenta que los nombres de las variables deben ingresarse exactamente como aparecen en este documento.

Una vez que la secuencia de comandos captura estos valores variables, la secuencia de comandos puede manejar los datos de cualquier manera especificada en la secuencia de comandos, como ingresar la información en una base de datos.
La imagen ilustra el proceso de envío y recepción de datos mediante las URL de aprobación y denegación:

El flujo del proceso de envío y recepción de datos mediante URL de aprobación y denegación:

Variables

La publicación en segundo plano contiene un conjunto de variables de sistema específicas que se pueden utilizar para extraer datos del sistema de CCBill. Se utilizan dos conjuntos de variables, uno para cada una de las siguientes situaciones:

  • Formulario de registro. Estas variables se utilizan para rellenar previamente el formulario de registro. Nombrar las variables correctamente, como se enumera a continuación, garantizará que los datos se almacenen correctamente en el sistema de CCBill como se pretende con las variables.
  • Postback. Estas variables se envían a las URL de publicación de aprobación o denegación, según el resultado de la transacción.

En ambos casos, las variables personalizadas se enviarán exactamente como se ingresaron.
Los nombres de las variables del sistema deben ingresarse exactamente como aparecen en esta lista.

Formulario de registro

El siguiente cuadro enumera cada variable que se puede completar previamente en el formulario de registro:

Nombre de la variableDescripción
nombre_clienteNombre del consumidor
nombre_clienteApellido del consumidor
address1Dirección del consumidor
emailDirección de correo electrónico del consumidor
ciudadCiudad consumidora
estadoEstado del consumidor
código postalCódigo postal del consumidor
paísPaís consumidor
número de teléfonoNúmero de teléfono del consumidor
nombre de usuarioNombre de usuario del consumidor
la contraseñaContraseña de consumidor
LifeTimeSubscription

Las siguientes variables también se pueden pasar al formulario de registro, pero no se muestran en el formulario:

Nombre de la variableDescripciónValor de ejemplo
ccbill_refererNúmero de identificación de afiliado de CCBill. Este valor se pasa como 'revendedor' cuando se usa Traffic Manager para pasar en cascada a los formularios de Epoch.1626321
nombre del formularioCódigo de tres o más caracteres que identifica el formulario.13cc
confirmar ContraseñaConfirme la contraseña en el formulario de registro.0 o 1 (sí o no)
suscripciónTypeIdID de tipo de suscripción.0108191202000001259
tipos permitidosLas opciones de suscripción que aparecerán en el formulario; este valor se genera automáticamente en el Admin.0000003761:840,0000004607:840

Postback

Las variables que se enumeran a continuación se vuelven a publicar en las URL de publicación de aprobación o denegación:

Nombre de la variableDescripciónTipo de datos (longitud máxima)Valor de ejemplo
cantidad contablePrecio de pago real en USD que el comerciante recibirá por la compra.decimal (9,2)14.83
address1Dirección del consumidor.varchar (30)123 Main Street
filialReferente no personalizado para transacciones heredadas; cuentas que no son CCBill (EC Suite, etc.)cadena1234567
identificación del afiliadoIdentificación de participación en el programa.cadena3542
sistema_de_filiados-1– No disponible, recuperar de DataLink
1 - CCBill
2 - Afiliado de WMS
3 - Varios
4 - Rastreador WMS
numérico-1
tipos permitidosValor utilizado para determinar las opciones de precios en el formulario de registro.N / A (sin límite)
moneda baseMoneda en la que se configuró el precio.int (3)840
tipo de tarjetaTipo de tarjeta de crédito utilizada.cadenaVISA o MASTERCARD
ccbill_refererNúmero de identificación de afiliado de CCBill. Este valor se pasa como 'revendedor' cuando se usa Traffic Manager para pasar en cascada a los formularios de Epoch.cadena1626321
ciudadCiudad consumidora.varchar (30)Anytown
clienteAccnumNúmero de cuenta principal del comerciante de CCBill.mediumint (6) sin firmar900100
liquidación impulsada por el clienteRefleja si la transacción fue aprobada previamente o no mediante un Acuerdo impulsado por el comerciante.booleano1 o 0 (sí o no, respectivamente)
clienteSubaccNúmero de subcuenta de cliente de CCBill.smallint (4) zerofill sin firmar0000
consumidorUniqueIdNúmero de identificación de consumidor único.bigint (20)no firmado
paísPaís consumidor.varchar (30)US
código de monedaMoneda de tres dígitos en la que se facturó al consumidor.int (3)978
nombre_clienteNombre del consumidor.varchar (20)Juan
nombre_clienteApellido del consumidor.varchar (30)Smith
ID de negaciónEl número que identifica la transacción rechazada de un consumidor.
NOTA: Este número solo se proporciona con los rechazos y está en blanco con las aprobaciones.
bigint (20) sin firmar111140501000005157
emailDirección de correo electrónico del consumidor.varchar (40)user@example.com
nombre del formularioCódigo de tres o más caracteres para el formulario.char (255)13cc
Precio con formato inicialPrecio inicial con entidad HTML para el símbolo de moneda.cadena$10.00
periodo inicialEl período inicial de la suscripción (en días).smallint (4) sin firmar7
precio inicialEl precio inicial de la suscripción.decimal (9,2)4.99
dirección IPDirección IP del consumidor.varchar (31)192.168.27.4
LifeTimeSubscriptionIndica si la transacción es una suscripción de por vida.
No se publica si no es positivo.
int1
la contraseñaContraseña de consumidor.varchar (30)micontraseña
Cuenta de pagoResumen de hash de la información de facturación del consumidor.cuerda (32)e1w4858fgb34e5ab2b0e8bd94cb09565
número de teléfonoNúmero de teléfono del consumidor; aparece como ingresado por el consumidor.varchar (20)(123) 456-7890
PrecioPrecio del producto en formato HTML como se muestra en el formulario.cadena& 36; 5.95 por 30 días (no recurrente)
productoDescDescripción del producto.varchar (50)
motivo de rechazoEl motivo del rechazo (solo URL de publicación de denegación). Descripción de texto de reasonForDeclineCode.
Consulte la sección "Códigos de rechazo de devolución" a continuación para obtener una lista completa de códigos.
cadenaEl ID de suscripción proporcionado no es válido
(Consulte la sección Códigos de rechazo de devolución al final de este documento para obtener una lista completa de los códigos de rechazo y sus descripciones de motivos).
ratioForDeclineBeforeOverrideEl error de motivo de rechazo que aparece cuando se rechazó una transacción y luego se aprobó mediante Web Verify.CordónLa transacción requiere aprobación adicional: consulte su correo electrónico de confirmación para obtener más instrucciones.
(Consulte la sección Códigos de rechazo de devolución al final de este documento para obtener una lista completa de los códigos de rechazo y sus descripciones de motivos).
ratioForDeclineCodeCódigo de rechazo numérico (solo URL de publicación de rechazo).cadena16
(Consulte la sección Códigos de rechazo de devolución al final de este documento para obtener una lista completa de los códigos de rechazo y sus descripciones de motivos).
ratioForDeclineCodeBeforeOverrideEl código de error del motivo del rechazo que aparece cuando se rechazó una transacción y luego se aprobó mediante Web Verify.45
(Consulte la sección Códigos de rechazo de devolución al final de este documento para obtener una lista completa de los códigos de rechazo y sus descripciones de motivos).
refacturacionesEl número total de nuevas facturas.
Un valor de '99' se volverá a facturar indefinidamente.
tinyint (2) sin firmar12
Precio con formato recurrentePrecio recurrente con entidad HTML para el símbolo de moneda.cadena$19.95
período recurrenteEl período de la suscripción (recurrente, en días).smallint (4) sin firmar30
Precio recurrenteEl precio de la suscripción (recurrente).decimal (7,2)19.99
árbitroNúmero de identificación de no afiliado de CCBill. Esta variable es utilizada principalmente por sistemas de terceros.varchar (16)1626321
ReferUrlURL desde la que se hizo referencia a la transacción.cadenahttp://www.example.com
bookingIdNúmero de identificación de reserva de suscripción del consumidor.bigint (20) sin firmar0109072310330002423
resumen de respuestaResumen de hash de una respuesta de precios dinámicos. Si no utiliza el precio dinámico, este valor se devolverá como una cadena en blanco.cuerda (32)s4f5198jgd21a4pk1p2s7sd23lm58937
start_dateFecha de inicio de la suscripción.datos2008-08-05 15:18:17
estadoEstado consumidor.varchar (20)AZ
ID de suscripciónNúmero de identificación de suscripción (solo URL de publicación de aprobación).bigint (20) sin firmar1000000000
ID de tipoNúmero de identificación del tipo de suscripción que identifica el punto de precio utilizado en la transacción.int (10)0000060748
nombre de usuarioNombre de usuario del consumidor.varchar (16)username1
código postalCódigo postal del consumidor.varchar (10)85251

Otros servicios de CCBill, cuando se utilizan, devolverán variables adicionales mediante la publicación en segundo plano. Para obtener más información sobre las variables devueltas, consulte la Guía del usuario de ese servicio.

Códigos de rechazo de devolución de datos

La siguiente tabla enumera los valores potenciales para el ratioForDeclineCode parámetro y sus relacionados motivo de rechazo respuestas de texto.

ratioForDeclineCodemotivo de rechazo
1El sitio web no está disponible para registrarse
2No se pueden determinar los requisitos de registro en el sitio web
3No se acepta tu tipo de tarjeta, prueba con otro tipo de tarjeta de crédito
4Error del sistema bancario
5La tarjeta de crédito que ingresaste no es válida
6Verifique para asegurarse de haber ingresado su fecha de vencimiento Se utiliza para mostrar las fechas anuales, mensuales o diarias correspondientes individuales para los datos del informe. El formato de la función de fecha es año-mes-día; por ejemplo, 2002-01-01.
7Verifique para asegurarse de haber ingresado su número de cuenta bancaria correctamente
8Verifique para asegurarse de haber ingresado correctamente el número de ruta de su banco
9Error del sistema bancario, inténtelo de nuevo
10El sitio web tiene un precio no válido
11Transaccion rechazada
12Actualmente tiene una suscripción y no puede registrarse
13Ya ha tenido una prueba gratuita
14Debe ingresar su número CVV2 en el reverso de su tarjeta
15Su cuenta se está procesando actualmente, consulte el sitio web al que se está uniendo para ver si tiene acceso. Si no, por favor contacte soporte@ccbill.com
16El ID de suscripción proporcionado no es válido
17El ID de suscripción no existe en el sistema
18Se rechazó el intento de transacción anterior en la solicitud
19No está autorizado para registrarse con las credenciales proporcionadas
20Sin declive
21Ya tuvo una prueba, seleccione una opción de membresía recurrente normal
22Se produjo un error al comunicarse con el banco. Vuelva a intentarlo más tarde.
23Se proporcionó una tarjeta de crédito no válida
24Transacción denegada por el banco
25Error bancario
26Configuración de procesamiento de tarjetas incorrecta para el comerciante
27Error del sistema, por favor, inténtalo de nuevo
28No podemos procesar su transacción en este momento. Porfavor intente más tarde
29Tarjeta caducada
30No podemos facturar el número de teléfono proporcionado para esta transacción. Regrese al sitio web y elija un método de pago alternativo
31Fondos insuficientes
32Debe proporcionar CVV2 para completar la transacción
33No se pudo determinar el tipo de transacción
34Se produjo un error al comunicarse con el banco. Vuelva a intentarlo más tarde.
35Tarjeta rechazada en Pre-Auth SC
36No se puede contactar con el banco
37Actualmente no procesamos para su bandeja de bancos
38Transacción rechazada por el banco emisor
39Has enviado demasiadas veces hoy.
40Este comerciante no acepta la tarjeta que está utilizando
41Comerciante inactivo
42Dirección incorrecta proporcionada
43No podemos procesar su transacción de facturación telefónica porque su proveedor solo permite un cargo, por número de teléfono, por día, y nuestros registros muestran que tiene un cargo diario existente para este número de teléfono. Regrese al sitio web y elija un método de pago alternativo
44Lo sentimos, en este momento no se permiten tarjetas prepagas. Prueba con otro tipo de tarjeta
45La transacción requiere aprobación adicional: consulte su correo electrónico de confirmación para obtener más instrucciones
46Transaccion rechazada
47Se superó el límite de transacciones
48Se alcanzó su límite de compra
49No se puede autenticar su método de pago. Elija un método de pago diferente y vuelva a intentarlo. Si necesita más información, consulte Preguntas frecuentes sobre la autenticación de consumidores de 3DS
50La dirección de correo electrónico supera el límite de transacciones de ACH
51Procesador no compatible con CDS
52La transacción TGS ya ha sido capturada
53Supera el límite de reembolso
54La transacción ya ha sido anulada
55La transacción ya ha sido reembolsada.
56Tarjeta de Credito invalible
57El precio inicial supera el máximo
58Precio inicial por debajo del mínimo
59El precio recurrente supera el máximo
60Precio recurrente por debajo del mínimo
61Error del sistema al crear la tarjeta de crédito de la tienda
62La cuenta de pago supera la regulación del número de transacción
63La cuenta de pago excede el límite de cantidad de transacción
64Falló la autenticación 3DS

Intervalos de IP de publicación en segundo plano

Recibirá Publicaciones en segundo plano de los siguientes rangos de IP de CCBill:
64.38.240.0/24
64.38.241.0/24
64.38.212.0/24
64.38.215.0/24

Puede usar esta información para configurar reglas de firewall o confirmar la validez de una IP desde su aplicación.

Complemento de seguridad de WordPress e iThemes

Si usa estas funciones en una instalación de WordPress y en el complemento de seguridad de iThemes, es posible que tenga problemas para recibir publicaciones de CCBill.

Siga estos pasos para resolver el problema:

  1. Inicie sesión en WordPress sitio web.
  2. Haga clic en Configuración de seguridad.
  3. Haga clic en Usuarios prohibidos.
  4. Desmarcar el Habilitar Función de lista negra de HackRepair.com.

Reenvío de publicaciones fallidas

El sistema de Publicaciones en segundo plano reenvía automáticamente las publicaciones fallidas hasta 30 veces en el transcurso de unas pocas horas. Si no recibe publicaciones, no tenemos forma de reenviarlas más allá de eso.

Si está experimentando muchas publicaciones fallidas, verifique que no esté experimentando un problema de conexión como problemas con su empresa de alojamiento, entre otras cosas. Luego, comuníquese con Soporte para comerciantes y haremos todo lo posible para ayudarlo a encontrar una solución.