Pagos
Para iniciar el flujo de pago, debe llamar al método make Payment de la instancia del SDK de First Data.
FirstDataSDK
.instance
.makePayment(
activity = [email protected],
amount = amount,
description = saleDescription,
requestCode = PAYMENT_CODE,
externalReferenceNumber = extRef)
Consulte la documentación de métodos para obtener más información sobre estos parámetros.
Este método iniciará un nuevo flujo de actividades y el resultado de esta invocación se presentará en el método Activity Result de la actividad o fragmento. En caso de tener un error vas a recibir un código de error y un mensaje de error.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (data != null) {
if (data.hasExtra(SdkConstants.KEY_ERROR_CODE) && data.hasExtra(SdkConstants.KEY_ERROR_MESSAGE)) {
val errorCode = data.getIntExtra(SdkConstants.KEY_ERROR_CODE, 0)
val errorMessage = data.getStringExtra(SdkConstants.KEY_ERROR_MESSAGE)
if (errorCode != 0) {
val message = "$errorCode $errorMessage"
resultDescription.text = message
}
} else if (resultCode == RESULT_OK) {
when (requestCode) {
REFUND_CODE, PAYMENT_CODE -> resultDescription.text = data.getStringExtra(SdkConstants.KEY_SDK_RESPONSE)
}
}
else{
resultDescription.text = "failed"
}
}
else{
resultDescription.text = "failed"
}
super.onActivityResult(requestCode, resultCode, data)
}
Puede encontrar todos los códigos de error en la clase Sdk Constants.
En caso de éxito, recibirá una cadena con formato json con el resultado de la operación. En este json puedes encontrar el detalle de la operación, como el importe cobrado, el nombre del cliente, el número de tarjeta enmascarada y la divisa de la transacción. Además, encontrará el identificador de operación para consultas posteriores.
jsonResult = data.getStringExtra(SdkConstants.KEY_SDK_RESPONSE)
Updated 6 months ago