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.
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:
Estas dos aplicaciones del sistema de Publicaciones en segundo plano se excluyen mutuamente y no se requiere que ninguna use la otra.
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.
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.
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:
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.
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:
$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.<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:
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:
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.
El siguiente cuadro enumera cada variable que se puede completar previamente en el formulario de registro:
Nombre de la variable | Descripción |
---|---|
nombre_cliente | Nombre del consumidor |
nombre_cliente | Apellido del consumidor |
address1 | Dirección del consumidor |
Dirección de correo electrónico del consumidor | |
ciudad | Ciudad consumidora |
estado | Estado del consumidor |
código postal | Código postal del consumidor |
país | País consumidor |
número de teléfono | Número de teléfono del consumidor |
nombre de usuario | Nombre de usuario del consumidor |
la contraseña | Contraseñ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 variable | Descripción | Valor de ejemplo |
---|---|---|
ccbill_referer | Nú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 formulario | Código de tres o más caracteres que identifica el formulario. | 13cc |
confirmar Contraseña | Confirme la contraseña en el formulario de registro. | 0 o 1 (sí o no) |
suscripciónTypeId | ID de tipo de suscripción. | 0108191202000001259 |
tipos permitidos | Las opciones de suscripción que aparecerán en el formulario; este valor se genera automáticamente en el Admin. | 0000003761:840,0000004607:840 |
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 variable | Descripción | Tipo de datos (longitud máxima) | Valor de ejemplo |
---|---|---|---|
cantidad contable | Precio de pago real en USD que el comerciante recibirá por la compra. | decimal (9,2) | 14.83 |
address1 | Dirección del consumidor. | varchar (30) | 123 Main Street |
filial | Referente no personalizado para transacciones heredadas; cuentas que no son CCBill (EC Suite, etc.) | cadena | 1234567 |
identificación del afiliado | Identificación de participación en el programa. | cadena | 3542 |
sistema_de_filiados | -1– No disponible, recuperar de DataLink 1 - CCBill 2 - Afiliado de WMS 3 - Varios 4 - Rastreador WMS | numérico | -1 |
tipos permitidos | Valor utilizado para determinar las opciones de precios en el formulario de registro. | N / A (sin límite) | |
moneda base | Moneda en la que se configuró el precio. | int (3) | 840 |
tipo de tarjeta | Tipo de tarjeta de crédito utilizada. | cadena | VISA o MASTERCARD |
ccbill_referer | Nú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. | cadena | 1626321 |
ciudad | Ciudad consumidora. | varchar (30) | Anytown |
clienteAccnum | Número de cuenta principal del comerciante de CCBill. | mediumint (6) sin firmar | 900100 |
liquidación impulsada por el cliente | Refleja si la transacción fue aprobada previamente o no mediante un Acuerdo impulsado por el comerciante. | booleano | 1 o 0 (sí o no, respectivamente) |
clienteSubacc | Número de subcuenta de cliente de CCBill. | smallint (4) zerofill sin firmar | 0000 |
consumidorUniqueId | Número de identificación de consumidor único. | bigint (20) | no firmado |
país | País consumidor. | varchar (30) | US |
código de moneda | Moneda de tres dígitos en la que se facturó al consumidor. | int (3) | 978 |
nombre_cliente | Nombre del consumidor. | varchar (20) | Juan |
nombre_cliente | Apellido del consumidor. | varchar (30) | Smith |
ID de negación | El 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 firmar | 111140501000005157 |
Dirección de correo electrónico del consumidor. | varchar (40) | user@example.com | |
nombre del formulario | Código de tres o más caracteres para el formulario. | char (255) | 13cc |
Precio con formato inicial | Precio inicial con entidad HTML para el símbolo de moneda. | cadena | $10.00 |
periodo inicial | El período inicial de la suscripción (en días). | smallint (4) sin firmar | 7 |
precio inicial | El precio inicial de la suscripción. | decimal (9,2) | 4.99 |
dirección IP | Dirección IP del consumidor. | varchar (31) | 192.168.27.4 |
LifeTimeSubscription | Indica si la transacción es una suscripción de por vida. No se publica si no es positivo. | int | 1 |
la contraseña | Contraseña de consumidor. | varchar (30) | micontraseña |
Cuenta de pago | Resumen de hash de la información de facturación del consumidor. | cuerda (32) | e1w4858fgb34e5ab2b0e8bd94cb09565 |
número de teléfono | Número de teléfono del consumidor; aparece como ingresado por el consumidor. | varchar (20) | (123) 456-7890 |
Precio | Precio del producto en formato HTML como se muestra en el formulario. | cadena | & 36; 5.95 por 30 días (no recurrente) |
productoDesc | Descripción del producto. | varchar (50) | |
motivo de rechazo | El 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. | cadena | El 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). |
ratioForDeclineBeforeOverride | El error de motivo de rechazo que aparece cuando se rechazó una transacción y luego se aprobó mediante Web Verify. | Cordón | La 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). |
ratioForDeclineCode | Código de rechazo numérico (solo URL de publicación de rechazo). | cadena | 16 (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). |
ratioForDeclineCodeBeforeOverride | El 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). | |
refacturaciones | El número total de nuevas facturas. Un valor de '99' se volverá a facturar indefinidamente. | tinyint (2) sin firmar | 12 |
Precio con formato recurrente | Precio recurrente con entidad HTML para el símbolo de moneda. | cadena | $19.95 |
período recurrente | El período de la suscripción (recurrente, en días). | smallint (4) sin firmar | 30 |
Precio recurrente | El precio de la suscripción (recurrente). | decimal (7,2) | 19.99 |
árbitro | Número de identificación de no afiliado de CCBill. Esta variable es utilizada principalmente por sistemas de terceros. | varchar (16) | 1626321 |
ReferUrl | URL desde la que se hizo referencia a la transacción. | cadena | http://www.example.com |
bookingId | Número de identificación de reserva de suscripción del consumidor. | bigint (20) sin firmar | 0109072310330002423 |
resumen de respuesta | Resumen 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_date | Fecha de inicio de la suscripción. | datos | 2008-08-05 15:18:17 |
estado | Estado consumidor. | varchar (20) | AZ |
ID de suscripción | Número de identificación de suscripción (solo URL de publicación de aprobación). | bigint (20) sin firmar | 1000000000 |
ID de tipo | Nú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 usuario | Nombre de usuario del consumidor. | varchar (16) | username1 |
código postal | Có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.
La siguiente tabla enumera los valores potenciales para el ratioForDeclineCode parámetro y sus relacionados motivo de rechazo respuestas de texto.
ratioForDeclineCode | motivo de rechazo |
---|---|
1 | El sitio web no está disponible para registrarse |
2 | No se pueden determinar los requisitos de registro en el sitio web |
3 | No se acepta tu tipo de tarjeta, prueba con otro tipo de tarjeta de crédito |
4 | Error del sistema bancario |
5 | La tarjeta de crédito que ingresaste no es válida |
6 | Verifique 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. |
7 | Verifique para asegurarse de haber ingresado su número de cuenta bancaria correctamente |
8 | Verifique para asegurarse de haber ingresado correctamente el número de ruta de su banco |
9 | Error del sistema bancario, inténtelo de nuevo |
10 | El sitio web tiene un precio no válido |
11 | Transaccion rechazada |
12 | Actualmente tiene una suscripción y no puede registrarse |
13 | Ya ha tenido una prueba gratuita |
14 | Debe ingresar su número CVV2 en el reverso de su tarjeta |
15 | Su 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 |
16 | El ID de suscripción proporcionado no es válido |
17 | El ID de suscripción no existe en el sistema |
18 | Se rechazó el intento de transacción anterior en la solicitud |
19 | No está autorizado para registrarse con las credenciales proporcionadas |
20 | Sin declive |
21 | Ya tuvo una prueba, seleccione una opción de membresía recurrente normal |
22 | Se produjo un error al comunicarse con el banco. Vuelva a intentarlo más tarde. |
23 | Se proporcionó una tarjeta de crédito no válida |
24 | Transacción denegada por el banco |
25 | Error bancario |
26 | Configuración de procesamiento de tarjetas incorrecta para el comerciante |
27 | Error del sistema, por favor, inténtalo de nuevo |
28 | No podemos procesar su transacción en este momento. Porfavor intente más tarde |
29 | Tarjeta caducada |
30 | No 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 |
31 | Fondos insuficientes |
32 | Debe proporcionar CVV2 para completar la transacción |
33 | No se pudo determinar el tipo de transacción |
34 | Se produjo un error al comunicarse con el banco. Vuelva a intentarlo más tarde. |
35 | Tarjeta rechazada en Pre-Auth SC |
36 | No se puede contactar con el banco |
37 | Actualmente no procesamos para su bandeja de bancos |
38 | Transacción rechazada por el banco emisor |
39 | Has enviado demasiadas veces hoy. |
40 | Este comerciante no acepta la tarjeta que está utilizando |
41 | Comerciante inactivo |
42 | Dirección incorrecta proporcionada |
43 | No 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 |
44 | Lo sentimos, en este momento no se permiten tarjetas prepagas. Prueba con otro tipo de tarjeta |
45 | La transacción requiere aprobación adicional: consulte su correo electrónico de confirmación para obtener más instrucciones |
46 | Transaccion rechazada |
47 | Se superó el límite de transacciones |
48 | Se alcanzó su límite de compra |
49 | No 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 |
50 | La dirección de correo electrónico supera el límite de transacciones de ACH |
51 | Procesador no compatible con CDS |
52 | La transacción TGS ya ha sido capturada |
53 | Supera el límite de reembolso |
54 | La transacción ya ha sido anulada |
55 | La transacción ya ha sido reembolsada. |
56 | Tarjeta de Credito invalible |
57 | El precio inicial supera el máximo |
58 | Precio inicial por debajo del mínimo |
59 | El precio recurrente supera el máximo |
60 | Precio recurrente por debajo del mínimo |
61 | Error del sistema al crear la tarjeta de crédito de la tienda |
62 | La cuenta de pago supera la regulación del número de transacción |
63 | La cuenta de pago excede el límite de cantidad de transacción |
64 | Falló la autenticación 3DS |
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.
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:
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.