Guía del usuario de precios dinámicos

 

Este documento se proporciona como recurso técnico para los comerciantes de CCBill. Está destinado a programadores, técnicos y otras personas con habilidades de codificación avanzadas. Se requiere algún conocimiento previo del algoritmo hash MD5.

RESUMEN

La fijación de precios dinámica le permite crear nuevas opciones de fijación de precios de forma dinámica al pasar variables al formulario de registro. Esto se puede hacer usando campos de formulario HTML ocultos o incluyendo las variables en la cadena de URL. Para mejorar la seguridad, se utiliza un MD5 Hex Digest para validar la entrada del nuevo precio.

Las suscripciones de facturación única y de facturación recurrente se pueden crear utilizando Dynamic Pricing, con las variables transferidas que definen la estructura de precios. Los valores de las variables se pasarán a este script:

https://bill.ccbill.com/jpost/signup.cgi

Las variables se explican en detalle en la siguiente sección.

Tenga en cuenta que si el precio dinámico está habilitado en el nivel de la subcuenta, TODOS los formularios de registro en esa subcuenta deben utilizar el precio dinámico para funcionar correctamente. Esto incluye formularios creados en la subcuenta antes de que se habilitara el precio dinámico.

Si el precio dinámico está habilitado solo en un formulario en particular y no en la subcuenta completa, no se requerirá que otros formularios de esa subcuenta utilicen el precio dinámico.

Configuración predeterminada de precios dinámicos

El precio dinámico incluye la siguiente configuración predeterminada. Es posible que haya cambios disponibles en esta configuración. Comuníquese con Soporte al comerciante para obtener más información.

  • Precio mínimo. $ 2.95
  • Precio maximo. $ 100 (inicial Y / O recurrente)
  • Periodo mínimo. 3 días
  • Períodos recurrentes permitidos. 30 días, 60 días, 90 días.

Variables

El conjunto de variables pasadas al formulario dependerá del tipo de transacción. Las siguientes variables son necesarias para transacciones únicas y recurrentes:

  • clienteAccnum. Un valor entero que representa el número de cuenta comercial de 6 dígitos.
  • clienteSubacc. Un valor entero que representa el número de subcuenta del comerciante de 4 dígitos.
  • nombre del formulario. El nombre del formulario.
  • formularioPrecio. Un valor decimal que representa el precio inicial.
  • formularioPeríodo. Un número entero que representa la duración, en días, del período de facturación inicial.
  • código de moneda. Un número entero que representa el código de moneda de 3 dígitos que se utilizará para la transacción.
  • formularioDigest. Un MD5 Hex Digest basado en los valores anteriores; esto se explica con más detalle en la siguiente sección.

Las siguientes variables son necesarias solo para transacciones recurrentes. Omitir estas variables resultará en una sola transacción de facturación:

  • formularioPrecioRecurrente. Un valor decimal que representa el precio de facturación recurrente.
  • formularioRecurringPeriod. Un número entero que representa el número de días entre cada refacturación.
  • formularioRebills. Un número entero que representa el total de veces que se volverá a facturar la suscripción. Pasar un valor de 99 hará que la suscripción se vuelva a facturar indefinidamente.

Generando el hash MD5

El valor de formDigest es un hash MD5 codificado en hexadecimal, calculado utilizando una combinación de los campos anteriores y un valor de sal. CCBill utiliza el valor de sal para verificar el hash y se puede obtener de dos formas:

  • Comuníquese con el soporte del comerciante y reciba el valor de la sal, O
  • Cree su propio valor de sal (hasta 32 caracteres alfanuméricos) y entréguelo al soporte del comerciante.

Con su herramienta de generación de hash MD5 preferida y el método de codificación hexadecimal, deberá crear un resumen hexadecimal MD5 utilizando ciertos valores de variable. Los valores deben concatenarse en una sola cadena sin espacios antes del hash.
Para transacciones de facturación única, utilice los siguientes valores en el orden en que se enumeran:

formularioPrecio formularioPeriodo monedaCódigo sal

Para transacciones recurrentes, use los siguientes valores en el orden en que se enumeran:

formularioPrecio formularioPeriodo formularioRecurrentePrecio periódicoRecurrentePeríodo formularioRefactura monedaCódigo sal

El hash MD5 resultante se utilizará como valor para la variable formDigest. Este valor puede codificarse estáticamente en una página o generarse "sobre la marcha" mediante un script personalizado.
Tenga en cuenta que los valores para clienteAccnum, clienteSubacc y nombre del formulario no se utilizan al crear el hash MD5 para ningún tipo de transacción.

Ejemplos de código

El siguiente ejemplo muestra los datos que se pasan a través de la cadena de URL:

https://bill.ccbill.com/jpost/signup.cgi?clientAccnum=900100&clientSubacc=0000&formName=75cc&formPrice=18.00&formPeriod=10&formRecurringPrice=25.00&formRecurringPeriod=30¤cyCode=840&formRebills=1&formDigest=14258aa803845b8ce6916ebba4015e91

Esta cadena de URL se utilizaría como enlace al formulario de registro.

Las variables también se pueden pasar utilizando campos ocultos en un formulario HTML. El siguiente ejemplo muestra un posible código para un botón que llevará al consumidor al formulario de registro:





Postback

Las solicitudes de precios dinámicos devolverán el resumen de respuestavalor utilizando el sistema de Publicaciones en segundo plano. Este valor es un hash MD5 de los resultados de la transacción que se puede utilizar para verificar que CCBill recibió la respuesta correctamente.
El valor para resumen de respuesta contendrá un hash MD5 de los siguientes valores para aprobado transacciones, concatenadas en una sola cadena:

  • ID de suscripción. El número de identificación de suscripción único para la suscripción.
  • 1. Este valor es simplemente el número 1 (uno), que se usa para mostrar que la transacción fue aprobada.
  • sal. El mismo valor para la sal mencionado en la sección Generación del hash MD5 anterior.

Estos valores se enviarán a la URL de publicación de aprobación.
El valor para resumen de respuesta contendrá un hash MD5 de los siguientes valores para negado transacciones, concatenadas en una sola cadena:

  • ID de negación. El número de identificación de denegación único para la suscripción.
  • 0. Este valor es simplemente el número 0 (cero), que se usa para mostrar que la transacción fue denegada.
  • sal. El mismo valor para la sal mencionado en la sección Generación del hash MD5 anterior.

Estos valores se enviarán a la URL de la publicación de denegación.

Para obtener más información sobre la publicación de antecedentes, incluido el uso de las URL de publicación de aprobación / denegación, consulte el Guía del usuario de la publicación en segundo plano.

v.3 12.30.2014