Servicio XML LaunchPad

La integración XML SOAP mediante el servicio LaunchPad permite el envío de emails y SMS con enlaces para poder realizar las operaciones execute_purchase, create_subscription y create_preauthorization.

  1. Introducción
  2. Configuración del producto
  3. Llamada al servicio execute_purchase
  4. Llamada al servicio create_subscription
  5. Llamada al servicio create_preauthorization
  6. Ejemplos de uso

Introducción

La tecnología escogida para la realización de las operaciones es SOAP, basada en XML y que permite la consulta mediante protocolo seguro por firewalls y a través de la red.

La publicación del WSDL que facilita el esquema para el uso de las funciones es:

Este servicio tiene ciertas limitaciones de uso y conlleva gastos adicionales. Si desea usar la integracion LaunchPad XML póngase en contacto con PAYCOMET

Debido a que todo el proceso de consulta se realiza en segundo plano (de servidor a servidor) las modificaciones a realizar en el comercio son totalmente ajenas a la experiencia de usuario.

La tecnología empleada para la operativa con la pasarela de pagos PAYCOMET es SOAP, basada 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 SOAP 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 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.

Configuración del producto

Para poder utilizar el servicio de consulta de operaciones en su comercio deberá 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.

Una vez dentro de la plataforma, puede revisar la configuración del producto contratado mediante el menu Mis productos -> Configurar producto

Tras pulsar en el botón “Editar” del producto elegido, aparecerá un panel con la información básica del producto bajo el apartado “Configuración técnica del producto”. En concreto los datos necesarios durante el proceso de integración son:

  • Contraseña
  • Número de terminal
  • Código de cliente

Llamada al servicio execute_purchase

Las variables que se requieren para enviar un enlace para ejecutar una autorización son:

Elemento Contenido Descripción
MERCHANT_MERCHANTCODE [A-Za-z0-9]{1,8} Obligatorio. Código de cliente
MERCHANT_TERMINAL [0-9]{1,4} Obligatorio. Número de terminal
MERCHANT_PRODUCTDESCRIPTION [a-zA-Z0-9]{40} Opcional. Descripción del producto
MERCHANT_CURRENCY [EUR|USD|GBP|JPY] Obligatorio. Moneda de la transacción. Ver más información en MONEDAS
MERCHANT_AMOUNT [0-9]{1,8} Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450...
MERCHANT_ORDER [A-Za-z0-9]{1,20} Obligatorio. Referencia de la operación
MERCHANT_MERCHANTSIGNATURE [a-zA-Z0-9] Obligatorio. Ver apartado Cálculo de la Firma
MERCHANT_SCORING [0-100] Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100
MERCHANT_DATA
JSON Opcional. Información de autenticación del cliente. Cuanta más información se proporcione en este campo, más probable será la autorización de la operación sin solicitar autenticación adicional. Por esta razón se recomienda el envío del máximo de información posible. Ver detalle
MERCHANT_SCA_EXCEPTION
[LWV|TRA|MIT|COR] Opcional. TIPO DE EXCEPCIÓN AL PAGO SEGURO. Si no se especifica PAYCOMET tratará de asignarle el más adecuado si fuera posible. Ver detalle
MERCHANT_TRX_TYPE
[I|R|H|E|D|M|N|C] Condicional. Obligatorio sólo si se ha elegido una excepción MIT en el campo MERCHANT_SCA_EXCEPTION. Ver detalle
ESCROW_TARGETS
{
 "TARGETS": [
  {
    "ESCROW_TARGET_ID": "",
    "ESCROW_TARGET_AMOUNT": ""
  }
 ]
}
			
