Documentación de servicios para PagosVarios/Gift Cards

Table of Contents

Mobile GiftCard Service
Anchor

GiftCardTransactionController

Controller

GiftCardTransactionController

Métodos

Parámetros de entrada

Parámetro de salida

URL

Detalles

giftcardPurchaseTransaction

com.oxxo.fintech.mobile.giftcard.dto.request.GiftCardPurchaseRequestChannelDTO

com.oxxo.fintech.mobile.giftcard.dto.response.GiftCardPurchaseResponseChannelDTO

{host}/mobile/giftcard-service/giftcards/transactions

Endpoint que permite a la aplicacion mobile conectarse con el CORE para la comprar de una gift card

Ejemplo peticiones

giftcardPurchaseTransaction

Petición

Ejemplo de parámetros de entrada

1{ 2 "priceId": "GLf2OTSSj5tckDuOmgSyEZ6RETNbq@kskRHYrcDmveg=", 3 "upc": "799366545682", 4 "amount": 20000, 5 "userId": "68385c22-00bd-49c7-9f07-e77a7814566e", 6 "providerName": "Google", 7 "providerId": "638747510af87b3f929cabab", 8 "productName": "MX InComm Test TV Dummy Product DDP 200 MXN" 9}

Respuesta de petición existosa

1{ 2"transactionId": "string", 3"userId": "string", 4"relatedTransactionId": "string", 5"customerNumber": "string", 6"accountNumber": "string, 7 "createdAt": "date", 8 "transactionType": "string", 9 "amount": integer, 10 "commission": double, 11 "tax": double, 12 "taxPercentage": double 13}

GiftCard Service
Anchor

GiftCardTransactionController

Controller

GiftCardTransactionController

Métodos

Parámetros de entrada

Parámetro de salida

URL

Detalles

buyGiftCard

com.oxxo.fintech.core.dto.giftcard.request.GiftCardTransactionRequestDTO

com.oxxo.fintech.core.dto.giftcard.response.GiftCardTransactionResponseDTO

{host}/giftcard-service/transactions/buy

Endpoint del CORE que realiza el proceso para la compra de una gift card, abarca transacción con Fiserv e Incomm

listGiftCard

---

LIST com.oxxo.fintech.giftcard.model.GiftcardTransaction

{host}/giftcard-service/transactions

?userId={value}

&transferTransactionId={value}

&startDate={YYYY-MM-DD}

&endDate={YYYY-MM-DD}

Endpoint para el listado de las transacciones que conllevan las compras de gift cards, aplica filtros de userId, transactionId, fecha de inicio y fin

Ejemplo peticiones

buyGiftCard

Petición

Ejemplo de parámetros de entrada

1{ 2 "transferTransactionId": "639201148fd0d150c130ab90a", 3 "userId": "24551f65-6948-4871-9f23-3d40d3c853d6", 4 "personalInfoDTO": { 5 "firstName": "Anna Sofia", 6 "lastNameP": "Kubacsek", 7 "lastNameM": "Carsolio", 8 "phone": "+51973347642", 9 "email": "jose.napa@oxxofintech.com.mx", 10 "gender": "female", 11 "dateOfBirth": "1995-05-22" 12 }, 13 "priceId": "GLf2OTSSj5tckDuOmgSyEZ6RETNbq@kskRHYrcDmveg=", 14 "productName": "MX InComm Test TV Dummy Product DDP 200 MXN", 15 "upc": "799366545682", 16 "amount": 20000, 17 "providerId": "638747510af87b3f929cabab", 18 "providerName": "Google" 19}

Respuesta de petición existosa

1{ 2 "id": "639247086ab2d81ce5f0d993", 3 "userId": "24551f65-6948-4871-9f23-3d40d3c853d6", 4 "transferTransactionId": "639201148fd0d150c130ab90a", 5 "product": { 6 "name": "MX InComm Test TV Dummy Product DDP 200 MXN", 7 "upc": "799366545682", 8 "amount": 20000, 9 "balance": 0.0, 10 "status": "A" 11 }, 12 "provider": { 13 "id": "638747510af87b3f929cabab", 14 "name": "Google", 15 "logo": "/null" 16 }, 17 "status": "SUCCESS", 18 "traceId": "8922e1febc2c7308", 19 "createdAt": "2022-12-08T20:20:24.162Z" 20}


listGiftCard

Petición

Ejemplo de petición

1{host}/giftcard-service/transactions 2?userId=68385c22-00bd-49c7-9f07-e77a7814566e 3&transferTransactionId=639247193ad2ce170b57d586 4&startDate=2022-12-06 5&endDate=2022-12-06

Respuesta de petición existosa

1[ 2 { 3 "id": "638e4c7bac38b162e4454354", 4 "userId": "68385c22-00bd-49c7-9f07-e77a7814566e", 5 "transferTransactionId": "638e4c777134e13e75a46f85", 6 "traceId": "5fae2c3338fc35c8", 7 "createdAt": "2022-12-05T19:54:35.235Z", 8 "updatedAt": "2022-12-05T19:54:35.235Z" 9 }, 10 { 11 "id": "638e52a6a97bfb76d9b7ecb7", 12 "userId": "68385c22-00bd-49c7-9f07-e77a7814566e", 13 "transferTransactionId": "638e52a27134e13e75a46f86", 14 "traceId": "5fae54d669589d37", 15 "createdAt": "2022-12-05T20:20:54.225Z", 16 "updatedAt": "2022-12-05T20:20:54.225Z" 17 } 18]


Incomm Gateway Service
Anchor

  1. RtgDigitalController

  2. RetailInCommService

RtgDigitalController
Anchor

Controller

RtgDigitalController

Dependencias

com.oxxo.fintech.incomm.service.RetailInCommService

Métodos

Parámetros de entrada

Parámetro de salida

URL

Detalles

requestActiveCode

com.oxxo.fintech.core.dto.gateway.request.RetailTransactionDigitalRequestGatewayDTO

com.oxxo.fintech.core.dto.gateway.response.IncommGatewayResponseDTO

/rtgdigital/requestactivecode

La url se encuentra en el archivo de constantes com.oxxo.fintech.core.constants.IncommGatewayServiceURIConstants

returnActiveCode

com.oxxo.fintech.core.dto.gateway.request.RetailTransactionDigitalRequestGatewayDTO

com.oxxo.fintech.core.dto.gateway.response.IncommGatewayResponseDTO

/rtgdigital/returnactivecode

La url se encuentra en el archivo de constantes com.oxxo.fintech.core.constants.IncommGatewayServiceURIConstants

cancel

com.oxxo.fintech.core.dto.gateway.request.RetailTransactionDigitalRequestGatewayDTO

com.oxxo.fintech.core.dto.gateway.response.IncommGatewayResponseDTO

/rtgdigital/cancel

La url se encuentra en el archivo de constantes com.oxxo.fintech.core.constants.IncommGatewayServiceURIConstants

Diagrama del Proceso de Cancelación

Ejemplo peticiones

requestActiveCode

Petición

Ejemplo de parámetros de entrada

1{ 2 "transactionId":"e491e9b4-8bc8-49b3-957a-2074df3161b7-a23dc", 3 "amount":200.00, 4 "upc":"799366545682" 5}

Respuesta de petición existosa

1{ 2 "authID": "1318733921", 3 "responseCode": "0", 4 "responseText": "Success", 5 "transactionID": "e491e9b4-8bc8-49b3-957a-2074df3161b7-a23dc", 6 "product": { 7 "balance": 200.0, 8 "amount": 200.0, 9 "status": "A", 10 "code": "1F8LHZHHM3UVC1T8", 11 "metafields": { 12 "metafield": [ 13 { 14 "name": "ddpId", 15 "value": "1680169056" 16 }, 17 { 18 "name": "prodType", 19 "value": "pin_realtime" 20 }, 21 { 22 "name": "serialNum", 23 "value": "8401331927" 24 } 25 ] 26 } 27 } 28}


returnActiveCode

Petición

Ejemplo de parámetros de entrada

1{ 2 "transactionId":"e491e9b4-8bc8-49b3-957a-2074df3161b7-a298d", 3 "amount":200.00, 4 "upc":"799366545682", 5 "code": "1F8LHZHHM3UVC1T8" 6}

Respuesta de petición existosa

1{ 2 "authID": "1318733925", 3 "responseCode": "0", 4 "responseText": "Success", 5 "transactionID": "e491e9b4-8bc8-49b3-957a-2074df3161b7-a298d", 6 "product": { 7 "balance": 200.0, 8 "amount": 200.0, 9 "status": "D", 10 "metafields": { 11 "metafield": [ 12 { 13 "name": "ddpId", 14 "value": "1680169056" 15 }, 16 { 17 "name": "prodType", 18 "value": "pin_realtime" 19 }, 20 { 21 "name": "serialNum", 22 "value": "8401331928" 23 } 24 ] 25 } 26 } 27}


cancel

Petición

Ejemplo de parámetros de entrada

1{ 2 "transactionId":"e491e9b4-8bc8-49b3-957a-2074df3161b7-ad89c", 3 "amount":200.00, 4 "upc":"799366545682" 5}

Respuesta de petición existosa

1{ 2 "authID": "1318733930", 3 "responseCode": "0", 4 "responseText": "Success", 5 "transactionID": "e491e9b4-8bc8-49b3-957a-2074df3161b7-ad89c", 6 "product": { 7 "balance": 200.0, 8 "amount": 200.0, 9 "status": "D", 10 "metafields": { 11 "metafield": [ 12 { 13 "name": "ddpId", 14 "value": "1680169057" 15 }, 16 { 17 "name": "prodType", 18 "value": "pin_realtime" 19 }, 20 { 21 "name": "serialNum", 22 "value": "8401331930" 23 } 24 ] 25 } 26 } 27}

RetailInCommService
Anchor

Controller

RetailInCommService

Dependencias

com.oxxo.fintech.incomm.client.IncommRetrofitClient

com.oxxo.fintech.incomm.config.IncommConfig

Métodos

Parámetros de entrada

Detalle

Parámetros de salida

Detalle

Descripción

makePurchase

com.oxxo.fintech.core.dto.gateway.request.RetailTransactionDigitalRequestGatewayDTO

Objeto que se espera del controlador y que será convertida al objeto de la petición para los servicios Incomm

com.oxxo.fintech.core.dto.gateway.response.IncommGatewayResponseDTO

Objeto que se regresa a la petición del controlador y que es un objeto convertido del objeto de respuesta de los servicios de Incomm

Este método sirve como intermediario entre el servicio de requestActiveCode expuesto en el microservicio incomm-gateway-service y el servicio requestActiveCode expuesto por parte de Incomm

makeReverse

com.oxxo.fintech.core.dto.gateway.request.RetailTransactionDigitalRequestGatewayDTO

Petición que se espera del controlador y que será convertida al objeto de la petición para los servicios Incomm

com.oxxo.fintech.core.dto.gateway.response.IncommGatewayResponseDTO

Objeto que se regresa a la petición del controlador y que es un objeto convertido del objeto de respuesta de los servicios de Incomm

Este método sirve como intermediario entre el servicio de returnActiveCode expuesto en el microservicioincomm-gateway-service y el servicio returnActiveCode expuesto por parte de Incomm

cancelPurchase

com.oxxo.fintech.core.dto.gateway.request.RetailTransactionDigitalRequestGatewayDTO

Petición que se espera del controlador y que será convertida al objeto de la petición para los servicios Incomm

com.oxxo.fintech.core.dto.gateway.response.IncommGatewayResponseDTO

Objeto que se regresa a la petición del controlador y que es un objeto convertido del objeto de respuesta de los servicios de Incomm

Este método sirve como intermediario entre el servicio de cancel expuesto en el microservicio incomm-gateway-service y el servicio cancel expuesto por parte de Incomm

Cliente Retrofit
Anchor

Es una implementación de un cliente rest usado por Spin el cual permite consumir servicios rest y que posee una configuración por defecto el cual permite realizar loggeo de las url, cuerpo de peticiones y cuerpo de respuestas de las peticiones realizadas.

IncommRetrofitClient
Anchor

Controller

IncommRetrofitClient

Dependencias

com.oxxo.fintech.incomm.client.IncommRepository

Método

Parámetros de entrada

Detalle

Parámetros de salida

Detalle

Descripción

requestActiveCode

com.oxxo.fintech.incomm.client.dto.request.RequestIncommDTO

Objeto para realizar la petición al servicio requestActiveCode de Incomm

com.oxxo.fintech.incomm.client.dto.response.ResponseIncommDTO

Objeto de respuesta de consumo del servicio requestActiveCode de Incomm


Realiza la ejecución del llamado a la petición rest

returnActiveCode

com.oxxo.fintech.incomm.client.dto.request.RequestIncommDTO

Objeto para realizar la petición al servicio returnActiveCode de Incomm

com.oxxo.fintech.incomm.client.dto.response.ResponseIncommDTO

Objeto de respuesta de consumo del servicio returnActiveCode de Incomm


Realiza la ejecución del llamado a la petición rest

cancelActiveCode

com.oxxo.fintech.incomm.client.dto.request.RequestIncommDTO

Objeto para realizar la petición al servicio cancel de Incomm

com.oxxo.fintech.incomm.client.dto.response.ResponseIncommDTO

Objeto de respuesta de consumo del servicio cancel de Incomm

Realiza la ejecución del llamado a la petición rest

validateResponse

retrofit2.Response






ErrorCode

Objeto que contiene la respuesta del cliente Retrofit

com.spin.common.core.errors


Objeto de manejo de error al realizar las peticiones

void

---

Este método intercepta la respuesta de cada llamado realizado en los métodos anteriores, llamados a los servicios de Incomm, y en caso de haber respuesta con error, se encarga de formatear la respuesta.

getDefaultErrorCode

---

---

com.spin.common.core.errors.ErrorCode

Objeto que sirve para controlar el error que pueda surgir durante las llamadas a los servicios de Incomm

Método sobrecargado que se encarga de interceptar los errores y enviarlos con un objeto personalizado de errores.

Ejemplo peticiones

validateResponse

Ejemplo de error formateado