Insertar transacción
insertTransaction()¶
Método responsable de insertar una transacción, utilizado en escenarios de prueba para validar el flujo de pago.
Métodos¶
| Suscripción | Descripción |
|---|---|
void insertTransaction(InsertTransactionRequest insertTransactionRequest, PaymentCallback<Void> insertTransactionCallback) |
Realizar el proceso de inserción de una transacción. |
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
request |
InsertTransactionRequest |
Sí | Objeto de transferencia de datos que contendrá la información de la solicitud de la transacción. |
callback |
PaymentCallback |
Sí | Interfaz que será ejecutada para notificaciones de éxito o error del proceso de la transacción. |
Detalle de los Parámetros request (InsertTransactionRequest)
| Nombre | Tipo | Obligatorio | Descrição |
|---|---|---|---|
acquirerId |
String |
Sí | Identificador de la transacción para el adquirente. Este es el identificador que consta en el archivo que el adquirente proporciona (EDI). De esta forma, se puede realizar la conciliación del pago con la transacción integrada. |
acquirerPackage |
String |
Sí | Paquete o conjunto de información que describe la forma de pago utilizada por el adquirente. |
acquirerSpecificId |
String |
Sí | Identificador específico del adquirente, utilizado para diferenciar transacciones o paquetes. |
PayStorePaymentRequest.payment |
PayStorePaymentRequest |
Sí | Detalles sobre la solicitud de pago realizada por la tienda, incluyendo valores y métodos. |
PaymentServiceExecutionRequest.paymentServiceExecutionRequest |
PaymentServiceExecutionRequest |
Sí | Detalles específicos sobre la ejecución del servicio de pago, incluyendo los datos de la transacción. |
ReversalServiceExecutionRequest.reversalServiceExecutionRequest |
ReversalServiceExecutionRequest |
Sí | Detalles sobre la solicitud de reversión de pago, incluyendo el motivo y los datos de la transacción original. |
authAppVersion |
String |
Sí | Versión de la aplicación de autenticación utilizada en el proceso de pago o verificación. |
paymentAppVersion |
String |
Sí | Versión de la aplicación de pago utilizada para realizar la transacción. |
PayStorePaymentRequest¶
| Nombre | Tipo | Descripción |
|---|---|---|
uuid |
String |
Identificador único de la transacción. |
nsu |
long |
Número secuencial único de la transacción. |
value |
BigDecimal |
Valor de la transacción. |
cashback |
BigDecimal |
Valor del cashback aplicado en la transacción. |
paymentDate |
Date |
Fecha de la transacción. |
paymentDateStatus |
Integer |
Estado de la fecha de pago. |
paymentStatus |
Integer |
Estado del pago. |
resolutionType |
Integer |
Tipo de resolución de la transacción. |
maskedPan |
String |
Número del tarjeta enmascarado. |
panLast4Digits |
String |
Últimos 4 dígitos del número de la tarjeta. |
requiredPanSequenceNumber |
boolean |
Indica si el número de secuencia de la tarjeta es necesario. |
panSequenceNumber |
Integer |
Número de secuencia de la tarjeta. |
aid |
String |
Identificador de la aplicación. |
cardHolder |
String |
Nombre del titular de la tarjeta. |
cardExpirationDate |
Date |
Fecha de expiración de la tarjeta. |
captureType |
Integer |
Tipo de captura de la transacción. |
cardType |
String |
Tipo de tarjeta (por ejemplo, crédito, débito). |
appLabel |
String |
Etiqueta de la aplicación. |
cryptoPan |
String |
Número de la tarjeta cifrado. |
issuerScriptResults |
String |
Resultados del script del emisor. |
finalRequiredData |
String |
Datos finales requeridos. |
cardRequiredData |
String |
Datos requeridos de la tarjeta. |
paymentMerchantReceipt |
String |
Comprobante de pago del comerciante. |
paymentClientReceipt |
String |
Comprobante de pago del cliente. |
installmentQuantity |
Integer |
Cantidad de cuotas. |
requiredPassword |
boolean |
Indica si la contraseña es necesaria para la transacción. |
requiredSignature |
boolean |
Indica si la firma es necesaria para la transacción. |
currencySymbol |
String |
Símbolo de la moneda utilizada en la transacción. |
merchantSpecificId |
String |
Identificador específico del comerciante. |
terminalSpecificId |
String |
Identificador específico del terminal. |
productType |
Integer |
Tipo de producto involucrado en la transacción. |
ksn |
String |
Número de secuencia del terminal. |
reverseMerchantReceipt |
String |
Comprobante de reversión del comerciante. |
reverseClientReceipt |
String |
Comprobante de reversión del cliente. |
canUndoReverse |
boolean |
Indica si la reversión puede ser deshecha. |
cardBrandName |
String |
Nombre de la marca de la tarjeta (por ejemplo, Visa, MasterCard). |
externalAppId |
String |
Identificador de la aplicación externa. |
externalAppVersion |
String |
Versión de la aplicación externa. |
externalAppTransactionId |
String |
ID de la transacción en la aplicación externa. |
ticketNumber |
Long |
Número del cupón de la transacción. |
batchNumber |
Long |
Número del lote de la transacción. |
pinCaptureType |
Integer |
Tipo de captura del PIN. |
authCode |
String |
Código de autorización de la transacción. |
reverseAuthCode |
String |
Código de autorización de la reversión. |
validityPreAuthorization |
String |
Validez de la pre-autorización. |
terminalAcquirerSpecificId |
String |
Identificador específico del adquirente en el terminal. |
softDescriptor |
String |
Descripción del producto o servicio. |
transactionType |
String |
Tipo de transacción (por ejemplo, venta, cancelación). |
transactionDesc |
String |
Descripción de la transacción. |
plainTextPan |
String |
Número de la tarjeta en texto claro. |
cardBrandId |
Long |
ID de la marca de la tarjeta. |
paymentAppVersionCode |
Integer |
Código de la versión de la aplicación de pago. |
planId |
String |
ID del plan asociado a la transacción. |
productShortName |
String |
Nombre abreviado del producto. |
accountTypeId |
String |
Tipo de cuenta asociada a la transacción. |
reversable |
Boolean |
Indica si la transacción es reversible. |
acquirerResponseCode |
String |
Código de respuesta del adquirente. |
merchantCode |
String |
Código del comerciante. |
batchId |
Long |
ID del lote. |
devolution |
Boolean |
Indica si la transacción es una devolución. |
allowVeps |
Boolean |
Indica si se permite el VEPS (Sistema de Pago Electrónico Virtual). |
vepsContactLimit |
String |
Límite de contacto VEPS. |
lastUpdate |
Date |
Fecha de la última actualización. |
acquirerNsu |
String |
NSU del adquirente. |
cardHolderNameExtended |
String |
Nombre completo del titular de la tarjeta. |
doc |
String |
Documento del titular de la tarjeta. |
originalAcquirerNsu |
String |
NSU original del adquirente. |
acquirerResponseDate |
Date |
Fecha de la respuesta del adquirente. |
acquirerResponseMessage |
String |
Mensaje de respuesta del adquirente. |
acquirerResponseSuccessMessage |
String |
Mensaje de éxito del adquirente. |
acquirerReverseResponseCode |
String |
Código de respuesta de la reversión del adquirente. |
acquirerReverseResponseDate |
Date |
Fecha de la respuesta de reversión del adquirente. |
additionalValueType |
Integer |
Tipo de valor adicional de la transacción. |
authorizedOriginalValue |
BigDecimal |
Valor original autorizado de la transacción. |
balance |
String |
Saldo después de la transacción. |
cashbackValue |
BigDecimal |
Valor del cashback asociado a la transacción. |
correlationId |
String |
ID de correlación de la transacción. |
cvv |
String |
Código de seguridad de la tarjeta. |
cvvLegibleType |
String |
Tipo legible del CVV. |
dni |
String |
Documento Nacional de Identidad. |
finalApplicationCryptogram |
String |
Criptograma final de la aplicación. |
hasCardData |
Boolean |
Indica si los datos de la tarjeta están presentes. |
initializeAfterPayment |
Boolean |
Indica si el sistema debe ser inicializado después del pago. |
installmenPlanDescription |
String |
Descripción del plan de cuotas. |
issuerName |
String |
Nombre del emisor de la tarjeta. |
maskFirst6Digits |
Boolean |
Indica si los primeros 6 dígitos de la tarjeta deben ser enmascarados. |
merchantPhoneNumber |
String |
Número de teléfono del comerciante. |
notes |
String |
Notas adicionales relacionadas con la transacción. |
originalAC |
String |
Código de autorización original. |
originalAID |
String |
AID original de la transacción. |
originalAuto |
String |
Código original del terminal de automatización. |
originalDate |
String |
Fecha original de la transacción. |
originalHour |
String |
Hora original de la transacción. |
originalTerm |
String |
Terminal original desde donde se realizó la transacción. |
originalTicketNumber |
String |
Número del ticket original. |
originalValue |
String |
Valor original de la transacción. |
pan |
String |
Número completo de la tarjeta (PAN). |
payerDataName |
String |
Nombre del pagador. |
paymentPrintedReceipt |
Boolean |
Indica si el recibo de pago fue impreso. |
paymentUuid |
String |
UUID del pago. |
printMessage |
String |
Mensaje que se mostrará en la impresión del recibo. |
printParcialPan |
Boolean |
Indica si el PAN parcial debe ser impreso en el recibo. |
qrDiscountedValue |
BigDecimal |
Valor con descuento en transacciones a través de código QR. |
qrId |
Long |
ID del código QR generado para la transacción. |
qrOriginalValue |
BigDecimal |
Valor original de la transacción a través del código QR, antes del descuento. |
rawAdditionalMessage |
String |
Mensaje adicional bruto proporcionado por la transacción. |
receiptDisplayMessage |
String |
Mensaje que se mostrará en el recibo. |
receiptPrintMessage |
String |
Mensaje que se imprimirá en el recibo. |
requestedTokenizeCard |
Boolean |
Indica si se solicitó la tokenización de la tarjeta. |
restored |
Boolean |
Indica si la transacción fue restaurada. |
reversalBatchId |
Long |
ID del lote de reversión. |
reversalPrintedReceipt |
Boolean |
Indica si el recibo de reversión fue impreso. |
reversalSignature |
String |
Firma de la reversión de la transacción. |
reverseAcquirerNsu |
String |
NSU de reversión del adquirente. |
saleCode |
String |
Código de venta asociado con la transacción. |
signature |
String |
Firma digital o física asociada a la transacción. |
statisticAPNSIM |
String |
Información estadística sobre el SIM en la APN (Red de Acceso a Paquete). |
statisticBatteryPercentage |
String |
Porcentaje de batería en el dispositivo durante la transacción. |
statisticCommunicationType |
String |
Tipo de comunicación utilizada en la transacción (por ejemplo, Wi-Fi, 4G, etc.). |
statisticLatitude |
String |
Latitud en el momento de la transacción. |
statisticLongitude |
String |
Longitud en el momento de la transacción. |
statisticOperatorSIM |
String |
Operadora del SIM card usado en el dispositivo durante la transacción. |
statisticSIMSerialNumber |
String |
Número de serie del SIM card utilizado. |
statisticStrengthSIM |
String |
Fuerza de la señal del SIM card. |
statisticStrengthWireless |
String |
Fuerza de la señal inalámbrica en el momento de la transacción. |
track1 |
String |
Datos de la pista 1 de la tarjeta (usado en transacciones con tarjetas magnéticas). |
track2 |
String |
Datos de la pista 2 de la tarjeta (usado en transacciones con tarjetas magnéticas). |
version |
Long |
Versión de la transacción o del sistema. |
trxType |
Integer |
Tipo de transacción (por ejemplo, compra, reversión, etc.). |
PaymentServiceExecutionRequest¶
| Nombre | Tipo | Descripción |
|---|---|---|
serviceStatus |
Integer |
Estado del servicio. |
serviceStatusDetail |
Integer |
Detalle del estado del servicio. |
serviceAcquirerStatus |
Integer |
Estado del servicio en el adquirente. |
startDate |
Date |
Fecha de inicio del servicio o transacción. |
finishDate |
Date |
Fecha de finalización del servicio o transacción. |
clientRequestDate |
Date |
Fecha de la solicitud del cliente. |
serviceType |
String |
Tipo de servicio (por ejemplo, compra, reversión, etc.). |
responseCode |
String |
Código de respuesta del servicio o transacción. |
responseMessage |
String |
Mensaje de respuesta del servicio o transacción. |
responseDate |
Date |
Fecha de la respuesta del servicio o transacción. |
acquirerNsu |
String |
NSU (Número Secuencial Único) proporcionado por el adquirente. |
processingCode |
String |
Código de procesamiento de la transacción. |
mti |
Integer |
MTI (Message Type Indicator) de la transacción, que indica el tipo de mensaje. |
authCode |
String |
Código de autorización de la transacción. |
chipSerialNumber |
String |
Número de serie del chip de la tarjeta. |
chipNameProvider |
String |
Nombre del proveedor del chip de la tarjeta. |
phastTransactionProviderId |
String |
ID del proveedor de la transacción PHAST (sistema de pagos). |
phastTransactionServiceSpecificId |
String |
ID específico del servicio de la transacción PHAST. |
connectionType |
String |
Tipo de conexión usada en la transacción (ej. Wi-Fi, 4G, etc.). |
statisticAPNSIM |
String |
Información estadística sobre el SIM en la APN (Red de Acceso de Paquete). |
statisticBatteryPercentage |
String |
Porcentaje de batería en el dispositivo durante la transacción. |
statisticCommunicationType |
String |
Tipo de comunicación usada en la transacción (ej. Wi-Fi, 4G, etc.). |
statisticLatitude |
String |
Latitud en el momento de la transacción. |
statisticLongitude |
String |
Longitud en el momento de la transacción. |
statisticOperatorSIM |
String |
Operadora del SIM card usado en el dispositivo durante la transacción. |
statisticStrengthSIM |
String |
Fuerza de la señal del SIM card durante la transacción. |
statisticStrengthWireless |
String |
Fuerza de la señal inalámbrica en el momento de la transacción. |
acquirerNsuAuthApi |
String |
NSU de autorización obtenido vía API del adquirente. |
correlationId |
String |
ID de correlación entre la transacción y otros sistemas involucrados. |
initializationType |
String |
Tipo de inicialización del proceso de pago o transacción. |
lastTryDay |
Date |
Fecha del último intento de procesamiento. |
numberAttemptsDay |
Integer |
Número de intentos realizados en el día. |
numberAttemptsTotal |
Integer |
Número total de intentos realizados. |
paymentAppVersion |
String |
Versión de la aplicación de pago utilizada en la transacción. |
paymentNotify |
Boolean |
Indica si la notificación de pago fue enviada o no. |
sdkResponseCode |
String |
Código de respuesta del SDK para la transacción. |
sdkResponseMessage |
String |
Mensaje de respuesta del SDK para la transacción. |
synced |
Boolean |
Indica si los datos han sido sincronizados. |
syncedAdditionalInfo |
Boolean |
Indica si se han sincronizado datos adicionales. |
totalDays |
Integer |
Número total de días involucrados en la transacción o servicio. |
version |
Long |
Versión del sistema o transacción. |
ReversalServiceExecutionRequest¶
| Nombre | Tipo | Descripción |
|---|---|---|
serviceStatus |
Integer |
Estado del servicio. |
serviceStatusDetail |
Integer |
Detalle del estado del servicio. |
serviceAcquirerStatus |
Integer |
Estado del servicio en el adquirente. |
startDate |
Date |
Fecha de inicio del servicio o transacción. |
finishDate |
Date |
Fecha de finalización del servicio o transacción. |
clientRequestDate |
Date |
Fecha de la solicitud del cliente. |
serviceType |
String |
Tipo de servicio (por ejemplo, compra, reversión, etc.). |
responseCode |
String |
Código de respuesta del servicio o transacción. |
responseMessage |
String |
Mensaje de respuesta del servicio o transacción. |
responseDate |
Date |
Fecha de la respuesta del servicio o transacción. |
acquirerNsu |
String |
NSU (Número Secuencial Único) proporcionado por el adquirente. |
originalDate |
Date |
Fecha original de la transacción. |
originalNsu |
String |
NSU original proporcionado por el adquirente. |
maskedPan |
String |
PAN (número de tarjeta) enmascarado. |
panLast4Digits |
String |
Últimos 4 dígitos del PAN (número de tarjeta). |
aid |
String |
AID (Application Identifier) de la tarjeta. |
cardHolder |
String |
Nombre del titular de la tarjeta. |
authCode |
String |
Código de autorización de la transacción. |
captureType |
Integer |
Tipo de captura de la transacción (ej. captura total, captura parcial, etc.). |
appLabel |
String |
Etiqueta de la aplicación utilizada. |
nsu |
Long |
NSU (Número Secuencial Único) generado para la transacción. |
authAppVersion |
String |
Versión de la aplicación de autorización utilizada. |
paymentAppVersion |
String |
Versión de la aplicación de pago utilizada. |
requiredPassword |
Boolean |
Indica si se requiere contraseña para la transacción. |
chipSerialNumber |
String |
Número de serie del chip de la tarjeta. |
batchNumber |
Long |
Número del lote relacionado con la transacción. |
synced |
Boolean |
Indica si los datos han sido sincronizados. |
chipNameProvider |
String |
Nombre del proveedor del chip de la tarjeta. |
connectionType |
String |
Tipo de conexión utilizada en la transacción (ej. Wi-Fi, 4G, etc.). |
correlationId |
String |
ID de correlación entre la transacción y otros sistemas involucrados. |
initializationType |
String |
Tipo de inicialización del proceso de pago o transacción. |
lastTryDay |
Date |
Fecha del último intento de procesamiento. |
numberAttemptsDay |
Integer |
Número de intentos realizados en el día. |
numberAttemptsTotal |
Integer |
Número total de intentos realizados. |
sdkResponseCode |
String |
Código de respuesta del SDK para la transacción. |
sdkResponseMessage |
String |
Mensaje de respuesta del SDK para la transacción. |
statisticAPNSIM |
String |
Información estadística sobre el SIM en la APN (Red de Acceso de Paquete). |
statisticBatteryPercentage |
String |
Porcentaje de batería en el dispositivo durante la transacción. |
statisticCommunicationType |
String |
Tipo de comunicación utilizada en la transacción (ej. Wi-Fi, 4G, etc.). |
statisticLatitude |
String |
Latitud en el momento de la transacción. |
statisticLongitude |
String |
Longitud en el momento de la transacción. |
statisticOperatorSIM |
String |
Operadora del SIM card usado en el dispositivo durante la transacción. |
statisticStrengthSIM |
String |
Fuerza de la señal del SIM card durante la transacción. |
statisticStrengthWireless |
String |
Fuerza de la señal inalámbrica en el momento de la transacción. |
syncedAdditionalInfo |
Boolean |
Indica si se han sincronizado datos adicionales. |
ticketNumber |
Long |
Número del ticket relacionado con la transacción. |
totalDays |
Integer |
Número total de días involucrados en la transacción o servicio. |
version |
Long |
Versión del sistema o transacción. |
callback (PaymentCallback)¶
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
onSuccess |
Método para notificación en caso de éxito. | ||
onError |
Método para notificación en caso de error. | ||
ErrorData.paymentsResponseCode |
String |
Sí | Código de respuesta para el error que ocurrió. Ver Códigos de Respuesta |
ErrorData.acquirerResponseCode |
String |
No | Código de respuesta para el error ocurrido retornado por el adquirente. Tenga en cuenta que solo este error será retornado si la transacción no es autorizada por el adquirente. |
ErrorData.responseMessage |
String |
Sí | Mensaje descriptivo de la causa de la no autorización. Si la transacción fue rechazada por el adquirente, contendrá el mensaje retornado por el adquirente. |
ErrorData.acquirerAdditionalMessage |
String |
No | Mensaje enviado en el campo 63 de respuesta EPS, para ser impreso o mostrado al final del flujo transaccional. La aplicación de pagos sigue siendo responsable de mostrarlo en pantalla o verificar el contenido de este campo, pero también debe enviar el valor recibido a la aplicación integrada para que pueda aplicar sus reglas de negocio basadas en el contenido de este campo. |
Ejemplo¶
public class MyActivity extends Activity implements PaymentClient.PaymentCallback {
private PaymentClient paymentClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_payment);
paymentClient = new PaymentClientImpl();
}
@Override
protected void onResume() {
super.onResume();
paymentClient.bind(this);
}
@Override
protected void onDestroy() {
try {
paymentClient.unbind(this);
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
super.onDestroy();
}
public void doExecute() {
InsertTransactionRequest insertTransactionRequest = new InsertTransactionRequest();
//establecer los términos obligatorios del request
try {
paymentClient.insertTransaction(insertTransactionRequest, this);
} catch (ClientException e) {
Log.e(TAG, "Error", e);
}
}
@Override
public void onError(ErrorData errorData) {
Log.e(TAG, "Error: " + errorData.getResponseMessage());
}
@Override
public void onSuccess(Object o) {
Log.i(TAG, "Success!");
}
}