Tipos de Integración
PayGold vía REST
Solicita a tus clientes el pago de un determinado servicio enviando un link de pago vía E-Mail o SMS desde tu propia plataforma sin necesidad de acceder al Portal de Administración.
Si deseas utilizar la operativa PayGold desde tu propia plataforma sin necesidad de acceder al Portal de Administración del TPV Virtual, puedes generar estas peticiones usando peticiones REST tal y como harías con un pago tradicional. Para ello, sólo debes seguir estos pasos.
Pasos para realizar la integración
A continuación, se muestran los pasos a seguir para realizar esta operativa solicitándolo mediante peticiones vía REST.
1
Solicitud de la operación
Parámetros obligatorios de PayGold
Para utilizar la funcionalidad de PayGold se debe realizar una petición REST con los siguientes campos obligatorios:
- Ds_Merchant_TransactionType: Ese campo indica que el tipo de operación es Paygold, su valor debe ser «F».
Y los siguientes campos opcionales según proceda:
- Ds_Merchant_Customer_Mobile: Para informar el número de teléfono titular para enviar el SMS con el enlace.
- Ds_Merchant_Customer_Mail: Para informar el e-mail del titular para enviar el enlace.
- Ds_Merchant_P2F_ExpiryDate: Para especifiar la fecha de caducidad del enlace, en formato aaaa-mm-dd-HH.MM.ss.sss (es decir: 2014-12-26-16.31.35.318). Por defecto el enlace caducará a las 24 horas.
- Ds_Merchant_Customer_Sms_Text: Personalización de los mensajes SMS enviados al usuario. Este campo contendrá una cadena de texto con los campos relevantes entre arrobas, siendo siempre obligatorio incluir la URL (@URL@).
- Ds_Merchant_P2F_XMLData: Personalizacióon de los mensajes de correo enviados. Dicho campo permite pasar TAGs para la personalización. es importante escapar los símbolos «<«, «>» y «/» por su codigo HTML correspondiente, así como dejarlos dentro del CDATA. Los campos son:
- nombreComprador: Nombre del comprador, sin límite de caracteres.
- direccionComprador: Dirección del comprador, sin límite de caracteres.
- textoLibre1: Texto que puedes usar para incluir detalles de la compra, por ejemplo, sin límite de caracteres.
- subjectMailCliente: Asunto del e-mail personalizado, trata de sintetizar lo máximo posible.
La petición al TPV Virtual se realizará, como se ha dicho, realizando una petición REST a las siguientes URLs en función del entorno de trabajo:
2
Petición REST
En los siguientes bloques de códigos, puede observar un ejemplo de una petición de PayGold solicitada al TPV Virtual usando REST y la respuesta que BBVA enviará en consecuencia. Nótese que en este caso, el enlace de pago se enviará tanto al móvil del cliente como a su correo electrónico.
Petición de PayGold REST - Sólo campo Ds_MerchantParameters sin codificar
{
"DS_MERCHANT_AMOUNT": "145",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_CUSTOMER_MAIL": "Email.prueba@redsys.es ",
"DS_MERCHANT_CUSTOMER_MOBILE": "666555444",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_MERCHANTURL": "http://comercio.es/notificacion",
"DS_MERCHANT_ORDER": "1453971987",
"DS_MERCHANT_P2F_XMLDATA": {
"<nombreComprador>NOMBRE DEL COMPRADOR</nombreComprador>
<direccionComprador>DIRECCION DEL COMPRADOR</direccionComprador>
<textoLibre1>TEXTO LIBRE</textoLibre1>
<subjectMailCliente>ASUNTO EMAIL</subjectMailCliente>"},
"DS_MERCHANT_TERMINAL": "999",
"DS_MERCHANT_TRANSACTIONTYPE": "F"
}
Respuesta recibida del SIS
{
"Ds_Amount": "145",
"Ds_AuthorisationCode": "",
"Ds_Currency": "978",
"Ds_Language": "1",
"Ds_MerchantCode": "999008881",
"Ds_MerchantData": "",
"Ds_Order": "1453971987",
"Ds_Response": "9998",
"Ds_SecurePayment": "0",
"Ds_Terminal": "1",
"Ds_TransactionType": "F",
"Ds_UrlPago2Fases": "http://sis-d.redsys.es/sis/p2f?t=B8792FD81101EDE46101FC154918EFDD0FDE4CD7"
}
Véase como en la respuesta recibida, el campo Ds_AuthorisationCode, dónde normalmente viene el resultado de la operación, está vacío. Esto es porque el resultado de la operación, el pago, es aún desconocido pues sólo se ha enviado el enlace, pero no se ha producido todavía la operación (acción de pagar) por parte del cliente.
Errores más comunes durante el procedimiento
El proceso de pago usando PayGold tiene asociados unos números de errores específicos que devolverá el SIS en caso de que el proceso no se lleve a cabo correctamente. Tenga en cuenta que, durante el proceso de pago, pueden surgir otros errores que pueden verse en esta tabla. Los códigos de error de PayGold son:
PayGold solicitando generación de referencia
Desde una operación PayGold se podrá generar una referencia asociada a los datos de tarjeta utilizados en el pago. Para ello, deberás solicitar la generación de dicha referencia en la llamada REST para la operación PayGold añadiendo el par DS_MERCHANT_IDENTIFIER=»REQUIRED» al objeto JSON de la solicitud.
En la respuesta del SIS, obtendrá la referencia de la tarjeta con la que ha pagado el cliente.
Respuesta recibida del SIS con referencia generada
{
"Ds_Amount": "145",
"Ds_AuthorisationCode": "630117",
"Ds_CardNumber": "454881******0003",
"Ds_Card_Brand": "1",
"Ds_Card_Country": "724",
"Ds_Currency": "978",
"Ds_ExpiryDate": "3912",
"Ds_Language": "1",
"Ds_MerchantCode": "999008881",
"Ds_Merchant_Identifier": "01903f9b923895767228066924f23b5892e88fdb",
"Ds_Order": "0281WjRq",
"Ds_Response": "0000",
"Ds_SecurePayment": "0",
"Ds_Terminal": "1",
"Ds_TransactionType": "F"
}
IMPORTANTE
Para poder recibir la referencia una vez que se haya generado, se debe tener configurado el envío de notificación on-line al finalizar la operación, además de tener una URL de notificación configurada en el Portal de Administración del TPV Virtual.
Además, si deseas enviar el enlace tú mismo, puedes no indicar en la solicitud REST ni teléfono ni e-mail, para que no se envíe automáticamente y el TPV Virtual sólo generará el enlace de pago.