Saltar al contenido principal

Cobro con varios métodos de pago

POST /moto/api/v1/mail_order

Pay By Link permite realizar cobros con varios métodos de pago.

Petición

Payload (object)

  • operation_type (enum[string]): Define el tipo de operación. Para realizar un cobro el valor del campo debe ser sell.

  • operation_properties:

    • backend (string): Indica que se quieren mostrar varios métodos de pago. El valor del campo debe ser pwall.

    • checkmode (enum[string]): DEFAULT = "3ds"

      ParámetroDescripción
      3dsVenta con autenticación.
      noneVenta sin autenticación.
    • expiration (integer): DEFAULT = 2592000 (30 días). Validez (en segundos) del enlace, desde que se envía al usuario.

    • result_interactive (boolean): DEFAULT = true. True si se usa una página intermedia de resultados.

    • url_callback (string, required): URL para la captura de las respuestas de la API interna de Sipay Plus.

    • payment_details_template (object, required): Definición de los campos para la renderización del formulario.

      • title (string, required): Título de la página web que contiene el formulario.
      • description (string, required): Descripción que verá el usuario encima del formulario.
      • logo_url (string, required): Enlace a imagen con el logo deseado.
  • notification_templates (array, required): Contiene las plantillas de correo y SMS.

    • type (enum[string], required): Tipo de mensaje a definir.

      ParámetroDescripción
      data_requestPara la plantilla que se enviará informando que hay una operación pendiente.
    • transaport (enum[string], required): Canal de comunicación.

      ParámetroDescripción
      mailEnviar la notificación solo por email.
      smsEnviar la notificación solo por SMS.
    • data (object, required): Contiene los campos para el asunto de email(subject) y cuerpo de email(body) y SMS(text).

      • subject (string, required): Para transaport mail, asunto del email que se enviará al cliente.
      • body (string, required): Para transport mail, cuerpo del email que se enviará al cliente.
      • text (string, required) Para transport sms, cuerpo del SMS que se enviará al cliente
  • message_recipients (array, required): Contenedor de usuarios y parámetros que definen una petición. Estos parámetros pueden ser utilizados en los mensajes de petición o en las pantallas de pago.

    • full_name (string, required): Nombre del usuario.

    • email (string, required): Correo electrónico del usuario.

    • phone_number (string, required): Teléfono móvil del usuario, siempre con la extensión incluida.

    • order (string, required): Ticket de la operación.

    • amount (string, required): Importe fijo de la operación en centimos.

    • currency (string, required): Moneda utilizada en la operación. Código ISO 4217 de tres letras.

    • datetime (string, required): Fecha y hora de la operación.

    • client (string, required): Nombre del comercio que efectúa la operación.

    • reconciliation (string): Identificador para la conciliación bancaria. Restricciones: puede contener hasta 255 caracteres alfanuméricos. Ejemplo: "1234-sipay".

    • preferred_transport (enum[string]): Indica el canal de envío por defecto para un usuario concreto. Los valores posibles son:

      ParámetroDescripción
      SMSEnviar la notificación solo por sms.
      mailEnviar la notificación solo por email.
    • notify_on_creation (boolean): false para generar un link sin enviar la notificación.

    • notification_datetime (string): Fecha y hora en la que se desea enviar la notificación. Formato de ejemplo: ""2021-06-11T10:14:00Z" Si se manda una fecha anterior a la actual la notificación se mandará inmediatamente.

    • notification_templates (array): Volviendo a especificar el type, transport y los campos de la data, es posible personalizar los mensajes a enviar para un usuario concreto.

    • product_description (string, optional): descripción del producto que aparecerá en la plantilla de cobro.

    • product_title (string, optional): nombre del producto que aparecerá en la plantilla de cobro.

Respuesta

La respuesta tendrá dos posibles formatos. Dependiendo el valor de notify_on_creation definido en la petición. En los ejemplos se añade una respuesta de cada uno.

Petición con notify_on_creation=true

Payload (object)

  • order_uuid_map (object): Objecto que contendrá el enlace para procesar el cobro.
    • order_operacion
  • real_uuid_map (object): Objecto que contendrá el identificador de la operación para futuras operaciones.
    • order_operacion
  • errors (object):

Petición con notify_on_creation=false

Payload (object)

  • order_uuid_map (object):
    • order_operacion(array) Array que contendrá el enlace para procesar el cobro y el identificador de la operación para futuras operaciones.
  • real_uuid_map (object): Vacio.
  • errors (object):

