Nuestros dispositivos cuentan con certificación PCI DSS Compliance.
Funcionalidad que te permite consultar el tipo de tarjeta previo a la autorización del cobro.
Conecta tu punto de venta por medio de un cable USB o Bluetooth
Procesa tarjetas nacionales e internacionales VISA, MasterCard y American Express; Carnet y marcas locales
Acepta pagos de hasta 18 MSI
*Solo disponible para el modelo Lane 7000
La tabla que se muestra a continuación contiene las principales características y diferencias entre nuestras PINpads.
Por motivos de seguridad, todo lo siguiente se te proporciona una vez que se cuente con un proceso de afiliación con nosotros. Se te brindarán los instaladores necesarios correspondientes a tu integración.
Para realizar tu integración es necesario que proporciones el documento SOW de forma detallada y con las firmas correspondientes, ya que es el punto de partida para identificar las necesidades y dispositivos que deseas utilizar.
Si tienes alguna duda sobre este documento, acércate con tu asesor comercial de Fiserv.
La integración bajo la operativa de tarjeta presente con Fiserv, cuenta con un conjunto de librerías que deberás importar dentro de tu proyecto a desarrollar; contamos también con los drivers requeridos bajo sistema operativo Windows 7 o Windows 10. Los requerimientos necesarios para poder comunicar tu aplicativo con nuestros dispositivos son los siguientes:
La comunicación transaccional entre el Pinpad y tu sistema de caja se efectúa mediante un Socket TCP por el cual se envía una trama al Pinpad con el comando correspondiente.
This SDK provides you a way to accept payments in your application using First Data platform. For a fully working example please refer to sdk Example demo source code.
You can find full documentation of every method provided by this sdk here. Please read carefully.
With this SDK you can perform 2 kinds of operations:
Note: This SDK is not a set of methods to let you interact with the dongle or our server APIs. We provide everything you need out of the box to let you perform transactions with Example App platform.
Note 2: This SDK Min Sdk Version is API 21, so it’s a requirement to your application to use at least a API 21 as min Sdk Version
There are 3 kinds of tokens you need to work with this SDK:
Note: These tokens are provided by ExampleApp
To install you need:
It’s a requirement for this SDK to run on a device with play services. This SDK works with API running at least TLS 1.2 certificates, it is your responsibility to patch your app to support this if your app will run on pre-lollipop devices. Please see
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
MultiDex.install(this)
}
2. Add the flag multiDexEnabled true in the defaultConfig of your gradle
3. Add compile 'com.android.support:multidex:2.0.1' to your dependencies
repositories {
...
maven { url 'https://nexus.devops.geopagos.com/repository/mobile-firstdata-releases/' }
}
}
2. Add SDK dependency
For production development add:
implementation "com.firstdata.mpos:sdk:1.1.12"
For testing development (preprod) add:
implementation "com.firstdata.mpos:sdk:1.1.12-preprod"
Note: At the moment of writing this document, sdk Version is 1.1.12, but we strongly recommend to be up to date always using the last version available on our Maven repository
To use First Data SDK you must first initialize it on the Create method of your Application class. To do this you have to call to the initial method of the First Data SDK class with you API KEY and the application context.
override fun onCreate() {
super.onCreate()
FirstDataSDK.init(apiKey, this)
//After init you can set the session token whenever you want, but must be done before start any operation. If you only have one session token then we recommend to do it here, like this:
FirstDataSDK.instance.setSdkSessionToken(sessionToken)
}
To start the payment flow you must call the make Payment method of the First Data SDK instance.
FirstDataSDK
.instance
.makePayment(
activity = [email protected],
amount = amount,
description = saleDescription,
requestCode = PAYMENT_CODE,
externalReferenceNumber = extRef)
Please refer to methods documentation for details about these parameters.
This method will start a new flow of activities and the result of this invocation will be presented on the Activity Result method of your activity or fragment.
In case of having an error you are going to receive an error code and an error message.
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)
}
You can find all the error codes in Sdk Constants class.
In case of success, you are going to receive a String with json format with the operation result. In this json you can find the operation detail, like the amount charged, customer name, masked card number and the transaction currency. Also, you will find the operation id for later querys.
jsonResult = data.getStringExtra(SdkConstants.KEY_SDK_RESPONSE)
Note: To perform any other operation, like refunds, the same approach applies. Please refer to our full methods documentation for FirstDataSDK here.
This is an example of an operation that does not provides UI from the SDK. You can query for an operation by the external reference number you’re provided us for the transaction.
val callback = object : OperationCompletion {
override fun onOperationSuccess(result: String) {
hideLoading()
resultDescription.text = result
}
override fun onOperationFailed(errorCode: Int, errorMessage: String) {
hideLoading()
resultDescription.text = "$errorCode $errorMessage"
}
}
//Remember this is an async operation
FirstDataSDK.retrievePaymentInfoForExternalReferenceNumber(number, callback)
Note: The result will be a json with details about the operation, same as payment result
You can override some specific colors to adapt the SDK look and feel to your application main colors. These are the main colors you can override, if needed.
<color name="primary">your color</color>
<color name="primary_dark">your color</color>
<color name="primary_status_bar">your color</color>
<color name="primary_half_alpha">your color</color>
If you want to query a transaction status from a server, you can make a GET to the following URL:
https://go.firstdata.mx/developers/api/operations/getOperationInfoByTokenDev
Using the following parameters:
In order to use this service, you must make the payment using a reference number. This reference number must be unique for every transaction of the same developer.
WARNING: You must never include your API Access Token inside the application. This URL is to use only in external servers. If you want to query the state from the application, you can use retrievePaymentInfoForExternalReferenceNumber.
The documentation of every method exposed by this sdk can be found here.