comienza a recibir pagos moviles en cualquier aplicacion android!

Upload: gaming-docs-collection

Post on 11-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    1/18

    Mtodo de pago basado en mensajes SMS esseguro, fcil y rpido de usar.

    Sin necesidad de ingresar tu informacin bancaria,

    ofreciendo nuestra completa cobertura de paises, estees el mtodo mas completo que puedas elegir para tusAplicaciones Android!

    Pagos Mviles para Aplicaciones Android

    http://www.paygol.com/android/implementation

    Para referencias visita nuestra seccion Android en:

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    2/18

    1 Solicitud de pago In-App 2 Acepta para confirmar tu pago

    3 Listo!

    Las Posibilidades son Ilimitadas! Una

    forma fcil y rpida de realizar tus

    pagos In-App.

    Pagos Mviles para Aplicaciones Android

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    3/18

    Por qu PayGol?

    Cuan conveniente y fcil de usar es tu actual mtodo de pago para tus clientes? Es

    obligatorio para tus usuarios entregar la informacin bancaria y nmero de tarjeta de crdito

    para comprar?

    Se sienten inseguros tus usuarios al entregar su informacin bancaria o de trajeta de crdito?

    Ser posible tener un nuevo, sencillo y eficaz mtodo de pago que no requiera entregar datos?Afortunadamente la respuesta es S!

    PayGol te entrega una nueva forma de pago usando mensajes de texto SMS. Cuando un

    usuario decide comprar un servicio, este enva el pago mediante un mensaje SMS, sin proveer

    ningn dato adicional. La tecnologa de PayGol es practica, segura, fcil de integrar y

    conveniente tanto para los desarrolladores.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    4/18

    Vista General

    En este artculo presentamos el SDK de PayGol para Android y explicamos en detalle cmo un desarrollador puede

    integrarlo fcilmente en su aplicacin Android. El SDK de PayGol para Android es una librera JAR para dispositivos

    mviles con sistema Android y es usado para hacer pagos usando mensajes SMS. La siguiente figura explica en general

    como funciona PayGol:

    Figure 1

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    5/18

    Realizando un pago usando PayGol Android SDK consiste de los siguientes pasos:

    1. Se hace una peticin(request) de pago al servidor de PayGol. Este paso es inicializado programaticamente por la integracin de la

    aplicacin y corresponde a la flecha 1 en la Figura 1.2. Si la peticin ha sido aceptada, PayGol retornar los parametros necesarios al PayGol Android SDK. Este paso corresponde a laflecha 2 en la Figura 1.

    3. Despus que una peticin de pago ha sido aceptada por el servidor de PayGol, PayGol Android SDK automaticamente ejecuta lossiguientes tres pasos:

    a. El SDK comunica programaticamente los parametros de pago que el servidor de PayGol para la integracin del software. Esta es laparte 3 de la Figura 1.

    b. El SDK despliega los parametros de pago que el servidor de PayGol ha retornado, as son desplegados al usuario final y se lepregunta si acepta pagar. Esto tambien es parte del paso 3 en la Figura 1.c. Si el usuario final acepta las condiciones de pago, el SDK procede con el envo del SMS(s) para completar el pago. Esto estmostrado como 4 en la Figura 1.

    4. El servidor de PayGol se comunica con "La red de Operadores Mviles" para verificar si el pago ha sido satisfactorio o no. Esto es el5 en la Figura 1. Este paso es ejecutado por el servidor y no es parte de la integracin de PayGol Android SDK en una aplicacin.5. Despus que el o los SMS han sido enviados por el PayGol SDK, como ltimo paso, la aplicacin de integracin debera saber si el

    pago ha sido aceptado o no. Para este propsito se hace una llamada final al servidor de PayGol. Este paso es iniciadoprogramaticamente por la aplicacin de integracin y corresponde a la flecha 6 de la Figura 1. El servidor de PayGol responde de vuelta

    con la informacin obtenida desde "La red de Operadores Mviles". Este es el paso 7 en la Figura 1.

    La siguiente seccin explica todos los pasos necesarios en detalle para configurar e integrar PayGol Android SDK en cualquier

    aplicacin Android.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    6/18

    Cmo usar el SDK de PayGol para Android?

    El PayGol Android SDK:

    1. Trabaja de forma asincrnica. Las llamadas a su interface no son por bloques. Por lo tanto PayGol

    Android SDK nunca va a causar un error ANR.

    2. Siempre trabaja en el hilo de contexto correcto. Cuando sea necesario de desplegar un popup

    (pequea pantalla emergente), ejecuta la sentencia correspondiente en la UI; de otra forma lo ejecutarde fondo. Por lo tanto un desarrollador no tiene que pensar en enviar hilos de contexto cuando realizauna llamada a los metodos de interfaz de PayGol SDK.

    La explicacin en esta seccin asume que la IDE usa Eclipse.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    7/18

    Configurar PayGol Android SDK en Eclipse

    PayGol Android SDK JAR libreria de archivos (ej.

    PayGolSDK.jar) debera ser agregado a un JAR externo a la

    ruta del Java Build:

    (Figura 2)

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    8/18

    Configurar PayGol

    Android SDK in Eclipse

    Clic en 'Properties' para abrir

    las propiedades del proyecto.

    Vaya a la pestaa 'JavaBuild

    Path' y 'Libraries'. (Figura 3) :

    Clic en 'Add External JARs' y dirijase

    donde se encuentra PayGolSDK.jarfile.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    9/18

    Agregando permisos en el AndroidManifest.xml

    Los siguientes tres permisos deberian ser agregados en AndroidManifest.xml:

    El permiso "android.permission.INTERNET" es necesario porque la conexin de internet esnecesaria para la comunicacin con el servidor de PayGol para realizar los pagos.

    El permiso "android.permission.SEND_SMS" es requerido porque el modelo de pagos est basadoen el modelo de envio de SMS.

    PayGol Android SDK adjunta el IMEI a la peticin de pagos para la transaccin nica deidentificacin. El permiso "android.permission.READ_PHONE_STATE" es necesario para leer elIMEI del telfono mvil.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    10/18

    Integrando PayGol Android SDK

    Una vez que PayGolSDK.jar ha sido configurado en la configuracin del proyecto y los permisos han sido agregados en el

    archivo manifest, estaras listo para usar PayGol Android SDK en el cdigo. Los pasos de abajo explican en detalle cada paso

    necesario a seguir. La Figura 4 despliega la secuencia de diagrama de la integracin.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    11/18

    Paso 1 Crear instancia

    Instanciar PayGol SDK object. Existen dos constructores a elegir:

    PayGolSDK(Context context)PayGolSDK(Context context, PayGolSDKConfig config)Ambos constructores toman la aplicacin como parmetro. El segundo constructor toma el objeto deconfiguracin como parmetro. Para mayor informacin con respecto al objeto de configuracin y ala configuracin de parametros por defecto por favor referirse a la seccin'PayGolSDKConfigObject'.

    Paso 2 Configurar (Opcional)

    PayGol SDK puede ser configurado despus del paso de creacin de instancias. En realidadPayGol SDK puede ser configurado en cualquier paso. Para este proposito puedes usar elsiguiente mtodo del PayGol SDK object:

    void SetPayGolSDKConfig(PayGolSDKConfig config)Para mayor informacion con respecto a la configuracion del objeto y a los parametros deconfiguracion por defecto por favor referirse a la seccion 'PayGolSDKConfigObject'.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    12/18

    Paso 3 Haciendo una solicitud de pago

    Cuando un pago debe ser realizado, es necesario realizar una peticion de pago al servidor de PayGol. Para este proposito se deberia

    llamar a MakePaymentmethod del PayGol SDK. Hay 4 posibles opciones de sobrecarga:

    void MakePayment(final PayGolSDKProduct product, final String language, final Activity activity, final

    PayGolSDKListener.OnMakePaymentListener listener)void MakePayment(final PayGolSDKProduct product, final Stringlanguage, final Activity activity, final PayGolSDKListener.OnMakePaymentListener listener, final Object userArgs)voidMakePayment(final PayGolSDKProduct product, final String language, final Activity activity, final PayGolSDKListener.OnMakePaymentListener listener, final String custom)void MakePayment(final PayGolSDKProduct product, final Stringlanguage, final Activity activity, final PayGolSDKListener.OnMakePaymentListener listener, final String custom, finalObject userArgs)

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    13/18

    PayGolSDKProduct object tiene tres miembros: tu service_id(is del servicio), price(precio) y currency(moneda)de la peticion de pago. Por favor referirse a la seccion 'PayGolSDKProduct Object'.

    El prametro language puede tener uno de los siguientes valores: en, de, fr, es, que especifica el lenguaje a ser usado en el pago (ej. el

    lenguaje mostrado al usuario final).La siguiente actividad de prametro es la actual actividad visible de tu aplicacion Android, mientras el pago esta en progreso. Este

    prametro es necesario porque PayGol SDK va a desplegar un dialogo al usuario final y se le preguntara a este si acepta las

    condiciones del pago o no. El codigo a desplegar este dialogo siempre corre en el contexto UiThread, asi que el desarrollador no tienela necesidad de pensar en cambiar este thread context. Para hacer correr un trozo de codigo en UiThread context es necesario tener

    acceso a la actividad del objeto actual desplegado. Por lo tanto es necesaria la actividad del prametro al metodo PayGolSDK.MakePayment.

    PayGolSDKListener.OnMakePaymentListener es un listener object que comunica el resultado de la peticion del pago. El paso 3.1explica PayGolSDKListener.OnMakePaymentListener mas en detalle.

    El prametro opcional custom puede ser usado para diferentes propositos. Uno de los usos tipicos es de almacenar el identificador

    unico del usuario final. Este unico identificador puede ser el id del usuario o la id de la sesion en un juego en linea, de esta manera elservidor de PayGol sabra exactamente que usuario esta comprando un servicio.Finalmente el prametro opcional userArgs es cualquier objeto que pasas a MakePayment y posteriormente recibes cuando los

    metodos onAction y onData methods de PayGolSDKListener.OnMakePaymentListener han sido invocados. Esto es muy convenienteThis is very convenient cuando deseas aumentar las peticiones de pago con mayor data para ser desplegada o procesada una vez que

    el pago ha sido realizado satisfactoriamente por ejemplo.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    14/18

    Paso 3.1 Implementar PayGolSDKListener.OnMakePaymentListener

    PayGol SDK define PayGolSDKListener.OnMakePaymentListener, el cual es una interfaz que

    deberias implementar y pasar su instancia a MakePayment una vez que has hecho una solicitud depago. La implementacion deberia anular tres metodos:

    voidvoid onAction(int which, Object userArgs)PayGol SDK invoca onAction para reportar cual es el estado del pago actual. Algunos de losescenarios tipicos son: cuando el servidor de PayGol rechaza el pago, cuando el SMS nopuede ser enviado cuando el SMS ha sido enviado. La documentacion enumera cada casocuando se llama a onAction.

    El prametro cual almacena un codigo mostrando el ultimo estado del pago.

    El prametro userArgs es el objeto de argument que pasas a MakePayment. En caso que nose haya pasado a MakePayment el argumento de objeto al usuario, entonces userArgsalmacenara null.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    15/18

    void onData(PayGolSDKProduct product, Object userArgs)El metodo onData es llamado cuando el servidor de PayGol ha aceptado la peticion de pago. Los parametros de pagolos cuales especifican cuando se ha realizado una peticion de pago (ver la seccion 'PayGolSDKProduct Object') no sonlos necesariamente aceptados por el servidor de PayGol. PayGol server, cuando es necesario, ajusta el precio ymoneda, basado en el costo de envio de SMS de acuerdo a la ubicacion del usuario final. Cuando un pago ha sido

    aceptado, onData programaticamente comunica a tu aplicacion via parametros enviados desde el servidor de PayGolque el pago ha sido aceptado.

    El prametro product es el objeto el cual almacena los parametros del pago que el servidor de PayGol ha aceptado.Para una mayor explicacion de este objeto, ver la seccion 'PayGolSDKProductObject'.Similar a onAction, el prametro userArgs es el objeto de argumento del usuario el cual pasa a MakePayment. Siningun objeto de argumento del usuario ha sido pasado a MakePayment, entonces userArgs almacena null.

    void onResult(PayGolSDKPayment payment)

    Cuando el mensaje de texto, necesario para realizar el pago, ha sido enviado satisfactoriamente, PayGol SDK invoca elmetodo onResult. Este metodo pasa a tu aplicacion un objeto PayGolSDKPayment (ej. pago) el cual es necesarioposteriormente para verificar que el pago ha sido realizado o no.Paso 4 Verificar si el pago ha sido satisfactorioUna vez que el SMS ha sido enviado satisfactoriamente y el metodo onResult de PayGolSDKListener.OnMakePaymentListener ha sido llamado, antes de considerar la transaccion como satisfactoria deberia de verificar siel pago ha sido realmente satisfactorio o no en el servidor de PayGol. Para este proposito puedes usar el metodoIsPaymentSuccessful de PayGolSDKPayment el cual lo obtienes desde onResult. IsPaymentSuccessful correperiodicamente por un especificado periodo de tiempo; si detecta que el pago ha sido satisfactorio comunicara uncodifo satisfactorio a tu aplicacion. En el caso que no pueda detectar que el pago ha sido satisfactorio antes del periodoespecificado de tiempo, comunicara un codigo de time-out. El periodo y el tiempo maximo IsPaymentSuccessful sonparte de los parametros de configuracion PayGol SDK; para mayor informacion ver la seccion 'PayGolSDKConfigObject'.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    16/18

    void IsPaymentSuccessful(PayGolSDKListener.OnIsPaymentSuccessfulListenerlistener)

    PayGolSDKListener.OnIsPaymentSuccessfulListener es un objeto listener el cualcomunica el resultadosi el pago ha sido satisfactorio o no. Mas informacion en el paso4.1.Paso 4.1 ImplementPayGolSDKListener.OnIsPaymentSuccessfulListener

    Esta es una interfaz que deberias implementar y pasar su instancia a

    IsPaymentSuccessful. La implementacion deberia anular un metodo:

    void onAction(int which, PayGolSDKPayment payment)El prametro cual almacena un codigo mostransdo si el pago ha sido satisfactorio o no.

    Finalmente, el prametro payment es un puntero del objeto PayGolSDKPayment desdeel cual el metodo IsPaymentSuccessful ha sido llamado. Esto es conveniente cuando

    deseas saber cual transaccion de on Action ha sido invocada.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    17/18

    PayGolSDKConfig Object

    PayGolSDKConfig permite a un desarrollador configurar las siguientes opciones del PayGol SDK:1. Si PayGol SDK va a generar un log de informacion o no. Este es necesario y muy util cuando depuras la integracion de PayGol SDK.

    El miembro correspondiente es PayGolSDKConfig.enableDebug y el valor por defecto es false.

    2. Si la transaccion sera realizada en modo real o pruebas. El modo real es cuando el SMS ha sido enviado para realizar un pago. Modo

    de pruebas es cuando se envia un SMS entre PayGol SDK y el servidor de PayGol. El modo de pruebas ha sido diseado y muy utildurante la fase de implementacion cuando el desarrollador necesita probar la integracion sin la necesidad de gastar creditos de su

    telefono movil. Por favor contactar a PayGol support para verificar el servicio id para usar en caso de moso de pruebas. El miembrocorrespondiente es PayGolSDKConfig.isSimulation y su valor por defecto es false.(El resto de la configuracion de parametros afecta la ejecucion de PayGolSDKPayment.IsPaymentSuccessful)

    3. El maximo de tiempo, en terminos de segundos, cuando PayGolSDKPayment.IsPaymentSuccessful se ejecuta para verificar si elcorrespondiente pago ha sido satisfactorio o no. El miembro correspondiente es PayGolSDKConfig.maxTimeControlPayment y el valor

    por defecto es 60(sesenta) segundos.

    4. El periodo base, en terminos de segundos, cuando PayGolSDKPayment.IsPaymentSuccessful se ejecuta para verificar si elcorrespondiente pago ha sido satisfactorio o no. El miembro correspondiente es PayGolSDKConfig.periodControlPayment y el valor pordefecto es 10(diez) segundos.

    5. Las diferencias de constantes del periodo base. El correspondiente miembro es PayGolSDKConfig.changePeriodControlPayment y su

    valor por defecto es 0(cero) segundos. Por ejemplo, en lugar de controlar si el pago ha sido satisfactorio o no en 10, 20, 30 veces... sideseas controlar a 10, 25, 45 veces... deberias especificar periodControlPayment=10 y changePeriodControlPayment=5.

  • 7/23/2019 Comienza a recibir pagos moviles en cualquier aplicacion android!

    18/18

    PayGolSDKProduct Object

    PayGolSDKProduct encapsula tres campos necesarios para definir un producto durante la transaccion en PayGol. Estos campos

    son service_id, price y currency. PayGolSDKProduct es pasado como un prametro a MakePayment al momento de hacer una

    peticion de pago al servidor de PayGol y recuperado en el metodo listener onData de PayGolSDKListener.OnMakePaymentListener despues de que el servidor de PayGol acepata una peticion de pago (posiblemente con ajustes de precio

    y moneda).

    Eso es todo !

    Para referencia visita nuesta seccin Android en:

    http://www.paygol.com/android/implementation