Ejemplos

Ejemplo cobro con varios métodos de pago

  • Petición
{
"key": "{{key}}",
"nonce": "{{nonce}}",
"mode": "sha256",
"resource": "{{resource}}",
"payload": {
"operation_type": "sell",
"operation_properties":
{
"backend": "pwall",
"expiration": 121313123123,
"ko_redirect": true,
"url_callback": "https://endqq52hn9wkxzt.m.pipedream.net",
"url_ko": "https://endqq52hn9wkxzt.m.pipedream.net/ko",
"url_result": "https://endqq52hn9wkxzt.m.pipedream.net/ok",
"payment_details_template":{
"title": "Pwall_Test",
"description": "Descripcion personalizable",
"logo_url": "https://www.sipay.es/wp-content/uploads/Recurso-2@2x.png"
}
},
"notification_templates": [
{
"type": "data_request",
"transport": "mail",
"data": {
"body": "<html><head><b>Apreciado {{full_name}}</b>,</head><br><br>Te informamos que el pago se realizará a través de la plataforma de Sipay.\nPara ello, se ha generado a día {{datetime}} un enlace de pago con ticket {{ticket_number}} que te permite pagar {{amount}} {{currency}} de modo seguro (cumpliendo la Normativa Internacional PCI-DSS) a través de varios métodos de pago. Al abrirlo deberás seleccionar el método de pago y continuar con el proceso.\nEste enlace estará activo durante 24 horas.\nPara gestionar tu pago, haz click en el siguiente enlace:\nUna vez confirmado el pago por nuestra entidad bancaria, recibirás el justificante en tu dirección de correo electrónico.\nNo respondas a este correo electrónico. Si precisas más información, encuentras el enlace caducado o tienes algún problema con el mismo, contacta a través de soporte@cliente.es o en www.cliente-web.es.\nTe agradecemos tu confianza en {{client}}.\nDirección de Contabilidad y Circulante.\n\n{{link}}<html>",
"subject": "Plantilla de pago"
}
},
{
"type": "data_request",
"transport": "sms",
"data": {
"text": "Apreciado {{full_name}},\nTe informamos que el pago se realizará {{link}}"
}
}
],
"message_recipients": [
{
"full_name": "Nombre Cliente",
"email": "correo_cliente@mail.es",
"notify_on_creation": true,
"phone_number": "",
"order": "ejemplo_documentacion_varios_metodos_de_pago",
"amount": 1000,
"currency": "EUR",
"datetime": "31/01/2022 09:00",
"client": "Sipay",
"preferred_transport": "mail"
}
]
}
}
  • Respuesta con envío de notificación
{
"type": "app.status",
"code": "0",
"detail": "Success",
"payload": {
"order_uuid_map": {
"ejemplo_documentacion_varios_metodos_de_pago": "https://sandbox.sipay.es/s/mm2at4"
},
"real_uuid_map": {
"ejemplo_documentacion_varios_metodos_de_pago": "1a283efc-e0d6-11ec-b3ab-0242ac110024"
},
"errors": {}
},
"request_id": "6295fe0efca3a4d8081e6478",
"uuid": "6295fe0efca3a4d8081e6478"
}
  • Respuesta generando solo el enlace
{
"type": "app.status",
"code": "0",
"detail": "Success",
"payload": {
"order_uuid_map": {
"ejemplo_documentacion_varios_metodos_de_pago": [
"e61fa602-e1b3-11ec-b3ab-0242ac110024",
"https://sandbox.sipay.es/s/m4djt2"
]
},
"real_uuid_map": {},
"errors": {}
},
"request_id": "6297722bfca3a4d8081e6618",
"uuid": "6297722bfca3a4d8081e6618"
}
  • Ejemplo respuesta callback
"body": {
"amount": "0",
"approval": "516587",
"authorizator": "CAIXABANK, S.A.",
"card_brand": "VISA",
"card_country": "undefined",
"card_mask": "4548 81** **** 0004",
"card_trade": "undefined",
"card_type": "undefined",
"code": "0",
"cof_id": "792022152040232",
"currency": "EUR",
"expiration": "null",
"expired_at": "2023-10-31",
"masked_card": "4548 81** ****0004",
"order": "ejemplo_documentacion_varios_metodos_de_pago",
"reconciliation": "",
"request_id": "920f6934-e1a5-11ec-b3ab-0242ac110024",
"transaction_id": "000027346264324827822",
"type": "success"
}

