Integración NetPay

Para este proyecto se integro como método de cobro con tarjeta presente el SDK de NetPay mini, a continuación dejo la documentación oficial: https://docs.netpay.com.mx/docs/mini-sdk-integracion , la cual se siguió para integrar el SDK.

A continuación menciono los pasos:

1. Agregando Jitpack

Agrega la url ¨https://jitpack.io¨ dentro del bloque repositorios (repositories) en tu archivo build.gradle ubicado en la raíz de tu proyecto.

Implementación:

maven { url 'https://jitpack.io' }

 

2. Importando el SDK de MINI para Android

Dentro del archivo build.gradle en el módulo de la aplicación (module:app) importa la. librería dentro del bloque de dependencias (dependencies).

Implementación:

implementation "com.gitlab.netpaymx.netpay-sdks:mini:1.1.2@aar"

implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"

implementation "com.squareup.okhttp3:okhttp:4.9.3"

implementation "com.squareup.retrofit2:converter-moshi:2.9.0"

implementation "com.squareup.retrofit2:converter-gson:2.9.0"

implementation "com.squareup.retrofit2:retrofit:2.9.0"

implementation "com.squareup.okhttp3:logging-interceptor:4.9.2"

implementation "com.github.gcacace:signature-pad:1.3.1"

implementation "com.squareup.moshi:moshi:1.12.0"

3. Concediendo los permisos requeridos

Configura el archivo AndroidManifest.xml para conceder a la aplicación los permisos requeridos.

Implementation:

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

4. Implementando las interfaces

Crea una actividad (activity) que implemente las siguientes interfaces: ITransactionListener, IReportsListener y sus métodos correspondientes.

Implementación

class KotlinActivity : AppCompatActivity(), ITransactionListener, IReportsListener, IPasswordListener { override fun selectedAppAction(apps: List<String>, action: (Int) -> Unit) { TODO("Not yet implemented") } override fun valuesToProcessing(values: (total: Double, tip: Double, reference: String, promotion: String) -> Unit) { TODO("Not yet implemented") } override fun transactionsResult(message: String, processed: Boolean) { TODO("Not yet implemented") } override fun posTransactionEnumResult(result: NpTransactionEnum) { TODO("Not yet implemented") } override fun reverseResult(message: String, processed: Boolean) { TODO("Not yet implemented") } override fun refundResult(message: String, processed: Boolean) { TODO("Not yet implemented") } override fun errorResult(npErrorEnum: NpErrorEnum) { TODO("Not yet implemented") } override fun provideSignaturePathResult(intent: Intent) { TODO("Not yet implemented") } override fun startingPaymentProcessing() { TODO("Not yet implemented") } override fun imageResult(processed: Boolean, image: String?, message: String?) { TODO("Not yet implemented") } override fun changePassword( isSuccess: Boolean, messageError: String?, result: RecoverPasswordResponse? ) { TODO("Not yet implemented") } override fun reportSalesByDateAndUserResult( processed: Boolean, message: String?, reportSales: List<ResponseSale>? ) { TODO("Not yet implemented") } override fun reportSaleDetailsResult(response: ResponseSaleDetail?, success: Boolean) { TODO("Not yet implemented") } }

 

Con esto ya se tendria completo la integración y solo faltaría la lógica del sdk el cual se puede seguir en la siguiente liga: https://docs.netpay.com.mx/docs/mini-sdk-implementacion , al igual les dejo el codigo de ejemplo que se utilizo para hacer la implementación https://gitlab.com/netpaymx/netpay-sdks/netpay-mini-android-sdk-sample .