Enviar ticket por mail
ℹ️
Este proceso es opcional
El envío del comprobante por correo electrónico es opcional. El SDK de Menta ofrece un método dedicado para realizar esta acción, el cual sigue un formato estándar de Menta y necesita datos específicos de la transacción para llevar a cabo la operación.
Requisitos
- Datos de la transacción requeridos para el formato estándar de Menta
Paso a paso
- Instanciar el objeto
SendEmailData
pasándole el contexto. - Crear un
HashMap
con los datos para el ticket. - Instanciar el objeto
SendEmailRequest
. - Invocar el método
sendEmail
pasándole el objetoSendEmailRequest
. - Configurar un
observer
para recibir la respuesta.
Crear HashMap
Campo | Descripción |
---|---|
date_terminal | Fecha de la terminal para enviar el ticket. |
time_terminal | Hora de la terminal para enviar el ticket. |
operation_type | Tipo de operación. |
merchant_name | Nombre del comercio. |
merchant_address | Dirección del comercio |
operation_number | Número de operación. Corresponde al campo ticketId retornado en la respuesta de la transacción. |
masked_number | Número de tarjeta enmascarado. Corresponde el campo masked_pan retornado en la respuesta de la transacción. |
reader_type | Modo de lectura. Corresponde al inputMode retornado en la lectura de la tarjeta. |
amount | Monto de la transacción formateado con decimales. |
installments | Número de cuotas de la transacción. Default = 01. |
card_brand | Marca de la tarjeta. Valor que se puede recuperar de la tabla de bines. |
currency | Moneda de país. |
card_type | Tipo de tarjeta. Valor que se puede recuperar de la tabla de bines. |
card_aid | Identificador de la tarjeta. Valor retornado por la lectura de tarjeta. |
subject | Asunto del mail. |
subtitle | Cuerpo del mail. |
Instanciar el objeto SendEmailRequest
Campo | Descripción |
---|---|
to | Correo del destinatario. |
template_type | Tipo de plantilla. Posibles valores: PAYMENT, REFUND. |
content | HashMap creado en el paso 2. |
Ejemplo de implementación
RestClientConfiguration.configure(AppfinRestClientConfigure())
val emailData = SendEmailData(context = applicationContext)
val map = hashMapOf(
"date_terminal" to "27/06/23",
"time_terminal" to "12:44:08",
"operation_type" to "PAYMENT",
"merchant_name" to "[Nombre de comercio]",
"merchant_address" to "Dirección del comercio",
"operation_number" to "181625710",
"masked_number" to "***0190",
"reader_type" to "CONTACTLESS",
"amount" to "100,00",
"installments" to "01",
"card_brand" to "MASTERCARD",
"currency" to "ARS",
"powered_by_menta_footer" to "Leyenda: Powered by menta",
"card_type" to "Crédito",
"card_aid" to "A0000000041010C123456789",
"subject" to "Comprobante de compra en [Nombre de comercio]",
"subtitle" to "Te acercamos el comprobante de tu compra en [Nombre de comercio]"
)
val sendEmailRequest = SendEmailRequest(email, "PAYMENT", map)
emailData.sendEmail(sendEmailRequest = sendEmailRequest)
emailData.sendEmailResponse.observe(this) { result ->
Log.i(TAG, "Resultado: $result")
when (result) {
is Resource.Success -> {
Log.i(TAG, "Email enviado correctamente")
}
else -> {
Log.i(TAG, "Error al enviar mail")
}
}
}
Códigos de respuesta
El observer configurado retornará como resultado un objeto de tipo LiveData<Resource<Unit, StatusResult>>
.
Los posibles valores para el Resource son:
Código | Descripción |
---|---|
Resource.Success | El envío del ticket se realizó con éxito. |
Resource.Failure | Falló el envío del ticket. |