Cobro con tarjeta + tokenizacion

POST /moto/api/v1/mail_order

Pay By Link permite realizar cobros con tarjeta y su tokenización .

Petición

Payload (object)

  • operation_type (enum[string]): Define el tipo de operación. Para una venta debe ser sell.

  • operation_properties:

    • tokenize (boolean, required): True si se debe tokenizar la tarjeta.

    • checkmode (enum[string]): DEFAULT = "3ds"

      ParámetroDescripción
      3dsVenta con autenticación.
      noneVenta sin autenticación.
    • expiration (integer): DEFAULT = 2592000 (30 días). Validez (en segundos) del enlace, desde que se envía al usuario.

    • result_interactive (boolean): DEFAULT = true. True si se usa una página intermedia de resultados.

    • ko_redirect (boolean): True para activar redirección específica en caso de ko, mediante url_ko.

    • url_callback (string, required): URL para la captura de las respuestas de la API interna de Sipay Plus.

    • url_ko (): URL de redirección tras la finalización errónea del proceso.

    • url_result (): URL de redirección tras la finalización del proceso.

    • payment_details_template (object, required): Definición de los campos para la renderización del formulario.

      • title (string, required): Título de la página web que contiene el formulario.
      • description (string, required): Descripción que verá el usuario encima del formulario.
      • logo_url (string, required): Enlace a imagen con el logo deseado.
      • button (string, required): Texto del botón que hay que pulsar al enviar el formulario.
      • msg_result_ok (string): Mensaje a mostrar en la pantalla intermedia de resultados si la operación fue satisfactoria.
      • msg_result_ko (string): Mensaje a mostrar en la pantalla intermedia de resultados si la operación falló.
  • notification_templates (array, required): Contiene las plantillas de correo y SMS.

    • type (enum[string], required): Tipo de mensaje a definir.

      ParámetroDescripción
      data_requestPara la plantilla que se enviará informando que hay una operación pendiente.
      data_result_okPara la plantilla a enviar si si la operación fue satisfactoria.
      data_result_koPara la plantilla a enviar si la operación falló.
    • transaport (enum[string], required): Canal de comunicación.

      ParámetroDescripción
      mailEnviar la notificación solo por email.
      smsEnviar la notificación solo por SMS.
    • data (object, required): Contiene los campos para el asunto de email(subject) y cuerpo de email(body) y SMS(text).

      • subject (string, required): Para transaport mail, asunto del email que se enviará al cliente.
      • body (string, required): Para transport mail, cuerpo del email que se enviará al cliente.
      • text (string, required) Para transport sms, cuerpo del SMS que se enviará al cliente.
  • message_recipients (array, required): Contenedor de usuarios y parámetros que definen una petición. Estos parámetros pueden ser utilizados en los mensajes de petición o en las pantallas de pago.

    • full_name (string, required): Nombre del usuario.

    • email (string, required): Correo electrónico del usuario.

    • phone_number (string, required): Teléfono móvil del usuario, siempre con la extensión incluida.

    • order (string, required): Ticket de la operación.

    • amount (string, required): Importe fijo de la operación en centimos.

    • currency (string, required): Moneda utilizada en la operación. Código ISO 4217 de tres letras.

    • datetime (string, required): Fecha y hora de la operación.

    • client (string, required): Nombre del comercio que efectúa la operación.

    • token (string): Obligatorio si tokenize es true. Nombre del token a crear.

    • reconciliation (string): Identificador para la conciliación bancaria. Restricciones: puede contener hasta 255 caracteres alfanuméricos. Ejemplo: "1234-sipay".

    • custom (object): Campos personalizables. Este campo se renderizará en el formulario y además puede ser utilizado en los mensajes a enviar. Se dispone de hasta 5 campos de este tipo.

      • custom1 (string):
      • custom2 (string):
      • custom3 (string):
      • custom4 (string):
      • custom5 (string):
    • preferred_transport (enum[string]): Indica el canal de envío por defecto para un usuario concreto. Los valores posibles son:

      ParámetroDescripción
      SMSEnviar la notificación solo por sms.
      mailEnviar la notificación solo por email.
    • notify_on_creation (boolean): false para generar un link sin enviar la notificación.

    • notification_datetime (string): Fecha y hora en la que se desea enviar la notificación. Formato de ejemplo: ""2021-06-11T10:14:00Z" Si se manda una fecha anterior a la actual la notificación se mandará inmediatamente.

    • notification_templates (array): Volviendo a especificar el type, transport y los campos de la data, es posible personalizar los mensajes a enviar para un usuario concreto.

