Integración BankStore XML
- Introducción
- Notificación de la Operación: Webhook
- Configuración del TPV
- Integración para la captura de datos
-
Integración BANKSTORE XML
- Ejecución de alta de usuario en el sistema
- Información del usuario
- Eliminación del usuario
- Ejecución de cobro a usuario en el sistema
- Ejecución de cobro a Usuario en el sistema por DCC
- Confirmación de moneda en pago DCC
- Devolución de cobro a usuario en el sistema
- Ejecución de alta de suscripción en el sistema
- Modificación de suscripción en el sistema
- Eliminación de Suscripción
- Ejecución de alta de suscripción a usuario en el sistema
- Creación de una preautorización a usuario en el sistema
- Confirmación de una preautorización a usuario en el sistema
- Cancelación de una preautorización a usuario en el sistema
- Confirmación de una validación de tarjeta a usuario en el sistema
- Cancelación de una validación de tarjeta a usuario en el sistema
- Ejecución de alta de usuario en el sistema mediante Token
- Ejecución de Cobro a un usuario por Referencia
-
Integración BANKSTORE IFRAME
-
Ejecución de Alta de Usuario en el sistema (
add_user
) -
Ejecución de Cobro (Alta implícita de Usuario en el sistema) (
execute_purchase
) -
Ejecución de Alta de Suscripción (Alta implícita de Usuario en el sistema) (
create_subscription
) -
Ejecución de Cobro a un usuario existente (
execute_purchase_token
) -
Ejecución de Alta de Suscripción a un usuario existente (
create_subscription_token
) -
Ejecución de Alta de Preautorización (Alta Implícita de Usuario en el sistema) (
create_preauthorization
) -
Ejecución de Confirmación de Preautorización (
preauthorization_confirm
) -
Ejecución de Cancelación de Preautorización (
preauthorization_cancel
) -
Alta de Preautorización a un usuario existente (
create_preauthorization_token
) -
Validación de tarjeta y confirmación (alta implícita de usuario en el sistema) (
deferred_preauthorization
) -
Aprobación tras validación de tarjeta (
deferred_preauthorization_confirm
) -
Cancelación tras validación de tarjeta (
deferred_preauthorization_cancel
)
-
Ejecución de Alta de Usuario en el sistema (
- Sobreescritura de parámetros URLOK y URLKO
- Anexo I – Cálculo de la firma de comercio – XML Bankstore
- Anexo II – Tipos de operaciones
- Anexo II - Firma avanzada VHASH
Introducción
La finalidad del presente documento es servir de referencia durante el proceso de integración de un comercio con la pasarela de pagos PAYCOMET, utilizando el sistema BankStore que almacena los datos bancarios de los clientes del comercio.
Se incluye también un apéndice de referencia y se puede conseguir en la web de PAYCOMET un documento con los códigos de error devueltos por el sistema para simplificar el proceso de depuración.
Las integraciones XML y REST permiten el acceso a las operaciones de pago sin intervención directa del usuario, ampliando la operativa de cobro individual a una gestión de los datos bancarios del cliente del comercio. Las peticiones parten del servidor del comercio y son procesadas por la pasarela de pago.
Ambas tecnologías escogida para la realización de las operaciones permiten el paso seguro por firewalls y a través de la red. Si necesita la captación de los datos de tarjeta, revise las integraciones Full screen, Iframe y JET-IFRAME.
El servicio BankStore se diferencia por su comunicación entre el comercio y la pasarela aunando información sobre los datos del cliente. El comercio almacena los datos personales de su cliente y PAYCOMET los datos bancarios. Una vez el comercio da de alta el usuario PAYCOMET devuelve un identificador formado por un número único de cliente (IDUSER) y un token (TOKENUSER).
De esta forma el comercio tiene un común identificador con PAYCOMET para realizar gestiones sobre su cuenta de cliente como:
- Alta de usuario
(add_user)
- Información de Usuario
(info_user)
- Eliminación de Usuario
(remove_user)
- Cobro de Usuario
(execute_purchase)
- Cobro de Usuario con DCC
(execute_purchase_dcc)
- Confirmación de cobro con DCC
(confirm_purchase_dcc)
En el mismo servicio se ha añadido la operativa de subscripción. Esta operativa es completamente paralela a la de almacenamiento de datos bancarios del cliente. La gestión de las subscripciones se realizarán con las siguientes funciones:
- Alta de subscripción
(create_subscription)
- Modificación de subscripción
(edit_subscription)
- Eliminación de subscripción
(remove_subscription)
También están presentes las operaciones relacionadas con las preautorizaciones, a través de las funciones:
- Alta de preautorización
(create_preauthorization)
- Confirmación de preautorizcion
(preauthorization_confirm)
- Anulación de preautorización
(preauthorization_cancel)
De esta forma se dividen dos conceptos en el mismo servicio que es necesario aclarar su finalidad y diferencias:
BankStore | BankStore Subscripción |
---|---|
Almacenamiento de datos bancarios de cliente del comercio | Gestión de subscripciones con almacenamientos de datos bancarios del cliente del comercio |
Ideal para comercios con compra habitual del mismo cliente sin necesidad de volver a introducir los datos de tarjeta | Ideal para subscripciones a un servicio pagos a plazos. Importante: PAYCOMET no se hará cargo de las denegaciones de cobro que pudieran ocurrir en las cuotas. |
Se pueden realizar devoluciones vía XML y REST | Las devoluciones deben ser realizadas desde el Panel de Control. |
El alta de la subscripción puede hacerse mediante XML, REST o GET (con iframe o fullscreen). | El alta de la subscripción puede hacerse mediante XML, REST o GET (con iframe o fullscreen). |
Notificación de la Operación: Webhook
El proceso de compra es llevado a cabo por la pasarela de pagos y la resolución de la operación es devuelta directamente en el mensaje de respuesta. No obstante es posible configurar a través del panel de cliente de PAYCOMET métodos de notificación adicionales para mantener el conocimiento de la operación a usuarios o lanzar mecanismos adicionales.
Estas notificaciones son idénticas a las enviadas por otro tipo de productos de pasarela de pagos, tales como pasarela WEB o Venta Telefónica. De esta manera es posible para el cliente mantener un control unificado de las ventas realizadas por el comercio
Para una correcta notificación del proceso de pago es posible configurar el sistema de notificaciones para que te informe del estado de la operación llevada a cabo por la pasarela, bien por correo electrónico, llamada a una URL en segundo plano (independiente del proceso de respuesta al servicio) o ambas y de forma global mediante SMS.
Correo electrónico
La información contenida en un correo de notificación tipo es la siguiente:
Se ha producido una venta según los siguientes parámetros:
Identificador de cuenta: 0gs265nc
Tipo de transacción: Autorización (1)
País de expedición de la tarjeta: ES
Fecha y hora de la transacción (yyyymmddhhmmss): 20101027110536
Orden: 2010102711053676
Respuesta: OK
ID de error: 0
Descripción del error:
Código de autenticación: 802335/120098123810102711053606007000
Moneda: EUR
Cantidad (euros): 10.00
Cantidad (origen): 1000
Idioma: es
ID de producto: 25
Firma:
Firma Extendida: 94f487ad8b57141d91fbc8fcda9e346cf17254bc
Pago Seguro: 0
Scoring: 0
Marca Tarjeta: VISA
Código BIC: BSABESBBXXX
Número de serie: 00000200275
PAYCOMET ID: 122548685
Llamada a URL
A la URL de destino se le pasan los parámetros de la notificación con el método POST según la siguiente tabla:
Variable | Tipo | Descripción |
---|---|---|
TransactionType | Numérico | Tipo de operación Ver TIPOS DE OPERACIONES |
TransactionName | Alfanumérico | Nombre de operación |
CardCountry | Alfanumérico | País de emisión de la tarjeta. Puede ser un valor vacío |
BankDateTime | Alfanumérico | Fecha de la operación |
Signature | Alfanumérico | Firma de la notificación |
Order | Alfanumérico | Referencia pasada por el comercio |
Response | Alfanumérico | Estado final de la operación |
ErrorID | Numérico | Código de error. Ver apéndice |
ErrorDescription | Alfanumérico | Descripción textual del error (opcional) |
AuthCode | Alfanumérico | Código de autorización devuelto por el banco (opcional) |
Currency | Alfanumérico | Moneda en la que realizó la operación |
Amount | Numérico | Importe pasado por el comercio |
AmountEur | Numérico | Importe en euros |
Language | Alfanumérico | Idioma en que se presentó la plataforma |
AccountCode | Alfanumérico | Código de cliente |
TpvID | Numérico | Número de terminal |
Concept | Alfanumérico | Concepto de la operación |
ExtendedSignature | Alfanumérico | Firma extendida de la notificación. |
IdUser | Numérico | No aparece en todas las notificaciones. Valor necesario para tokenizaciones |
TokenUser | Alfanumérico | No aparece en todas las notificaciones. Valor necesario para tokenizaciones |
SecurePayment | Numérico | Tomará valor 1 si la operación se procesó en modo seguro. Valor 0 cuando la operación se procesó en modo no seguro. |
CardBrand | Alfanumérico | Marca de la tarjeta, si se pudo determinar. |
BicCode | Alfanumérico | Código de la entidad bancaria por la que se realizó la operación, si se pudo determinar. |
Scoring | Numérico | Scoring calculado en la operación. |
La firma extendida para comprobación de notificaciones (NotificationHash
) se calculará de la siguiente manera:
extendedSignature = md5(AccountCode+TpvID+TransactionType+Order+Amount+Currency+md5(password)+BankDateTime+Response);
Configuración del TPV
Para poder utilizar la pasarela de pago PAYCOMET en tu comercio deberás estar en posesión de los parámetros de configuración necesarios. Éstos pueden obtenerse a través de la plataforma de gestión de cliente de PAYCOMET, en el área de cliente
Una vez dentro de la plataforma, puedes revisar la configuración del producto contratado mediante el menú Terminales->"Nombre de terminal"->Datos de terminal.
Tras pulsar en el terminal elegido, aparecerá un panel con la información básica del producto bajo el apartado “Credenciales de integración”. En concreto los datos necesarios durante el proceso de integración son:
- Contraseña
- Número de terminal
- Código de cliente
- URL del servicio (https://api.paycomet.com/gateway/xml-bankstore)
- URL del archivo de descripción del servicio web (WSDL) a modo de referencia (https://api.paycomet.com/gateway/xml-bankstore?wsdl)

Integración para la captura de datos
Para facilitar el cumplimiento de la norma PCI-DSS, el comercio dispone de la solución de captura de datos de su cliente mediante IFRAME personalizable.
Esta solución permite la generación de un formulario de captura de datos con el look&feel predefinido en el panel de control del producto. Esta solución debe ser activada por PAYCOMET, por lo que si no aparece en el panel de control, deberás solicitarlo mediante la apertura de un ticket administrativo desde: (Soporte -> Crear ticket -> Administrativa-Operativa).
En esta sección podrás ver una previsualización de los estilos aplicados más abajo. Los estilos permiten la referencia a sites externos pero deberán responder con un certificado digital correctamente firmado por una entidad de confianza, de lo contrario el navegador del cliente mostrará un error que creará desconfianza en su cliente:
La plantilla se puede personalizar desde la sección: (Terminales->"Nombre de terminal"->Formulario de pago). Aqui se encuentran los campos modificables mediante estilos CSS y una previsualización de dichos cambios.
Si las propiedades disponibles no se ajustan a las necesidades de la aplicación, es posible solicitar un desarrollo de “Template” específico mediante la apertura de un ticket administrativo (Soporte -> Crear ticket -> Administrativa-Operativa).
Te informaremos de los pasos a seguir y la normativa de dicho desarrollo.
Las funcionalidades disponibles en Bankstore IFRAME son:
- Función: (
add_user
) - Función: (
execute_purchase
) - Función: (
create_subscription
)
Dichas funcionalidades son las que implican la recogida de los datos bancarios del cliente. De forma posterior, una vez recogidos los datos IDUSER y TOKENUSER, se podrán utilizar las integraciones XML y REST para ejecutar compras, modificación de las suscripciones, información de los datos de tarjeta del usuario, cancelación de suscripciones, etc...
Operativa de captura de datos (ejemplo)
La finalidad de utilizar una integración para la captación de los datos de tarjeta del cliente, es facilitar el cumplimiento de la norma PCI-DSS de la aplicación web. De esta forma la recogida de los datos bancarios se realiza en el entorno seguro de PAYCOMET para posteriormente tratarlos en una conversación Server2Server sin riesgo de datos susceptibles de robo
En un entorno ficticio encontraríamos el siguiente escenario:
Un comercio con alta recurrencia quiere almacenar los datos bancarios del cliente para facilitar las compras futuras. La técnica de la recogida de sus datos bancarios son dos:
- Desde la cuenta de cliente. En su panel de control puede modificar sus datos de facturación, envío e incluso sus tarjetas de crédito/débito asociadas. De esta forma al finalizar el carrito de compra, con sólo pulsar un botón realizará el pago del pedido
- En la primera compra. El cliente introduce todos sus datos bancarios en el proceso final del carrito de compra y quedarán almacenados para compras futuras. De esta forma, elalmacenamiento se realiza de una forma “transparente” al finalizar su pedido.
En el primer caso, el cliente se autentica en la plataforma del e-commerce porque es un usuario previamente dado de alta. Entra en su panel de control y elige añadir una tarjeta de crédito/débito a su cuenta para realizar los pagos. El comercio muestra de una forma integrada en su panel de control, un formulario de captura de datos y PAYCOMET notifica al comercio del resultado. El comercio almacena los datos IDUSER y TOKENUSER a la cuenta del cliente (puede tener varios, para disponer de varias tarjetas), para posteriormente realizar los cobros.

El cliente introduce los datos en el formulario de captura de datos de PAYCOMET (integrado estéticamente con la web del comercio) y PAYCOMET notifica en diferido los datos IDUSER y TOKENUSER en caso de éxito.
El comercio almacena los datos asociados a la cuenta de su cliente para poder ejecutar un cobro mediante una integración SOAP XML
En el segundo caso (almacenamiento en la primera compra), el cliente realiza el pedido normalmente y en la selección del método de pago por tarjeta de crédito/débito le solicita los datos bancarios para proceder al pago.

Los datos bancarios los introduce en un formulario de captura de datos generado por PAYCOMET devolviendo tanto los datos del almacenamiento del usuario (IDUSER y TOKENUSER) como el resultado de la transacción
Este caso sólo se produce si el comercio no dispone de los dos datos IDUSER y TOKENUSER. En caso contrario la comunicación no se haría mediante un formulario de captura de datos.
En la situación que el comercio disponga de los datos IDUSER y TOKENUSER, ya bien por la obtención mediante un add_user, el cliente ha introducido sus datos desde su panel de control del comercio, o mediante execute_purchase
, el cliente ya ha realizado una compra con anterioridad, el método para realizar una compra es diferente. El método a utilizar será mediante una conexión Server2Server (XML or REST) donde el comercio utilizará el servicio execute_purchase
de forma directa con PAYCOMET.

Se recomienda utilizar algún tipo de autenticación (tipo PIN o similar) para ejecutar el servicio de execute_purchase
para evitar compras no solicitadas.
Dichas compras no solicitadas suelen ser motivo de disputa de la operación pudiendo incurrir en gastos adicionales por parte de la entidad bancaria y si se trata de una falta reiterada, se podría llegar a cancelar la cuenta.
Modalidades de cobro en función a la integración
Es importante entender las dos integraciones de cara a construir la operativa del comercio.
Cobro 3DSecure | Cobro No Seguro | Responsabilidad de la captación de la tarjeta | |
---|---|---|---|
add_user (Bankstore IFRAME) | SI | SI | PAYCOMET |
execute_purchase (Bankstore IFRAME) | SI | SI | PAYCOMET |
create_subscription (Bankstore IFRAME) | SI | SI | PAYCOMET |
add_user (Bankstore SOAP XML) | NO | SI | Comercio |
execute_purchase (Bankstore SOAP XML) | NO | SI | Comercio |
create_subscription (Bankstore SOAP XML) | NO | SI | Comercio |
Cobros mediante Operativa DCC
PAYCOMET permite mediante la operativa de BankStore, realizar transacciones en modalidad DCC (Dynamic Currency Conversion).
La conversión dinámica de moneda (DCC) convierte las compras internacionales con tarjetas de crédito de Visa® y MasterCard® en la moneda local del titular de la tarjeta. PAYCOMET administra todo el proceso de conversión; desde tasas de cambios directas del tesoro y procesamiento de transacciones, a conciliación de pagos diferidos, liquidación,financiamiento y apoyo.
Con DCC, los clientes internacionales sabrán exactamente cuánto es el total de la compra en su moneda local. Las tarifas de conversión generalmente son mucho más competitivas que en las empresas de cambio.
Esta operativa debe ser activada antes de su uso, contacta con nosotros para darlo de alta al producto deseado.
La integración DCC difiere de la integración convencional por el uso de un servicio específico para realizar el cobro al cliente. Los servicios dedicados al DCC son:
- Cobro de Usuario con DCC
- Confirmación de cobro con DCC
El procedimiento de alta de usuario: add_user
, sigue siendo necesario en el caso de compras sin 3D Secure. La diferencia principal es la incorporación de un paso adicional para recibir el cambio disponible de la moneda nativa de la tarjeta en el mismo momento de la transacción:

Integración BANKSTORE XML
Debido a que todo el proceso de pago se realiza en segundo plano (de servidor a servidor) las modificaciones a realizar en el comercio son totalmente ajenas a la experiencia de usuario.
Las tecnologías disponibles para la operativa con la pasarela de pagos PAYCOMET son SOAP y REST, ambas basadas en HTTPS para evitar problemas de transporte a través de firewalls y otros dispositivos y a la vez garantizar la seguridad de las operaciones. Existe un soporte muy amplio para la realización de llamadas con ambos protocolos para los principales lenguajes de programación usados en entornos web.
Las peticiones se realizan mediante el protocolo de transporte HTTPS, de manera que debes asegurarte de que tu sistema es capaz de realizar las peticiones correctamente y gestionar los certificados de seguridad devueltos por la plataforma para una correcta utilización.
Existen varias operaciones que se podrán lanzar desde el mismo servicio. Las operaciones disponibles vienen descritas a continuación.
Ejecución de alta de usuario en el sistema
Función: (add_user
)
Las variables que se requieren para dar de alta a un usuario con sus datos bancarios son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_MERCHANT_PAN | [0-9]{16,19} | Obligatorio. Número de tarjeta, sin espacios ni guiones |
DS_MERCHANT_EXPIRYDATE | [0-9]{4} | Obligatorio. Fecha de caducidad de la tarjeta, expresada como “mmyy” (mes en dos cifras y año en dos cifras) |
DS_MERCHANT_CVV2 | [0-9]{3,4} | Obligatorio. Código CVC2 de la tarjeta |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación de pago (propietario de la tarjeta) |
DS_CARDHOLDERNAME | [a-zA-Z]{30} | Opcional. Nombre del propietario de la tarjeta. |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Identificador único del usuario registrado en el sistema. Volverá vacío en caso de error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Código token asociado al DS_IDUSER . |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, importe incorrecto, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá el campo DS_IDUSER
y DS_TOKEN_USER
que deberán ser almacenados por el comercio, asociándolo a la cuenta de su cliente, para posteriormente realizar cargos en su tarjeta de crédito/débito.
Información del usuario
Función: (info_user
)
Esta función se utilizará para confirmar a los clientes del comercio la tarjeta a la que se le realizará el cobro. Este paso es opcional pero resulta conveniente para evitar desconfianzas.
Las variables que se requieren para solicitar información de un usuario son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación de pago (propietario de la tarjeta) |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_PAN | [0-9]{16,19} | Número de tarjeta. Se devolverá el dato enmascarado, mostrando únicamente los primeros seis dígitos y los cuatro últimos. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
DS_CARD_BRAND | [a-zA-Z]{30} | Marca de la tarjeta. Si es posible identificarla, se enviará información sobre la marca de la tarjeta (Visa, MasterCard, American Express, etc). En caso contrario, el campo se devolverá en blanco. |
DS_CARD_TYPE | [a-zA-Z]{20} | Tipo de tarjeta. Si es posible identificarla, se enviará información sobre el tipo de tarjeta (DEBIT, CREDIT, etc). En caso contrario, el campo se devolverá en blanco |
DS_CARD_I_COUNTRY_ISO3 | [a-zA-Z]{3} | Código ISO3 del país del emisor de la tarjeta. Si es posible identificarlo, se enviará el código ISO3 del país emisor de la tarjeta. En caso contrario, el campo se devolverá en blanco |
DS_EXPIRYDATE | [YYYY/MM] | Fecha de caducidad de la tarjeta expresada en formato YYYY/MM |
DS_CARD_HASH | [a-zA-Z0-9]{64} | Hash no reversible generado con la información de la tarjeta que la identifica de manera única. |
Si la petición produjo un error de algún tipo (firma incorrecta, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error..
En caso de que la transacción sea correcta, el servicio devolverá el campo DS_MERCHANT_PAN
que contendrá la tarjeta de crédito/débito enmascarada, dejando visibles sólo los 6 primeros dígitos y los 4 últimos. Esta operativa es muy útil para mostrarle al cliente del comercio con qué tarjeta se va a realizar la transacción.
Ejemplos de integración en diferentes lenguajes:
Eliminación del usuario
Función: (remove_user
)
Esta función se utilizará para eliminar un usuario de la cuenta del comercio.
Las variables que se requieren para solicitar la baja de un usuario son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación de pago (propietario de la tarjeta) |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá el campo DS_RESPONSE
cuyo valor será 0 o vacío en caso de error y 1 en caso de éxito en la eliminación.
Ejecución de cobro a usuario en el sistema
Función: (execute_purchase
)
Una vez el usuario está dado de alta en el sistema, se podrán realizar cobros a su cuenta mediante el envío de sus credenciales y datos de la operación
Las variables que se requieren para realizar un cobro a un usuario dado de alta en el sistema son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. Debe ser única en cada transacción válida. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en el apartado MONEDAS |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación de pago (propietario de la tarjeta) |
DS_MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
DS_MERCHANT_OWNER | [a-zA-Z0-9]{40} | Opcional. Descripción de la transacción |
DS_MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Referencia de la operación |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autorización de la transacción (necesario para ejecutar una devolución). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). Puede venir vacío. |
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá el campo DS_RESPONSE
cuyo valor será 0 o vacío en caso de error y 1 en caso de éxito en la eliminación.
Ejemplos de integración en diferentes lenguajes:
Ejecución de cobro a Usuario en el sistema por DCC
Función: (execute_purchase_dcc
)
Una vez el usuario está dado de alta en el sistema, se podrán realizar cobros a su cuenta mediante el envío de sus credenciales y datos de la operación. La casuística del DCC requiere que un proceso de pago se realice en dos pasos: execute_purchase_dcc
, donde se recibe la moneda nativa de la tarjeta (en caso que la tarjeta tenga la misma moneda que el producto asociado a la transacción, el resultado será de conversión 1:1) y posteriormente se confirmará con el método confirm_purchase_dcc
con la moneda seleccionada y la sesión original de la transacción.
Las variables que requiere el servicio para realizar un cobro DCC a un usuario dado de alta en el sistema son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. Debe ser única en cada transacción válida. |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP de la aplicación del comercio |
DS_MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
DS_MERCHANT_OWNER | [a-zA-Z0-9]{40} | Opcional. Descripción de la transacción |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Referencia de la operación |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Siempre será la misma del producto original. |
DS_MERCHANT_DCC_SESSION | [a-zA-Z0-9]{1,40} | Variable de sesión para la confirmación posterior de la autorización. Este valor debe ser almacenado para confirmar el pago en la moneda elegida por el usuario final. |
DS_MERCHANT_DCC_CURRENCY | [EUR][USD][GBP][JPY] | Moneda nativa de la tarjeta del cliente. |
DS_MERCHANT_DCC_CURRENCYISO3 | [0-9]{1,3} | Moneda nativa de la tarjeta del cliente en formato ISO3 |
DS_MERCHANT_DCC_CURRENCYNAME | [A-Za-z0-9]{1,20} | Literal de la moneda en string. Si la moneda nativa es la misma que la del producto PAYCOMET, este campo vendrá con valor 0. |
DS_MERCHANT_DCC_EXCHANGE | [0-9]*\.?[0-9]* | Ratio de cambio entre monedas. Devuelve string aunque vendrá en formato float. |
DS_MERCHANT_DCC_AMOUNT | [0-9]{1,8} | Importe de la operación en la moneda nativa en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_DCC_MARKUP | [0-9]*\.?[0-9]* | Valor porcentual en float del margen DCC aplicado por la entidad financiera. Por ejemplo: 0.03 será un 3% |
DS_MERCHANT_DCC_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). |
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, importe incorrecto, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá todos los campos. En este caso el campo DS_ERROR_ID
será devuelto vacío. El dato a guardar para la confirmación de la operación es el DS_MERCHANT_DCC_SESSION
que se trata del identificador único transaccional vinculante a la operación de compra iniciada en DCC. En el siguiente paso debe confirmarse la moneda para finalizar la transacción y vincularla a la sesión DCC.
Ejemplos de integración en diferentes lenguajes:
Confirmación de moneda en pago DCC
Función: (confirm_purchase_dcc
)

Una vez se ha devuelto el parámetro DS_MERCHANT_DCC_SESSION
cuando se realizó una compra por DCC, el estado de la transacción se queda “a la espera” de la confirmación de moneda. El comercio debe proponer al cliente la moneda en la que quiere pagar (mostrándole la conversión en tiempo real) y cuando la selecciona, el comercio debe confirmar la autorización con la moneda seleccionada por el usuario final.
(ejemplo de interacción con usuario final)
Las variables que se requieren para confirmar una operación en DCC en el sistema son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación original. |
DS_MERCHANT_DCC_CURRENCY | [EUR][USD][GBP][JPY][...] | Obligatorio. Moneda de la transacción elegida. Puede ser la del producto PAYCOMET o la nativa seleccionada por el usuario final. El importe será el enviado en execute_purchase_dcc si es el mismo del producto y el convertido en caso de ser diferente. |
DS_MERCHANT_DCC_SESSION | [a-zA-Z0-9]{1,40} | Obligatorio. Misma sesión enviada en el proceso de execute_purchase_dcc . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
Importante
¡Importante! La variable DS_MERCHANT_DCC_SESSION
tiene una validez de 5 minutos desde su creación. Por motivos de volatilidad en el cambio y seguridad, dicha sesión caducará en ese plazo y no podrá recuperarse, teniendo que lanzar de nuevo un execute_purchase_dcc
si el tiempo ha expirado o se recibe un error “Recibido token incorrecto. Error (1204)”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Referencia de la operación |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY][...] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autorización de la transacción (necesario para ejecutar una devolución). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). Puede venir vacío. |
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado: CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, importe incorrecto, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá todos los campos (excepto DS_MERCHANT_CARDCOUNTRY
que es opcional) que deberán ser almacenados por el comercio de cara a una posible devolución. En este caso el campo DS_ERROR_ID
será devuelto con valor 0.
Ejemplos de integración en diferentes lenguajes:
Devolución de cobro a usuario en el sistema
Función: (execute_refund
)
Se podrán ejecutar devoluciones de las operaciones realizadas mediante esta función. Será necesario los datos identificativos del usuario y el código de autorización bancario.
Las variables que se requieren para realizar una devolución de una operación son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Obligatorio. Código bancario original de la autorización de la transacción |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia original de la operación. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP de la aplicación del comercio |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Opcional. Para devoluciones parciales. Importe que se pretende devolver en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Referencia de la operación |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autenticación de la transacción |
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, importe incorrecto, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá todos los campos. En este caso el campo DS_ERROR_ID
será devuelto vacío. El servicio devolverá el campo DS_RESPONSE
cuyo valor será 0 o vacío en caso de error y 1 en caso de éxito de la devolución.
Ejecución de alta de suscripción en el sistema
Función: (create_subscription
)
El alta de una subscripción implica el alta de un usuario en el sistema BankStore de PAYCOMET. Este proceso es completamente independiente del cobro puntual a un cliente del comercio.
Las variables que se requieren para dar de alta a un usuario con subscripción son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_MERCHANT_PAN | [0-9]{16,19} | Obligatorio. Número de tarjeta, sin espacios ni guiones |
DS_MERCHANT_EXPIRYDATE | [0-9]{4} | Obligatorio. Fecha de caducidad de la tarjeta, expresada como “mmyy” (mes en dos cifras y año en dos cifras) |
DS_MERCHANT_CVV2 | [0-9]{3,4} | Obligatorio. Código CVC2 de la tarjeta |
DS_SUBSCRIPTION_STARTDATE | [YYYY-MM-DD] | Obligatorio. Fecha de inicio de la subscripción. Si el valor es vacío la fecha es el mismo día del alta. IMPORTANTE: Las suscripciones se cobran en la primera ejecución si este campo tiene valor se tendrá en cuenta para los futuros cargos. |
DS_SUBSCRIPTION_ENDDATE | [YYYY-MM-DD] | Obligatorio. Fecha final de la subscripción.No podrá ser mayor que la fecha de inicio de la suscripción + 5 años |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Obligatorio. Primeros caracteres a la referencia de la operación. IMPORTANTE: No incluir los caracteres “[“ o “]”, se utilizarán para reconocer el usuario del comercio. |
DS_SUBSCRIPTION_PERIODICITY | [0-9]{3} | Obligatorio. Periodicidad del cobro desde la fecha de inicio. El número expresa Días. No podrá ser mayor de 365 días. |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación de pago (propietario de la tarjeta) |
DS_MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
Importante
El campo DS_SUBSCRIPTION_ORDER
serán los primeros caracteres de la referencia de la compra. Seguido se adjuntará el dato DS_IDUSER
entre corchetes [] + el día de la transacción en formato: YYYYMMDD. De esta forma la referencia siempre será la misma pero irá cambiando cuando se realicen las transacciones periódicas.
Ejemplo:
DS_SUBSCRIPTION_ORDER = Luis_3268314
El cobro de la subscripción al DS_IDUSER
32 el día 23 de Diciembre del 2030 el sistema devolverá como DS_SUBSCRIPTION_ORDER
:
DS_SUBSCRIPTION_ORDER = Luis_3268314[23]20301223
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Identificador único del usuario registrado en el sistema. Volverá vacío en caso de error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Código token asociado al DS_IDUSER . |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Referencia original de la operación + [DS_IDUSER] + fecha de la transacción en formato YYYYMMDD. |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autenticación de la transacción |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). Puede venir vacío. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, importe incorrecto, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá los campos DS_IDUSER
y DS_TOKEN_USER
que deberán ser almacenados por el comercio, asociándolo a la cuenta de su cliente, para posteriormente modificar la subscripción o dar de baja la subscripción.
En caso de ejecución de la primera cuota con éxito el sistema devolverá todos los campos menos DS_ERROR_ID
que quedará vacío.
Si la ejecución de la primera cuota es errónea por diferentes motivos (saldo, validez de la tarjeta, etc...), la subscripción será cancelada teniendo que crear otra subscripción nueva. En este caso sólo se devolverá DS_ERROR_ID
con el código de error específico.
Modificación de suscripción en el sistema
Función: (edit_subscription
)
Si un usuario renueva su subscripción o simplemente se quiere aumentar la cuota del servicio, ofrecemos el servicio de modificar una subscripción. En este caso no se podrá cambiar la moneda ni los datos bancarios del cliente del comercio. La modificación de la subscripción implica el previo alta de un usuario en modo subscripción en el sistema BankStore de PAYCOMET. Este proceso es completamente independiente del cobro puntual a un cliente del comercio.
Las variables que se requieren para modificar una subscripción son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_SUBSCRIPTION_STARTDATE | [YYYY-MM-DD] | Obligatorio. Fecha de inicio de la subscripción. Si el valor es vacío la fecha es el mismo día del alta. IMPORTANTE: Las suscripciones se cobran en la primera ejecución si este campo tiene valor se tendrá en cuenta para los futuros cargos. |
DS_SUBSCRIPTION_ENDDATE | [YYYY-MM-DD] | Obligatorio. Fecha final de la subscripción. |
DS_SUBSCRIPTION_PERIODICITY | [0-9]{3} | Obligatorio. Periodicidad del cobro desde la fecha de inicio. El número expresa Días. |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación de pago (propietario de la tarjeta) |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Código token asociado al DS_IDUSER . |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Referencia original de la operación + [DS_IDUSER] + fecha de la transacción en formato YYYYMMDD. |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autenticación de la transacción |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). Puede venir vacío. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, importe incorrecto, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de ejecución de la primera cuota con éxito el sistema devolverá todos los campos menos DS_ERROR_ID
que quedará vacío.
Si la ejecución de la primera cuota es errónea por diferentes motivos (saldo, validez de la tarjeta, etc...), la subscripción será cancelada teniendo que crear otra subscripción nueva. En este caso sólo se devolverá DS_ERROR_ID
con el código de error específico.
Eliminación de Suscripción
Función: (remove_subscription
)
Esta función se utilizará para eliminar una subscripción de la cuenta del comercio.
Las variables que se requieren para solicitar la baja de una subscripción son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP de la aplicación del comercio. |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá el campo DS_RESPONSE
cuyo valor será 0 o vacío en caso de error y 1 en caso de éxito en la eliminación.
Ejecución de alta de suscripción a usuario en el sistema
Función: (create_subscription_token
)
El alta de una subscripción por esta vía creará una suscripción a un usuario que ya fue dado de alta en el sistema, sin que sea necesario en este caso, enviar los datos de tarjeta nuevamente.
Las variables que se requieren para dar de alta la subscripción son:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_SUBSCRIPTION_STARTDATE | [YYYY-MM-DD] | Obligatorio. Fecha de inicio de la subscripción. Si el valor es vacío la fecha es el mismo día del alta. IMPORTANTE: Las suscripciones se cobran en la primera ejecución si este campo tiene valor se tendrá en cuenta para los futuros cargos. |
DS_SUBSCRIPTION_ENDDATE | [YYYY-MM-DD] | Obligatorio. Fecha final de la subscripción. No podrá ser mayor que la fecha de inicio de la suscripción + 5 años |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Obligatorio. Primeros caracteres a la referencia de la operación. IMPORTANTE: No incluir los caracteres “[“ o “]”, se utilizarán para reconocer el usuario del comercio. |
DS_SUBSCRIPTION_PERIODICITY | [0-9]{3} | Obligatorio. Periodicidad del cobro desde la fecha de inicio. El número expresa Días. No podrá ser mayor de 365 días. |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación de pago (propietario de la tarjeta) |
DS_MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
Importante
El campo DS_SUBSCRIPTION_ORDER
serán los primeros caracteres de la referencia de la compra. Seguido se adjuntará el dato DS_IDUSER
entre corchetes [] + el día de la transacción en formato: YYYYMMDD. De esta forma la referencia siempre será la misma pero irá cambiando cuando se realicen las transacciones periódicas.
Ejemplo:
DS_SUBSCRIPTION_ORDER = Luis_3268314
El cobro de la subscripción al DS_IDUSER
32 el día 23 de Diciembre del 2030 el sistema devolverá como DS_SUBSCRIPTION_ORDER
:
DS_SUBSCRIPTION_ORDER = Luis_3268314[23]20301223
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Identificador único del usuario registrado en el sistema. Volverá vacío en caso de error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Código token asociado al DS_IDUSER . |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Referencia original de la operación + [DS_IDUSER] + fecha de la transacción en formato YYYYMMDD. |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autenticación de la transacción |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). Puede venir vacío. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, importe incorrecto, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de ejecución de la primera cuota con éxito el sistema devolverá todos los campos menos DS_ERROR_ID
que quedará vacío.
Si la ejecución de la primera cuota es errónea por diferentes motivos (saldo, validez de la tarjeta, etc...), la subscripción será cancelada teniendo que crear otra subscripción nueva. En este caso sólo se devolverá DS_ERROR_ID
con el código de error específico.
Creación de una preautorización a usuario en el sistema
Función: (create_preauthorization
)
Una vez el usuario está dado de alta en el sistema, se podrán realizar operaciones de preautorización mediante el envío de sus credenciales y datos de la operación.
Las variables que se requieren para realizar una preautorización a un usuario dado de alta en el sistema son las mismas que las descritas en el apartado Ejecución de cobro a usuario en el sistema
Confirmación de una preautorización a usuario en el sistema
Función: (preauthorization_confirm
)
Una vez realizada y autorizada una operación de preautorización, puede confirmarse para realizar el cobro efectivo dentro de los 7 días siguientes; pasada esa fecha, las preautorizaciones pierden su validez. El importe de la confirmación de preautorización puede ser menor, igual o superior sin exceder en un 15% la preautorización original.
Las variables que se requieren para confirmar la preautorización son:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al DS_IDUSER . |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. Debe ser la que identificó la preautorización original. |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Referencia de la operación |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autorización de la transacción (necesario para ejecutar una devolución). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). Puede venir vacío. |
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Cancelación de una preautorización a usuario en el sistema
Función: (preauthorization_cancel
)
Una vez realizada una preautorización, puede cancelarse la misma dentro de los 7 días siguientes.
Las variables que se requieren para cancelar la preautorización y los elementos de respuesta son los mismas que para la confirmación de preautorización.
Confirmación de una validación de tarjeta a usuario en el sistema
Función: (deferred_preauthorization_confirm
)
Una vez realizada y autorizada una operación de validación de tarjeta., puede confirmarse para realizar el cobro efectivo dentro de las 72 horas siguientes; pasada esa fecha, las preautorizaciones diferidas pierden su validez. El importe de la confirmación de validación de tarjeta debe ser exactamente igual al de la validación de tarjeta original.
Las variables que se requieren para confirmar la validación de tarjeta. son las mismos que para confirmar la preautorización.
La respuesta del servicio tendrá los mismos elementos que la respuesta de la preautorización
Cancelación de una validación de tarjeta a usuario en el sistema
Función: (deferred_preauthorization_cancel
)
Una vez realizada una validación de tarjeta, puede cancelarse la misma dentro de las 72 horas siguientes.
Las variables que se requieren para cancelar la validación de tarjeta y los elementos de respuesta son los mismas que para la confirmación de validación de tarjeta.
Ejecución de alta de usuario en el sistema mediante Token
Función: (add_user_token
)
Este método permite dar de alta un usuario en base a un token obtenido previamente mediante la solución BankStore JET-IFRAME
Las variables que se requieren para dar de alta a un usuario son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_MERCHANT_JETTOKEN | [a-z0-9]{64} | Obligatorio. Token obtenido mediante javascript. |
DS_MERCHANT_JETID | [a-z0-9]{32} | Obligatorio. Identificador para la encriptación JET. |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
DS_ORIGINAL_IP | A.B.C.D | Obligatorio. Dirección IP del cliente que inició la operación |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Identificador único del usuario registrado en el sistema. Volverá vacío en caso de error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Código token asociado al DS_IDUSER . |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Ejecución de Cobro a un usuario por Referencia
Función: execute_purchase_rtoken
Este método permite ejecutar un cobro en base a un token obtenido previamente mediante la solución de Pago por Referencia
Las variables que se requieren para dar de alta a un usuario son (en este orden):
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,70} | Obligatorio. Referencia de la operación. Debe ser única en cada transacción válida. |
DS_MERCHANT_IDENTIFIER | [a-z0-9]{40} | Identificador obtenido mediante anterior Pago por Referencia |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver cálculo de firma a continuación. |
La descripción de la columna “Contenido” se refiere a la expresión regular que debe cumplir la información presente en el elemento correspondiente (salvo en el caso de DS_ORIGINAL_IP
, que se refiere a una dirección IP del tipo “192.168.1.254”). De esta manera “[A-Z]” indica cualquier carácter de la “A” a la “Z” y los corchetes indican el número de caracteres. Por ejemplo “1{2,4}” valida los números “11”, “111” y “1111”.
La respuesta del servicio a la petición se realiza mediante la devolución de un array formateado en XML con los distintos elementos quedan descritos en la tabla siguiente:
Elemento | Contenido | Descripción |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Referencia de la operación |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Moneda de la transacción. Ver más información en MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Código bancario de autorización de la transacción (necesario para ejecutar una devolución). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | País del emisor de la tarjeta en código ISO3 (ej: 724 = España). Puede venir vacío. |
DS_RESPONSE | [0-1]{1} | Resultado de la operación. 0 o vacío será operación errónea y 1 operación completada. |
DS_ERROR_ID | [0-9]{1,5} | En caso de error, aquí vendrá el código de error generado. Si no existe error vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado CÓDIGOS DE ERROR. |
Si la petición produjo un error de algún tipo (firma incorrecta, usuario no encontrado, etc) todos los campos se entregarán vacíos, salvo “DS_ERROR_ID
” que contendrá el código de error.
En caso de que la transacción sea correcta, el servicio devolverá el campo DS_RESPONSE
cuyo valor será 0 o vacío en caso de error y 1 en caso de éxito en la eliminación.
Integración BANKSTORE IFRAME
La integración mediante un marco IFRAME (una página web independiente ubicada dentro de otra página web, en este caso la pasarela de pago de PAYCOMET y la tienda respectivamente) se realiza mediante un objeto IFRAME con origen la dirección URL
https://api.paycomet.com/gateway/ifr-bankstore
A continuación mostramos un ejemplo del código HTML (se han simplificado los parámetros de llamada, que se tratarán más adelante):
<iframe title="titulo" sandbox="allow-top-navigation allow-scripts allow-same-origin allow-forms" src="https://api.paycomet.com/gateway/ifr-bankstore?MERCHANT_MERCHANTCODE=0gs265nc……" width="400" height="525" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" style="border: 0px solid #000000; padding: 0px; margin: 0px"></iframe>
Para evitar bloqueos en las redirecciones requeridas por el proceso de pago en algunos navegadores con restricciones de seguridad es imprescindible indicar estos parámetros en la declaración del iframe.
sandbox="allow-top-navigation allow-scripts allow-same-origin allow-forms"
Los parámetros de llamada deben formatearse de la siguiente manera:
PARAM1=VALOR1&PARAM2=VALOR2&PARAM3=VALOR3
Operaciones permitidas:
ID | Operación |
---|---|
107 | Alta de Usuario en el sistema (add_user ) |
1 | Cobro (Alta implícita de Usuario en el sistema) (execute_purchase ) |
9 | Alta de Suscripción (Alta implícita de Usuario en el sistema) (create_subscription ) |
109 | Cobro a un usuario existente (execute_purchase_token ) |
110 | Alta de Suscripción a un usuario existente (create_subscription_token ) |
3 | Alta de Preautorizacion (Alta implícita de Usuario en el sistema) (create_preauthorization ) |
6 | Confirmación de Preautorizacion (preauthorization_confirm ) |
4 | Cancelación de Preautorizacion (preauthorization_cancel ) |
111 | Alta de Preautorización a un usuario existente (create_preauthorization_token ) |
13 | Alta de Preautorizacion diferida(Alta implícita de Usuario en el sistema) (defered_create_preauthorization ) |
16 | Confirmación de Preautorizacion diferida (defered_preauthorization_confirm ) |
14 | Cancelación de Preautorizacion diferida (defered_preauthorization_cancel ) |
Parámetros
Ejecución de Alta de Usuario en el sistema (add_user
)
Esta operación dará de alta un nuevo usuario en el sistema y realizará la notificación correspondiente.
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación. Para altas de usuarios en el sistema el tipo de operación será 107 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Identificador de la operación. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación del alta de usuario en el sistema solamente se enviará mediante llamada a la URL configurada en el panel de control. No se enviará notificación del alta de usuario por correo electrónico.
A la URL de destino se le pasan los parámetros de la notificación con el método POST según la siguiente tabla:
Elemento | Contenido | Descripción |
---|---|---|
TransactionType | Numérico | Tipo de operación (107) |
TransactionName | Alfanumérico | Descripción del tipo de operación |
CardCountry | Alfanumérico | País de emisión de la tarjeta. Puede ser un valor vacío |
DateTime | Numérico | Fecha de la operación. Formato yyyymmddhhmmss |
Signature | Alfanumérico | Firma de la notificación. Ver Cálculo de Firma de Notificación |
Order | Alfanumérico | Referencia pasada por el comercio |
Response | Alfanumérico | Estado final de la operación. OK / KO |
ErrorID | Numérico | Código de error. 0 = No hay error 1 = La operación ha devuelto un error |
Language | Alfanumérico | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
AccountCode | Alfanumérico | Código de cliente |
TpvID | Alfanumérico | Número de terminal |
IdUser | Numérico | Id del nuevo usuario registrado en el sistema. En caso de error se devolverá vacío. |
TokenUser | Alfanumérico | Token del nuevo usuario registrado en el sistema. En caso de error se devolverá vacío. |
CardType | Alfanumérico | (Empty), CREDIT, DEBIT, CHARGE CARD |
Cálculo de Firma
Las notificaciones incluirán una firma para la comprobación de la integridad de los datos. El cálculo de la misma se realiza de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + DateTime + md5(PASSWORD))
Ejecución de Cobro (Alta implícita de Usuario en el sistema) (execute_purchase
)
Esta operación dará de alta un nuevo usuario en el sistema y realizará la operación de cobro sobre ese usuario. Se notificará del resultado del alta de usuario y la operación de cobro.
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Ejecución de Cobro es: 1 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450... |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de un cobro a un nuevo usuario en el sistema se efectuará conforme a lo descrito en el apartado Llamada Url Notificación.
A la URL de destino se le pasan los parámetros de la notificación ya especificados en Llamada url Notificación y en caso de alta de usuario y cobro correcto, se devolverán además:
Elemento | Contenido | Descripción |
---|---|---|
IdUser | Numérico | Id del nuevo usuario registrado en el sistema. En caso de error se devolverá vacío. |
TokenUser | Alfanumérico | Token del nuevo usuario registrado en el sistema. En caso de error se devolverá vacío. |
Ejecución de Alta de Suscripción (Alta implícita de Usuario en el sistema) (create_subscription
)
El alta de una subscripción implica el alta de un usuario en el sistema BankStore de PAYCOMET. Esta operación dará de alta un nuevo usuario en el sistema y realizará la operación del primer cobro de la suscripción. Se notificará del resultado de la suscripción.
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Alta de Suscripción es: 9 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
SUBSCRIPTION_STARTDATE | [0-9]{8} | Obligatorio. Fecha de inicio de la suscripción yyyymmdd. IMPORTANTE: Las suscripciones se cobran en la primera ejecución si este campo tiene valor se tendrá en cuenta para los futuros cargos. |
SUBSCRIPTION_ENDDATE | [0-9]{8} | Obligatorio. Fecha de fin de la suscripción yyyymmdd |
SUBSCRIPTION_PERIODICITY | [0-9]{1-365} | Obligatorio. Periodicidad de la suscripción. Expresado en días. |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la creación de una suscripción (que implica la ejecución del primer cobro) a un nuevo usuario en el sistema se efectuará conforme a lo descrito para notificaciones Llamada url Notificación.
A la URL de destino se le pasan los parámetros de la notificación ya especificados en Llamada url Notificación y en caso de alta de suscripción correcta (+ operación de cobro correcta), se devolverán además:
Elemento | Contenido | Descripción |
---|---|---|
IdUser | Numérico | Id del nuevo usuario registrado en el sistema. En caso de error se devolverá vacío. |
TokenUser | Alfanumérico | Token del nuevo usuario registrado en el sistema. En caso de error se devolverá vacío. |
Ejecución de Cobro a un usuario existente (execute_purchase_token
)
Esta operación realiza un cobro a un usuario dado de alta previamente en el sistema. Se notificará el resultado de la operación (como un Tipo 1, Autorización).
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Ejecución de Cobro a un usuario existente es: 109 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al IDUSER. |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de un cobro a un usuario existente en el sistema se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
A la URL de destino se le pasan los parámetros de la notificación ya especificados en Llamada url Notificación y además:
Elemento | Contenido | Descripción |
---|---|---|
IdUser | Numérico | Id del usuario enviado. |
TokenUser | Alfanumérico | Token del usuario enviado. |
Ejecución de Alta de Suscripción a un usuario existente (create_subscription_token
)
Esta operación realiza la creación de una suscripción a un usuario ya existente en el sistema y ejecuta la operación del primer cobro de la misma. Se notificará el resultado de la operación (como un Tipo 9, Suscripción).
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Alta de Suscripción a un usuario existente es: 110 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
SUBSCRIPTION_STARTDATE | [0-9]{8} | Obligatorio. Fecha de inicio de la suscripción yyyymmdd. IMPORTANTE: Las suscripciones se cobran en la primera ejecución si este campo tiene valor se tendrá en cuenta para los futuros cargos. |
SUBSCRIPTION_ENDDATE | [0-9]{8} | Obligatorio. Fecha de fin de la suscripción yyyymmdd |
SUBSCRIPTION_PERIODICITY | [0-9]{1-365} | Obligatorio. Periodicidad de la suscripción. Expresado en días. |
IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al IDUSER. |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de un cobro a un usuario existente en el sistema se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
A la URL de destino se le pasan los parámetros de la notificación ya especificados en Llamada url Notificación y además:
Elemento | Contenido | Descripción |
---|---|---|
IdUser | Numérico | Id del usuario enviado. |
TokenUser | Alfanumérico | Token del usuario enviado. |
Ejecución de Alta de Preautorización (Alta Implícita de Usuario en el sistema) (create_preauthorization
)
Esta operación dará de alta un nuevo usuario en el sistema y realizará la operación de alta de preautorización. Se notificará del resultado del alta de usuario y la operación de preautorización.
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Alta de preautorización es: 3 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de un cobro a un usuario existente en el sistema se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
A la URL de destino se le pasan los parámetros de la notificación ya especificados en Llamada url Notificación y además:
Elemento | Contenido | Descripción |
---|---|---|
IdUser | Numérico | Id del usuario enviado. |
TokenUser | Alfanumérico | Token del usuario enviado. |
Ejecución de Confirmación de Preautorización (preauthorization_confirm
)
Esta operación realizará la operación de confirmación de preautorización. Se notificará del resultado de la operación de confirmación de preautorización.
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Confirmación de preautorización es: 6 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al IDUSER. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de un cobro a un usuario existente en el sistema se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
Ejecución de Cancelación de Preautorización (preauthorization_cancel
)
Esta operación realizará la operación de cancelación de preautorización. Se notificará del resultado de la operación de cancelación de preautorización.
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Cancelación de preautorización es: 4 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al IDUSER. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de un cobro a un usuario existente en el sistema se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
Alta de Preautorización a un usuario existente (create_preauthorization_token
)
Esta operación realiza una preautorización a un usuario dado de alta previamente en el sistema. Se notificará el resultado de la operación (como un Tipo 3, Preautorización).
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Ejecución de Preautorización a un usuario existente es: 111 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al IDUSER. |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
md5(MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de un cobro a un usuario existente en el sistema se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
A la URL de destino se le pasan los parámetros de la notificación ya especificados en Llamada url Notificación y además:
Elemento | Contenido | Descripción |
---|---|---|
IdUser | Numérico | Id del usuario enviado. |
TokenUser | Alfanumérico | Token del usuario enviado. |
Validación de tarjeta y confirmación (alta implícita de usuario en el sistema) (deferred_preauthorization
)
Este tipo de operacion permite al comercio validar si los datos de tarjeta introducidos son correctos. En esta validacion se realiza la autenticacion del titular salvo que el comercio no posea metodo de pago seguro (Tipo 13). Para utilizarlo en la rest se trata de llamar a preatuh para verificar la tarjeta con los datos del pago y confirmpreauth para completarlo, con el parámetro deferred=1 en ambos caso. Para utilizarlo en GET hay que llamar a deferred_preauthorization y deferred_preauthorization_confirm análogamente.
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Alta de validación de tarjeta es: 13 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
MERCHANT_SCORING | [0-100] | Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la validación de tarjeta en el sistema se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
A la URL de destino se le pasan los parámetros de la notificación ya especificados en Llamada url Notificación y además:
Elemento | Contenido | Descripción |
---|---|---|
IdUser | Numérico | Id del usuario enviado. |
TokenUser | Alfanumérico | Token del usuario enviado. |
Aprobación tras validación de tarjeta (deferred_preauthorization_confirm
)
Esta operación realizará la operación de confirmación tras la validación de tarjeta. Se notificará del resultado de la operación de confirmación tras la validación de tarjeta (Tipo 16).
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Confirmación de validación de tarjeta es: 16 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al IDUSER. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución tras la validación de tarjeta. se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
Cancelación tras validación de tarjeta (deferred_preauthorization_cancel
)
Esta operación realizará la operación de cancelación tras la validación de tarjeta. Se notificará del resultado de la operación de cancelación de validación de tarjeta (Tipo 14).
Para ejecutar una llamada correcta será necesario entregar los siguientes datos:
Elemento | Contenido | Descripción |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Obligatorio. Código de cliente |
MERCHANT_TERMINAL | [0-9]{1,5} | Obligatorio. Número de terminal |
OPERATION | [0-9]{1,3} | Obligatorio. Tipo de operación en Cancelación de validación de tarjeta es: 14 |
LANGUAGE | [A-Za-z0-9]{2} | Idioma del entorno de cobro ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Obligatorio. Ver apartado Cálculo de Firma de Notificación |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Obligatorio. Referencia de la operación. |
MERCHANT_AMOUNT | [0-9]{1,8} | Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100 4,50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Obligatorio. Moneda de la transacción. Ver más información en MONEDAS |
3DSECURE | [0-1]{1} | Opcional. Realización de la operación en modo seguro (valor 1) / no seguro (valor 0). Si no se informa: no seguro. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Opcional. Descripción del producto |
IDUSER | [0-9]{1,13} | Obligatorio. Identificador único del usuario registrado en el sistema. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Obligatorio. Código token asociado al IDUSER. |
Cálculo de Firma
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notificación (Llamada a URL)
La notificación de la ejecución de cobro a un usuario por referencia se efectuará conforme a lo descrito en el apartado Llamada url Notificación.
Sobreescritura de parámetros URLOK y URLKO
Adicionalmente a los parámetros citados para cada tipo de operación, y de forma genérica y transversal a todas las operativas, es posible sobreescribir los parámetros URLOK y URLKO. Dichos parámetros indican al sistema las URL a las que redirigir el resultado de la operación, en función de su éxito o rechazo.
Esta posibilidad está disponible en prácticamente todas las entidades bancarias. Si necesitas utilizarla verifica este punto con PAYCOMET.
Importante
El máximo de caracteres para las URL OK y KO es de 255.
Anexo I – Cálculo de la firma de comercio – XML Bankstore
La firma deberá ser calculada en el servidor del comercio y englobará los principales parámetros de la llamada para verificar la integridad de los datos a través de Internet y el navegador del comprador.
El algoritmo de cifrado utilizado al efecto será SHA512, el cual nos permite cifrar una cadena de texto. Este tipo de algoritmos de un solo sentido impide obtener el parámetro inicial a partir del resultado.
La firma se calculará de modos distintos dependiendo de la función utilizada, para verificar la integridad de los datos de envío a la plataforma.
Para facilitar la generación de la firma en lenguajes sin las herramientas necesarias para el cálculo de algoritmos SHA512 se han incluído una serie de librerías. Puedes descargar los archivos desde el apartado Soporte -> Documentación del panel de control de cliente.
Algunas de estas librerías han sido realizadas por personas o entidades ajenas a PAYCOMET. Consulta el contenido de cada archivo para más información.
CÁLCULOS DE FIRMAS DEPENDIENDO DE LA FUNCIÓN EMPLEADA
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
Función: (add_user
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_PAN + DS_MERCHANT_CVV2 + DS_MERCHANT_TERMINAL + PASSWORD)
Función: (info_user
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + PASSWORD)
Función: (remove_user
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + PASSWORD)
Función: (execute_purchase
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + PASSWORD)
Función: (execute_purchase_dcc
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + PASSWORD)
Función: (confirm_purchase_dcc
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_DCC_CURRENCY + DS_MERCHANT_DCC_SESSION + PASSWORD)
Función: (execute_refund
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AUTHCODE + DS_MERCHANT_ORDER + PASSWORD)
Función: (create_subscription
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_PAN + DS_MERCHANT_CVV2 + DS_MERCHANT_TERMINAL + DS_SUBSCRIPTION_AMOUNT + DS_SUBSCRIPTION_CURRENCY + PASSWORD)
Función: (edit_subscription
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_SUBSCRIPTION_AMOUNT + PASSWORD)
Función: (remove_subscription
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + PASSWORD)
Función: (create_subscription_token
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_SUBSCRIPTION_AMOUNT + DS_SUBSCRIPTION_CURRENCY + PASSWORD)
Función: (create_preauthorization
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + PASSWORD)
Función: (preauthorization_confirm
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Función: (preauthorization_cancel
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Función: (deferred_preauthorization_confirm
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Función: (deferred_preauthorization_cancel
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Función: (add_user_token
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_JETTOKEN + DS_MERCHANT_JETID + DS_MERCHANT_TERMINAL + PASSWORD)
Función: (execute_purchase_rtoken
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + DS_MERCHANT_IDENTIFIER + PASSWORD)
Anexo II – Tipos de operaciones
Los tipos de operaciones que se notificarán, se detallan en la siguiente tabla:
ID | Operación |
1 | Autorización |
2 | Devolución |
3 | Preautorización |
4 | Cancelación de preautorización |
6 | Confirmación de preautorización |
9 | Suscripción |
13 | validación de tarjeta |
14 | Cancelación de validación de tarjeta |
16 | Confirmación de validación de tarjeta |
106 | Retroceso |
107 | Alta de usuario Bankstore |
Anexo II - Firma avanzada VHASH
La firma avanzada VHASH tiene como objetivo securizar y mantener la integridad de la información de datos personales que pueden contener las variables enviadas en la generación del IFRAME. Esta funcionalidad, debe ser activada por PAYCOMET.
La firma que enviará el comercio a la pasarela se calculará de la siguiente forma (en pseudo-código):
SHA512( MD5( QUERY_STRING + MD5( PASSWORD ) ) )
La firma calculada, se debe incluir en los parámetros de la llamada.
Elemento | Contenido | Descripción |
---|---|---|
VHASH | [A-Za-z0-9]{128} | Opcional. Firma avanzada. |