Opcional. Identificación de los destinatarios de ingresos en operaciones ESCROW. Debe ser un objeto JSON codificado en base 64 y a su vez en URL. En pseudocódigo, sería urlencode( base64_encode( JSON_Object ) )
SECURE [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.
LANGUAGE [A-Za-z0-9]{2} Obligatorio. Idioma del entorno de cobro ("ES","EN","FR","DE","IT")
SMS_EMAIL [SMS|EMAIL] Obligatorio. Especifica el medio de envío del enlace de pago
TEMPLATE_ID [0-9]{1,5} Obligatorio. Id de la plantilla de Email o SMS a enviar. Se puede obtener en el Panel de Control
EMAIL_ADDRESS Condicional. Obligatorio si es un envío por EMAIL. Dirección de email para el envío del enlace
EMAIL_NAME [A-Za-z0-9]{1,100} Condicional. Obligatorio si es un envío por EMAIL. Nombre del destinatario del email para el envío del enlace
SMS_PREFIX +[0-9]{1,5} Condicional. Obligatorio si es un envío por SMS. Prefijo internacional del teléfono al que enviar el enlace
SMS_NUMBER [0-9]{1,12} Condicional. Obligatorio si es un envío por SMS. Número del teléfono al que enviar el enlace

La respuesta del servicio a la petición se realiza mediante la devolución de dos datos:

  • ERROR_ID contendrá el error de integración del WEBSERVICE o será 0 en caso de éxito.
  • ERROR_MESSAGE contendrá la descripción del error o será "OK" si todo ha ido bien.


Cálculo de la firma

SHA512(MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + MERCHANT_AMOUNT + MERCHANT_ORDER + PASSWORD)

Llamada al servicio create_subscription

Las variables que se requieren para enviar un enlace para crear una suscripción son:

Elemento Contenido Descripción
MERCHANT_MERCHANTCODE [A-Za-z0-9]{1,8} Obligatorio. Código de cliente
MERCHANT_TERMINAL [0-9]{1,4} Obligatorio. Número de terminal
MERCHANT_CURRENCY [EUR|USD|GBP|JPY] Obligatorio. Moneda de la transacción. Ver más información en MONEDAS
MERCHANT_AMOUNT [0-9]{1,8} Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450...
MERCHANT_ORDER [A-Za-z0-9]{1,20} Obligatorio. Referencia de la operación
MERCHANT_MERCHANTSIGNATURE [a-zA-Z0-9] Obligatorio. Ver apartado Cálculo de la Firma
MERCHANT_SCORING [0-100] Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100
MERCHANT_DATA
JSON Opcional. Información de autenticación del cliente. Cuanta más información se proporcione en este campo, más probable será la autorización de la operación sin solicitar autenticación adicional. Por esta razón se recomienda el envío del máximo de información posible. Ver detalle
SUBSCRIPTION_STARTDATE [0-9]{8} Obligatorio. Fecha de inicio de la suscripción yyyymmdd
SUBSCRIPTION_ENDDATE [0-9]{8} Obligatorio Fecha de fin de la suscripción yyyymmdd
SUBSCRIPTION_PERIODICITY [0-9]{1-3} Obligatorio Periodicidad de la suscripción. Expresado en días. Como máximo, 365
SECURE [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.
LANGUAGE [A-Za-z0-9]{2} Obligatorio. Idioma del entorno de cobro ("ES","EN","FR","DE","IT")
SMS_EMAIL [SMS|EMAIL] Obligatorio. Especifica el medio de envío del enlace de pago
TEMPLATE_ID [0-9]{1,5} Obligatorio. Id de la plantilla de Email o SMS a enviar. Se puede obtener en el Panel de Control
EMAIL_ADDRESS Condicional. Obligatorio si es un envío por EMAIL. Dirección de email para el envío del enlace
EMAIL_NAME [A-Za-z0-9]{1,100} Condicional. Obligatorio si es un envío por EMAIL. Nombre del destinatario del email para el envío del enlace
SMS_PREFIX +[0-9]{1,5} Condicional. Obligatorio si es un envío por SMS. Prefijo internacional del teléfono al que enviar el enlace
SMS_NUMBER [0-9]{1,12} Condicional. Obligatorio si es un envío por SMS. Número del teléfono al que enviar el enlace

La respuesta del servicio a la petición se realiza mediante la devolución de dos datos:

  • ERROR_ID contendrá el error de integración del WEBSERVICE o será 0 en caso de éxito.
  • ERROR_MESSAGE contendrá la descripción del error o será "OK" si todo ha ido bien.


Cálculo de la firma

SHA512(MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + MERCHANT_AMOUNT + MERCHANT_ORDER + PASSWORD)

Llamada al servicio create_preauthorization

Las variables que se requieren para enviar un enlace para crear una preautorización son:

Elemento Contenido Descripción
MERCHANT_MERCHANTCODE [A-Za-z0-9]{1,8} Obligatorio. Código de cliente
MERCHANT_TERMINAL [0-9]{1,4} Obligatorio. Número de terminal
MERCHANT_PRODUCTDESCRIPTION [a-zA-Z0-9]{40} Opcional. Descripción del producto
MERCHANT_CURRENCY [EUR|USD|GBP|JPY] Obligatorio. Moneda de la transacción. Ver más información en MONEDAS
MERCHANT_AMOUNT [0-9]{1,8} Obligatorio. Importe de la operación en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450...
MERCHANT_ORDER [A-Za-z0-9]{1,20} Obligatorio. Referencia de la operación
MERCHANT_MERCHANTSIGNATURE [a-zA-Z0-9] Obligatorio. Ver apartado Cálculo de la Firma
MERCHANT_SCORING [0-100] Opcional. Valor de scoring de riesgo de la transacción. Entre 0 y 100
MERCHANT_DATA
JSON Opcional. Información de autenticación del cliente. Cuanta más información se proporcione en este campo, más probable será la autorización de la operación sin solicitar autenticación adicional. Por esta razón se recomienda el envío del máximo de información posible. Ver detalle
MERCHANT_SCA_EXCEPTION
[LWV|TRA|MIT|COR] Opcional. TIPO DE EXCEPCIÓN AL PAGO SEGURO. Si no se especifica PAYCOMET tratará de asignarle el más adecuado si fuera posible. Ver detalle
MERCHANT_TRX_TYPE
[I|R|H|E|D|M|N|C] Condicional. Obligatorio sólo si se ha elegido una excepción MIT en el campo MERCHANT_SCA_EXCEPTION. Ver detalle
ESCROW_TARGETS
{
 "TARGETS": [
  {
    "ESCROW_TARGET_ID": "",
    "ESCROW_TARGET_AMOUNT": ""
  }
 ]
}
			
Opcional. Identificación de los destinatarios de ingresos en operaciones ESCROW. Debe ser un objeto JSON codificado en base 64 y a su vez en URL. En pseudocódigo, sería urlencode( base64_encode( JSON_Object ) )
SECURE [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.
LANGUAGE [A-Za-z0-9]{2} Obligatorio. Idioma del entorno de cobro ("ES","EN","FR","DE","IT")
SMS_EMAIL [SMS|EMAIL] Obligatorio. Especifica el medio de envío del enlace de pago
TEMPLATE_ID [0-9]{1,5} Obligatorio. Id de la plantilla de Email o SMS a enviar. Se puede obtener en el Panel de Control
EMAIL_ADDRESS Condicional. Obligatorio si es un envío por EMAIL. Dirección de email para el envío del enlace
EMAIL_NAME [A-Za-z0-9]{1,100} Condicional. Obligatorio si es un envío por EMAIL. Nombre del destinatario del email para el envío del enlace
SMS_PREFIX +[0-9]{1,5} Condicional. Obligatorio si es un envío por SMS. Prefijo internacional del teléfono al que enviar el enlace
SMS_NUMBER [0-9]{1,12} Condicional. Obligatorio si es un envío por SMS. Número del teléfono al que enviar el enlace

La respuesta del servicio a la petición se realiza mediante la devolución de dos datos:

  • ERROR_ID contendrá el error de integración del WEBSERVICE o será 0 en caso de éxito.
  • ERROR_MESSAGE contendrá la descripción del error o será "OK" si todo ha ido bien.


Cálculo de la firma

SHA512(MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + MERCHANT_AMOUNT + MERCHANT_ORDER + PASSWORD)

Ejemplos de uso

Mensaje de envío

        <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
	<SOAP-ENV:Body>
		<execute_purchase>
			<MERCHANT_MERCHANTCODE xsi:type="xsd:string">********</MERCHANT_MERCHANTCODE>
			<MERCHANT_TERMINAL xsi:type="xsd:string">****</MERCHANT_TERMINAL>
			<MERCHANT_PRODUCTDESCRIPTION xsi:type="xsd:string">Compra de producto</MERCHANT_PRODUCTDESCRIPTION>
			<MERCHANT_CURRENCY xsi:type="xsd:string">EUR</MERCHANT_CURRENCY>
			<MERCHANT_AMOUNT xsi:type="xsd:string">202</MERCHANT_AMOUNT>
			<MERCHANT_ORDER xsi:type="xsd:string">TEST - PAYTPV - 428092</MERCHANT_ORDER>
			<MERCHANT_MERCHANTSIGNATURE xsi:type="xsd:string">*******************************************</MERCHANT_MERCHANTSIGNATURE>
			<MERCHANT_SCORING xsi:type="xsd:string"></MERCHANT_SCORING>
			<MERCHANT_DATA xsi:type="xsd:string"></MERCHANT_DATA>
			<MERCHANT_SCA_EXCEPTION xsi:type="xsd:string"></MERCHANT_SCA_EXCEPTION>
			<MERCHANT_TRX_TYPE xsi:type="xsd:string"></MERCHANT_TRX_TYPE>
			<ESCROW_TARGETS xsi:type="xsd:string"></ESCROW_TARGETS>
			<SECURE xsi:type="xsd:int">0</SECURE>
			<LANGUAGE xsi:type="xsd:string">es</LANGUAGE>
			<SMS_EMAIL xsi:type="xsd:string">EMAIL</SMS_EMAIL>
			<TEMPLATE_ID xsi:type="xsd:int">423</TEMPLATE_ID>
			<EMAIL_ADDRESS xsi:type="xsd:string">********************</EMAIL_ADDRESS>
			<EMAIL_NAME xsi:type="xsd:string">****************</EMAIL_NAME>
			<SMS_PREFIX xsi:type="xsd:string"></SMS_PREFIX>
			<SMS_NUMBER xsi:type="xsd:string"></SMS_NUMBER>
		</execute_purchase>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

        
Mensaje de respuesta

        <SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
	<SOAP-ENV:Body>
		<SOAP-ENV:execute_purchaseResponse>
			<ERROR_ID xsi:type="xsd:integer">0</ERROR_ID>
			<ERROR_MESSAGE xsi:type="xsd:string">0</ERROR_MESSAGE>
		</SOAP-ENV:execute_purchaseResponse>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>