Respuesta

La respuesta tendrá dos posibles formatos. Dependiendo el valor de notify_on_creation definido en la petición. En los ejemplos se añade una respuesta de cada uno.

Petición con notify_on_creation=true

Payload (object)

  • order_uuid_map (object): Objecto que contendrá el enlace para procesar el cobro.
    • order_operacion
  • real_uuid_map (object): Objecto que contendrá el identificador de la operación para futuras operaciones.
    • order_operacion
  • errors (object):

Petición con notify_on_creation=true

Payload (object)

  • order_uuid_map (object):
    • order_operacion(array) Array que contendrá el enlace para procesar el cobro y el identificador de la operación para futuras operaciones.
  • real_uuid_map (object): Vacio.
  • errors (object):

Ejemplos

Ejemplo cobro + tokenización

  • Petición
{
"key": "{{key}}",
"nonce": "{{nonce}}",
"mode": "sha256",
"resource": "{{resource}}",
"payload": {
"operation_type": "sell",
"operation_properties":
{
"tokenize": true ,
"checkmode": "3ds",
"expiration": 3999999,
"result_interactive": true,
"url_callback": "https://en9a2kjo69pp7r6.m.pipedream.net",
"url_result": "http://httpbin.org/get?type=ok",
"url_ko":"http://httpbin.org/get?type=ko",
"payment_details_template": {
"title": "Realizar cobro testeo",
"description": "Complete los datos de su tarjeta",
"logo_url": "https://sipay.es/wp-content/uploads/logo@0.75x.png",
"button": "Pagar testeo",
"msg_result_ok": "Todo ha ido bien :)",
"msg_result_ko": "Algo no fue bien :("
}
},
"notification_templates": [
{
"type": "data_request",
"transport": "mail",
"data": {
"body": "<html><head><b>Apreciado/a {{full_name}}</b>,</head><br><br>Le informamos que el pago del recibo de tu compra se realizará a través de la plataforma de Sipay.<br><br>Para ello, se ha generado a día {{datetime}} un enlace de pago con ticket {{ticket_number}} que le permite pagar {{amount}} {{currency}} de forma segura (cumpliendo la Normativa Internacional PCI-DSS) a través de su tarjeta de débito / crédito. Al abrirlo deberá teclear los datos referentes al número de tarjeta, caducidad y CVV.<br><br>Este enlace estará activo durante 24 horas.<br><br>Para gestionar tu pago, haz click en el siguiente enlace:<br><br>{{link}}<br><br>Una vez confirmado el pago por nuestra entidad bancaria, recibirás el justificante en tu dirección de correo electrónico.<br><br>No respondas a este correo electrónico. Si precisas más información, encuentras el enlace caducado o tienes algún problema con el mismo, contacta a través de soporte@cliente.es o en www.cliente-web.es.<br><br>Le agradecemos su confianza.<br><br>Un saludo.<br><br><html>",
"subject": "Plantilla de pago"
}
},
{
"type": "data_result_ok",
"transport": "mail",
"data": {
"body": "Apreciado {{full_name}},<br><br>Le informamos que el cobro se ha realizado con exito.<br><br>Le agradecemos su confianza en {{client}}.",
"subject": "Resultado de pago"
}
},
{
"type": "data_result_ko",
"transport": "mail",
"data": {
"body": "Apreciado {{full_name}},<br><br>Le informamos que el cobro ha fallado.<br><br>Le agradecemos su confianza en {{client}}.",
"subject": "Resultado de pago"
}
},
{
"type": "data_request",
"transport": "sms",
"data": {
"text": "Apreciado/a {{full_name}},\nLe informamos que el pago del recibo de tu compra se realizará a través del siguiente enlace: {{link}}"
}
},
{
"type": "data_result_ok",
"transport": "sms",
"data": {
"text": "Apreciado/a {{full_name}},\nLe informamos que el cobro se ha realizado con exito.\nAgradecemos su confianza en {{client}}."
}
},
{
"type": "data_result_ko",
"transport": "sms",
"data": {
"text": "Apreciado {{full_name}},\nLe informamos que el cobro ha fallado."
}
}
],
"message_recipients": [
{
"full_name": "Nombre Cliente",
"email": "correo_cliente@mail.es",
"phone_number": "XXXXXXXXXXX",
"notify_on_creation":true,
"notification_datetime":"2022-06-01T00:00:00Z",
"order": "ejemplo_documentacion_tarjeta_tokenizacion",
"amount": 1,
"currency": "EUR",
"reconciliation": "SipayQA",
"datetime": "31/01/2022 08:00",
"client": "Sipay Plus",
"token" : "token_ejemplo_documentacion"
"custom": {
"custom1":"<b>Poliza</b>: prueba",
"custom5":"<b>Poliza</b>: prueba"
},
"preferred_transport": "mail",
"notification_templates": [
{
"type": "data_request",
"transport": "mail",
"data": {
"subject": "replacement request. Enlace de cobro: {{link}}",
"body": "replacement body.Enlace de cobro: {{link}}"
}
},
{
"type": "data_result_ok",
"transport": "mail",
"data": {
"subject": "replacement subject OK",
"body": "replacement body OK"
}
},
{
"type": "data_result_ko",
"transport": "mail",
"data": {
"subject": "replacement subject KO",
"body": "replacement body KO"
}
}]
}
]
}
}
  • Respuesta con envío de notificación
{
"type": "app.status",
"code": "0",
"detail": "Success",
"payload": {
"order_uuid_map": {
"ejemplo_documentacion_tarjeta_tokenizacion": "https://sandbox.sipay.es/s/mm2at4"
},
"real_uuid_map": {
"ejemplo_documentacion_tarjeta_tokenizacion": "1a283efc-e0d6-11ec-b3ab-0242ac110024"
},
"errors": {}
},
"request_id": "6295fe0efca3a4d8081e6478",
"uuid": "6295fe0efca3a4d8081e6478"
}
  • Respuesta generando solo el enlace
{
"type": "app.status",
"code": "0",
"detail": "Success",
"payload": {
"order_uuid_map": {
"ejemplo_documentacion_tarjeta_tokenizacion": [
"e61fa602-e1b3-11ec-b3ab-0242ac110024",
"https://sandbox.sipay.es/s/m4djt2"
]
},
"real_uuid_map": {},
"errors": {}
},
"request_id": "6297722bfca3a4d8081e6618",
"uuid": "6297722bfca3a4d8081e6618"
}
  • Ejemplo respuesta callback
