Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dependencias Utilizadas
http:^0.12.2
get_ip:^0.4.0
Archivos
1. DataWeb.dart: Este archivo posee una clase llamada DataWeb donde esta toda la lógica de
comunicación entre el APP, mSDK y OPPWA.
Nota: como este archivo utiliza objetos y parámetros de los archivos ColorsIOS.dart y DataWebObj.dart
hay que realizar las importaciones correctamente.
<STRING, STRING>
Config_Ambiente: Permite configurar el servicio OPPWA en ambiente prueba (TEST) o
producción (LIVE), en caso de no ser utilizado el servicio se configurará por defecto en
modo de pruebas (TEST). Los valores permitidos son (TEST o LIVE) en formato String.
Config_Brands: Permite configurar las marcas que utilizara el servicio OPPWA, en caso
de no ser utilizado el servicio utilizara por defecto Visa y Mastercard. Los valores
permitidos son (VISA, AMEX, DINERS, DISCOVER) en formato String separados por
comas y sin espacios.
Config_MostrarTotal: Permite mostrar el total de la compra realizada en el servicio
OPPWA, en caso de no ser utilizado el servicio no mostrara ningún totalizado. Los
valores permitidos son las palabras “true” o “false”, en formato String.
Config_SkipCVV: Permite al servicio OPPWA solicitar el CVV para todas las tarjetas o
solo para las almacenadas, los valores permitidos son “false” (Nunca solicitar) o “true”
(Omite la verificación CVV para tarjetas almacenadas.), en formato String. En caso de no
ser utilizado el valor por defecto es “false”.
Config_Tokenize: Permite al servicio OPPWA almacenar los detalles de pago, los
valores permitidos son: “0” (los detalles de pago no se guardarán), “1” (el comprador
debe confirmar si desea guardar la información de pago para las compras posteriores o
no.) y “2” (los detalles de pago del comprador se guardarán para cada nuevo pago), dicho
valores son en formato String.
Config_TipoPayment: Permite visualizar las opciones de cuotas, los valores permitidos
son: “0” no visualiza opciones de cuota (Pago Corriente), otros valores permite visualizar
opciones de pago, valores en formato String.
Pago_Diferidos: Permite configurar las opciones de cuotas, el valor permitido es una
cadena numérica en formato string separados por coma.
Estilo_Idioma: permite configurar el idioma del servicio OPPWA, los valores
permitidos son "es_ES" (español) y “en_US” (ingles), en formato String.
2. ColorsIOS.dart: Objeto utilizado para configurar los colores del servicio OPPWA, solo funciona
para aplicaciones iOS. Para poder utilizarlo primero se debe realizar la instancia del objeto, dicho
objeto posee un constructor que posee 16 parámetros, luego se procede serializar el objeto con el
método toJson, como se puede observar en la siguiente imagen.
Nota: este objeto puede ser modificado según las necesidades de la organización, el único detalle que se
debe respetar son las claves del JSON.
3. DataWebObj.dart: Este archivo posee las siguientes clases:
DWCheckOutReq: Esta clase nos permite crear un objeto que será utilizado para realizar el
consumo de la API de CheckOut. Este objeto se puede modificar según las necesidades de la
organización.
DWCheckOutRsp: Esta clase nos permite crear un objeto que será utilizado como respuesta al
consumo de la API de CheckOut, el formato es mandatorio y no debe ser modificado.
DWStatusReq: Esta clase nos permite almacenar temporalmente el ChechoutID devuelto del
consumo de la API de CheckOut, para un posterior uso, Este objeto puede ser modificado según
las necesidades de la organización.
DWStatusRsp: Esta clase nos permite crear un objeto que será utilizado como respuesta del
consumo de la API de status, este objeto puede ser modificado según las necesidades de la
organización.
USO
Para poder utilizar el mSDK se debe realizar los siguientes pasos:
ANDROID:
<service
android:name="com.oppwa.mobile.connect.service.ConnectService"
android:exported="false"/>
Declare dentro de la etiqueta aplicación el estilo para el CheckoutActivity, ete paso es opcional, puede
usar @style/Theme.Checkout.Light, @style/Theme.Checkout.Dark o uno personalizado en este caso
usaremos el DFTheme.
En caso de usar el estilo personalizado agregar al archivo style.xml:
2. Agregar el SDK OPPWA (Framework y Resource), para ello arrastre los dos
archivos OPPWAMobile.frameworky OPPWAMobile-Resources.bundle, a la carpeta
Frameworks, asegúrese de tener marcada la opción Copiar elementos si es necesario.
Language.swif
Constant.swift
ColorsCheckout.swift
Importar el marco OPPWA en el archivo Runner-Bridging-Header.h.
3. Para utilizar los servicios se debe utilizar el método getCheckOutId de la calse DWCheckOutRsp
y luego el método ProcessPayment de la clase DWStatusRsp, como se muestra a continuación:
IOS (OBJETIVE C)
1. Lo primero que se debe realizar es un pod install, en el directorio iOS.
2. Agregar el SDK OPPWA (Framework y Resource), para ello arrastre los dos
archivos OPPWAMobile.frameworky OPPWAMobile-Resources.bundle, a la carpeta
Frameworks, asegúrese de tener marcada la opción Copiar elementos si es necesario.
3. Verificar que las 2 configuraciones de compilación (Build Settings) estén activadas:
FlutterViewController * controller = (FlutterViewController *) self.window.rootV
iewController;
FlutterMethodChannel *nativeChannel = [FlutterMethodChannel methodChannelWit
hName: @"com.df.dataweb_flutter.paymentMethod" binaryMessenger:controller];
[nativeChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult
result) {
if ([@"getPaymentMethod" isEqualToString:call.method]){
[ self handleMethodCall: call result:result ];
}else {
result(FlutterMethodNotImplemented);
}
}];
1. Si se opta por trabajar con cocopoad lo primero que se debe realizar es un pod init y luego un pod
install, en el directorio del proyecto.
2. Agregar el SDK OPPWA (Framework y Resource), para ello arrastre los dos
archivos OPPWAMobile.frameworky OPPWAMobile-Resources.bundle, a la carpeta
Frameworks, asegúrese de tener marcada la opción Copiar elementos si es necesario.
3. Verificar que las 2 configuraciones de compilación (Build Settings) estén activadas:
4. La estructura del proyecto es la siguiente, y puede ser modificada según las necesidades de la
organización:
Grupo / Carpeta Model: Se almacenará los modelos utilizados para el demo, son objetos que se utilizan
para enviar y recibir peticiones del servidor dicho grupo puede ser modificado según las necesidades de la
organización.
CheckoutRespoonse.swift: Clase utilizada para serializar la respuesta enviada por el servidor a realizar
una solicitud de checkout.
DWCheckoutRequest.swift: Clase utilizada para armar el objeto que será enviado por método get al
servidor para solicitar un ckeckout, consta de los datos del cliente.
DWStatusRsp.swift: Clase utilizada para serializar la respuesta enviada por el servidor al realizar una
consulta de estados.
Product.swift: Clase utilizada para dibujar los item en el UITableView, (Mostrar elementos similares al
recycle view de Android, los productos que serán agregados al carrito de compras)
Constants.swif: Archivo de constantes que serán utilizados en el proyecto como valores por defecto.
Request.swift: Envia y recibe peticiones del servidor.
Utils.swift: Archivo utilizado para realizar la configuración del Checkout
HomeController.swift: Copiar o modificar el controlador según las necesidades de la organización.
ProductTableViewCell.swift: Utilizado para realizar un Custom UITableView