"body": {
"amount": "0",
"approval": "516587",
"authorizator": "CAIXABANK, S.A.",
"card_brand": "VISA",
"card_country": "undefined",
"card_mask": "4548 81** **** 0004",
"card_trade": "undefined",
"card_type": "undefined",
"code": "0",
"cof_id": "792022152040232",
"currency": "EUR",
"expiration": "null",
"expired_at": "2023-10-31",
"masked_card": "4548 81** ****0004",
"order": "ejemplo_documentacion_tarjeta_tokenizacion",
"reconciliation": "",
"request_id": "920f6934-e1a5-11ec-b3ab-0242ac110024",
"token": "token_ejemplo_documentacion",
"transaction_id": "000027346264324827822",
"type": "success"
}

Cobro con token

POST /moto/api/v1/mail_order

Pay By Link permite realizar cobros con tarjeta y su tokenización.

Petición

Payload (object) Será igual al payload de cobro con tarjeta, pero con las siguietes modificaciones:

  • operation_type: Para hacer una venta a través de un token debe ser sell_stored_token.
  • No es necesario incluir el atributo tokenize.
  • El valor de token debe ser de un token existente.

Respuesta

Payload (object)

  • order_uuid_map (object): Objecto que contendrá el enlace para procesar el cobro.
    • order_operacion
  • real_uuid_map (object): Objecto que contendrá el identificador de la operación para futuras operaciones.
    • order_operacion
  • errors (object):

Ejemplo

Venta a través de un token

  • Petición
{
"key": "{{key}}",
"nonce": "{{nonce}}",
"mode": "sha256",
"resource": "{{resource}}",
"payload": {
"operation_type": "sell_stored_token",
"operation_properties":
{
"tokenize": false,
"checkmode": "3ds",
"expiration": 2592000,
"result_interactive": true,
"url_callback": "https://en9a2kjo69pp7r6.m.pipedream.net",
"url_result": "http://httpbin.org/get?type=ok",
"url_ko":"http://httpbin.org/get?type=ko",
"payment_details_template": {
"title": "Pagar con token_testeo",
"description": "Comprueba los datos de tu tarjeta",
"logo_url": "https://sipay.es/wp-content/uploads/logo@0.75x.png",
"button": "Pagar con token_testeo",
"msg_result_ok": "Todo ha ido bien :)",
"msg_result_ko": "Algo no fue bien :("
}
},
"notification_templates": [
{
"type": "data_request",
"transport": "mail",
"data": {
"body": "<html><head><b>Apreciado/a {{full_name}}</b>,</head><br><br>Le informamos que el pago del recibo de tu compra se realizará a través de la plataforma de Sipay.<br><br>Para ello, se ha generado a día {{datetime}} un enlace de pago con ticket {{ticket_number}} que le permite pagar {{amount}} {{currency}} de forma segura (cumpliendo la Normativa Internacional PCI-DSS) a través de su tarjeta de débito / crédito. Al abrirlo deberá confirmar su compra.<br><br>Este enlace estará activo durante 24 horas.<br><br>Para gestionar tu pago, haz click en el siguiente enlace:<br><br>{{link}}<br><br>Una vez confirmado el pago por nuestra entidad bancaria, recibirás el justificante en tu dirección de correo electrónico.<br><br>No respondas a este correo electrónico. Si precisas más información, encuentras el enlace caducado o tienes algún problema con el mismo, contacta a través de soporte@cliente.es o en www.cliente-web.es.<br><br>Le agradecemos su confianza.<br><br>Un saludo.<br><br><html>",
"subject": "Plantilla de pago"
}
},
{
"type": "data_result_ok",
"transport": "mail",
"data": {
"body": "Apreciado {{full_name}},<br><br>Le informamos que el cobro se ha realizado con exito.<br><br>Le agradecemos su confianza en {{client}}.",
"subject": "Resultado de pago"
}
},
{
"type": "data_result_ko",
"transport": "mail",
"data": {
"body": "Apreciado {{full_name}},<br><br>Le informamos que el cobro ha fallado.<br><br>Le agradecemos su confianza en {{client}}.",
"subject": "Resultado de pago"
}
},
{
"type": "data_request",
"transport": "sms",
"data": {
"text": "Apreciado/a {{full_name}},\nLe informamos que el pago del recibo de tu compra se realizará a través del siguiente enlace: {{link}}"
}
},
{
"type": "data_result_ok",
"transport": "sms",
"data": {
"text": "Apreciado/a {{full_name}},\nLe informamos que el cobro se ha realizado con exito.\nAgradecemos su confianza en {{client}}."
}
},
{
"type": "data_result_ko",
"transport": "sms",
"data": {
"text": "Apreciado {{full_name}},\nLe informamos que el cobro ha fallado."
}
}
],
"message_recipients": [
{
"full_name": "Nombre cliente",
"email": "correo@mail.es",
"phone_number": "XXXXXXXXXXX",
"order": "ejemplo_documentacion_token",
"amount": 20,
"currency": "EUR",
"notify_on_creation":true,
"notification_datetime":"2022-01-31T09:00:00Z",
"token": "token_ejemplo_documentacion",
"datetime": "29/02/2021 19:12",
"client": "Sipay Plus",
"reconciliation" : "SipayQA",
"custom": {
"custom1":"<b>Poliza</b>: prueba",
"custom5":"<b>Poliza</b>: prueba"
},
"preferred_transport": "mail",
"notification_templates": [{
"type": "data_result_ok",
"transport": "mail",
"data": {
"subject": "replacement subject OK",
"body": "replacement body"
}
},
{
"type": "data_result_ko",
"transport": "mail",
"data": {
"subject": "replacement subject KO",
"body": "replacement body"
}
}]
}
]
}
}
  • Respuesta
{
"type": "app.status",
"code": "0",
"detail": "Success",
"payload": {
"order_uuid_map": {
"ejemplo_documentacion_token": "https://sandbox.sipay.es/s/mr55j3"
},
"real_uuid_map": {
"ejemplo_documentacion_token": "9fdf03de-e183-11ec-b3ab-0242ac110024"
},
"errors": {}
},
"request_id": "6297212dfca3a4d8081e6588",
"uuid": "6297212dfca3a4d8081e6588"
}

Actualizar un token

POST /moto/api/v1/mail_order

Petición

Payload (object)

  • operation_type (enum[string]): Define el tipo de operación. Para actualizar un token debe ser store_token.

  • operation_properties (onject): Definición de los campos para la lógica de la llamada.

    • checkmode (enum[string]): DEFAULT = "3ds".

      ParámetroDescripción
      3dsVenta con autenticación.
      noneVenta sin autenticación.
    • expiration (integer): DEFAULT = 2592000 (30 días). Validez (en segundos) del enlace, desde que se envía al usuario.

    • result_interactive (boolean): DEFAULT = true. True si se usa una página intermedia de resultados.

    • ko_redirect (boolean): True para activar redirección específica en caso de ko, mediante url_ko.

    • url_callback (string, required): URL para la captura de las respuestas de la API interna de Sipay Plus.

    • url_ko (string): URL de redirección tras la finalización errónea del proceso.

    • url_result (string): URL de redirección tras la finalización del proceso.

    • payment_details_template (object, required): Definición de los campos para la renderización del formulario.

      • title (string, required): Título de la página web que contiene el formulario.
      • description (string, required): Descripción que verá el usuario encima del formulario.
      • logo_url (string, required): Enlace a imagen con el logo deseado.
      • button (string, required): Texto del botón que hay que pulsar al enviar el formulario.
      • msg_result_ok (): Mensaje a mostrar en la pantalla intermedia de resultados si la operación fue satisfactoria.
      • msg_result_ko (): Mensaje a mostrar en la pantalla intermedia de resultados si la operación falló.
  • notification_templates (array, required): contiene las plantillas de correo y SMS.

    • type (enum[string], required): Tipo de mensaje a definir.

      ParámetroDescripción
      data_requestPara la plantilla que se enviará informando que hay una operación pendiente.
      data_result_okPara la plantilla a enviar si si la operación fue satisfactoria.
      data_result_koPara la plantilla a enviar si la operación falló.
    • transaport (enum[string], required): Canal de comunicación.

      ParámetroDescripción
      mailEnviar la notificación solo por email.
      smsEnviar la notificación solo por SMS.
    • data (object): Contiene los campos para el asunto de email(subject) y cuerpo de email(body) y SMS(text).

      • subject (string, required): Para transaport mail, asunto del email que se enviará al cliente.
      • body (string, required): Para transport mail, cuerpo del email que se enviará al cliente.
      • text (string, required) Para transport sms, cuerpo del SMS que se enviará al cliente.
  • message_recipients (array): Contenedor de usuarios y parámetros que definen una petición. Estos parámetros pueden ser utilizados en los mensajes de petición o en las pantallas de pago.

    • full_name (string, required): Nombre del usuario.

    • email (string, required): Correo electrónico del usuario.

    • phone_number (string, required): Teléfono móvil del usuario, siempre con la extensión incluida.

    • order (string, required): Ticket de la operación.

    • amount (string, required): Debe ser igual a "0".

    • currency (string): DEFAULT = EUR. Moneda utilizada en la operación. Código ISO 4217 de tres letras.

    • datetime (string): Fecha y hora de la operación.

    • client (string, required): Nombre del comercio que efectúa la operación.

    • token (string, required): Nombre del token a actualizar.

    • reconciliation (string): Identificador para la conciliación bancaria. Restricciones: puede contener hasta 255 caracteres alfanuméricos. Ejemplo: "1234-sipay".

    • custom (object): Campos personalizables. Este campo se renderizará en el formulario y además puede ser utilizado en los mensajes a enviar. Se dispone de hasta 5 campos de este tipo.

      • custom1 (string):
      • custom2 (string):
      • custom3 (string):
      • custom4 (string):
      • custom5 (string):
    • preferred_transport (enum[string]): Indica el canal de envío por defecto para un usuario concreto. Los valores posibles son:

      ParámetroDescripción
      SMSEnviar la notificación solo por sms.
      mailEnviar la notificación solo por email.
    • notify_on_creation (boolean): false para generar un link sin enviar la notificación.

    • notification_datetime (string): Fecha y hora en la que se desea enviar la notificación. Formato de ejemplo: ""2021-06-11T10:14:00Z" Si se manda una fecha anterior a la actual la notificación se mandará inmediatamente.

    • notification_templates (array): Volviendo a especificar el type, transport y los campos de la data, es posible personalizar los mensajes a enviar para un usuario concreto.

Respuesta

Payload (object)

  • order_uuid_map (object): Objecto que contendrá el enlace para procesar el cobro.
    • order_operacion
  • real_uuid_map (object): Objecto que contendrá el identificador de la operación para futuras operaciones.
    • order_operacion
  • errors (object):

Ejemplos

Actualizar un token

  • Petición:
{
"key": "{{key}}",
"nonce": "1578911858712",
"mode": "sha256",
"resource": "{{resource}}",
"payload": {
"operation_type": "store_token",
"operation_properties":
{
"checkmode": "3ds",
"expiration": 2592000,
"result_interactive": true,
"url_callback": "https://en9a2kjo69pp7r6.m.pipedream.net",
"url_result": "http://httpbin.org/get?type=ok",
"url_ko":"http://httpbin.org/get?type=ko",
"payment_details_template": {
"title": "Renueva la tarjeta_testeo",
"description": "Escribe los datos de tu tarjeta",
"logo_url": "https://sipay.es/wp-content/uploads/logo@0.75x.png",
"button": "Renovar_testeo",
"msg_result_ok": "Todo ha ido bien :)",
"msg_result_ko": "Algo no fue bien :("
}
},
"notification_templates": [
{
"type": "data_request",
"transport": "mail",
"data": {
"body": "<html><head><b>Apreciado/a {{full_name}}</b>,</head><br><br>Le informamos que la actualización del método de pago se realizará a través de la plataforma de Sipay.<br><br>Para ello, se ha generado a día {{datetime}} un enlace con ticket {{ticket_number}} que le permite actualizar su método de pago de forma segura (cumpliendo la Normativa Internacional PCI-DSS). Al abrirlo deberá teclear los datos referentes al nuevo número de tarjeta, caducidad y CVV.<br><br>Este enlace estará activo durante 24 horas.<br><br>Para su gestión, haz click en el siguiente enlace:<br><br>{{link}}<br><br>Una vez confirmado el pago por nuestra entidad bancaria, recibirás el justificante en tu dirección de correo electrónico.<br><br>No respondas a este correo electrónico. Si precisas más información, encuentras el enlace caducado o tienes algún problema con el mismo, contacta a través de soporte@cliente.es o en www.cliente-web.es.<br><br>Le agradecemos su confianza.<br><br>Un saludo.<br><br><html>",
"subject": "Plantilla de pago"
}
},
{
"type": "data_result_ok",
"transport": "mail",
"data": {
"body": "Apreciado {{full_name}},<br><br>Le informamos que el cobro se ha realizado con exito.<br><br>Le agradecemos su confianza en {{client}}.",
"subject": "Resultado de pago"
}
},
{
"type": "data_result_ko",
"transport": "mail",
"data": {
"body": "Apreciado {{full_name}},<br><br>Le informamos que la actualización del método de pago ha fallado.<br><br>Le agradecemos su confianza en {{client}}.",
"subject": "Resultado de pago"
}
},
{
"type": "data_request",
"transport": "sms",
"data": {
"text": "Apreciado/a {{full_name}},\nLe informamos que la actualización de su método de pago se realizará a través del siguiente enlace: {{link}}"
}
},
{
"type": "data_result_ok",
"transport": "sms",
"data": {
"text": "Apreciado/a {{full_name}},\nLe informamos que que la actualización de su método de pago se ha realizado con exito.\nAgradecemos su confianza en {{client}}."
}
},
{
"type": "data_result_ko",
"transport": "sms",
"data": {
"text": "Apreciado {{full_name}},\nLe informamos que que la actualización de su método de pago ha fallado."
}
}
],
"message_recipients": [
{
"full_name": "Nombre Cliente",
"email": "correo_cliente@mail.es",
"phone_number": "XXXXXXXXXXX",
"amount": 0,
"currency": "EUR",
"order": "ejemplo_documentacion_actualizar_token",
"token": "token_ejemplo_documentacion",
"datetime": "29/02/2021 09:12",
"client": "Sipay Plus",
"custom": {
"custom1":"<b>Personalizable1</b>: prueba",
"custom5":"<b>Personalizable2</b>: prueba"
},
"preferred_transport": "mail"
}
]
}
}
  • Respuesta:
{
"type": "app.status",
"code": "0",
"detail": "Success",
"payload": {
"order_uuid_map": {
"ejemplo_documentacion_actualizar_token": "https://sandbox.sipay.es/s/myq3ck"
},
"real_uuid_map": {
"ejemplo_documentacion_actualizar_token": "b830f426-e262-11ec-b3ab-0242ac110024"
},
"errors": {}
},
"request_id": "62989778fca3a4d8081e67b0",
"uuid": "62989778fca3a4d8081e67b0"
}