Your SlideShare is downloading. ×
Pagos moviles via sms para cualquier aplicacion Android usando PayGol
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Pagos moviles via sms para cualquier aplicacion Android usando PayGol

5,368

Published on

Integra la posibilidad de aceptar pagos moviles en tu aplicacion Android usando PayGol.com

Integra la posibilidad de aceptar pagos moviles en tu aplicacion Android usando PayGol.com

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
5,368
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Pagos Móviles para Aplicaciones AndroidMétodo de pago basado en mensajes SMS esseguro, fácil y rápido de usar.Sin necesidad de ingresar tu información bancaria,ofreciendo nuestra completa cobertura de paises, estees el método mas completo que puedas elegir para tusAplicaciones Android! Para referencias visita nuestra seccion Android en: http://www.paygol.com/android/implementation
  • 2. Pagos Móviles para Aplicaciones Android 1 Solicitud de pago In-App 2 Acepta para confirmar tu pago Las Posibilidades son Ilimitadas! Una forma fácil y rápida de realizar tus pagos In-App. 3 Listo!
  • 3. ¿Por qué PayGol?¿Cuan conveniente y fácil de usar es tu actual método de pago para tus clientes? ¿Esobligatorio para tus usuarios entregar la información bancaria y número de tarjeta de créditopara comprar?¿Se sienten inseguros tus usuarios al entregar su información bancaria o de trajeta de crédito?¿Será posible tener un nuevo, sencillo y eficaz método 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 unusuario decide comprar un servicio, este envía el pago mediante un mensaje SMS, sin proveerningún dato adicional. La tecnología de PayGol es practica, segura, fácil de integrar yconveniente tanto para los desarrolladores.
  • 4. Vista General En este artículo presentamos el SDK de PayGol para Android y explicamos en detalle cómo un desarrollador puede integrarlo fácilmente en su aplicación Android. El SDK de PayGol para Android es una librería JAR para dispositivos móviles con sistema Android y es usado para hacer pagos usando mensajes SMS. La siguiente figura explica en general como funciona PayGol: Figure 1
  • 5. Realizando un pago usando PayGol Android SDK consiste de los siguientes pasos:1. Se hace una petición(request) de pago al servidor de PayGol. Este paso es inicializado programaticamente por la integración de laaplicación y corresponde a la flecha 1 en la Figura 1.2. Si la petición ha sido aceptada, PayGol retornará los parametros necesarios al PayGol Android SDK. Este paso corresponde a laflecha 2 en la Figura 1.3. Después que una petición 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 integración 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 envío del SMS(s) para completar el pago. Esto estámostrado como 4 en la Figura 1.4. El servidor de PayGol se comunica con "La red de Operadores Móviles" 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 integración de PayGol Android SDK en una aplicación.5. Después que el o los SMS han sido enviados por el PayGol SDK, como último paso, la aplicación de integración debería saber si elpago ha sido aceptado o no. Para este propósito se hace una llamada final al servidor de PayGol. Este paso es iniciadoprogramaticamente por la aplicación de integración y corresponde a la flecha 6 de la Figura 1. El servidor de PayGol responde de vueltacon la información obtenida desde "La red de Operadores Móviles". Este es el paso 7 en la Figura 1.La siguiente sección explica todos los pasos necesarios en detalle para configurar e integrar PayGol Android SDK en cualquieraplicación Android.
  • 6. ¿Cómo usar el SDK de PayGol para Android?El PayGol Android SDK:1. Trabaja de forma asincránica. Las llamadas a su interface no son por bloques. Por lo tanto PayGolAndroid SDK nunca va a causar un error ANR.2. Siempre trabaja en el hilo de contexto correcto. Cuando sea necesario de desplegar un popup(pequeña pantalla emergente), ejecuta la sentencia correspondiente en la UI; de otra forma lo ejecutaráde 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 explicación en esta sección asume que la IDE usa Eclipse.
  • 7. Configurar PayGol Android SDK en EclipsePayGol Android SDK JAR libreria de archivos (ej.PayGolSDK.jar) debería ser agregado a un JAR externo a laruta del Java Build:(Figura 2)
  • 8. Configurar PayGolAndroid SDK in EclipseClic en Properties para abrirlas propiedades del proyecto.Vaya a la pestaña JavaBuildPath y Libraries. (Figura 3) :Clic en Add External JARs y dirijasedonde se encuentra PayGolSDK.jarfile.
  • 9. Agregando permisos en el AndroidManifest.xmlLos siguientes tres permisos deberian ser agregados en AndroidManifest.xml:<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.SEND_SMS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" />El permiso "android.permission.INTERNET" es necesario porque la conexión de internet esnecesaria para la comunicación 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 petición de pagos para la transacción única deidentificación. El permiso "android.permission.READ_PHONE_STATE" es necesario para leer elIMEI del teléfono móvil.
  • 10. Integrando PayGol Android SDKUna vez que PayGolSDK.jar ha sido configurado en la configuración del proyecto y los permisos han sido agregados en elarchivo manifest, estaras listo para usar PayGol Android SDK en el código. Los pasos de abajo explican en detalle cada pasonecesario a seguir. La Figura 4 despliega la secuencia de diagrama de la integración.
  • 11. Paso 1 – Crear instanciaInstanciar PayGol SDK object. Existen dos constructores a elegir:PayGolSDK(Context context)PayGolSDK(Context context, PayGolSDKConfig config)Ambos constructores toman la aplicación como par´metro. El segundo constructor toma el objeto deconfiguración como parámetro. Para mayor información con respecto al objeto de configuración y ala configuración de parametros por defecto por favor referirse a la secciónPayGolSDKConfigObject.Paso 2 – Configurar (Opcional)PayGol SDK puede ser configurado después del paso de creación de instancias. En realidadPayGol SDK puede ser configurado en cualquier paso. Para este proposito puedes usar elsiguiente método 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.
  • 12. Paso 3 – Haciendo una solicitud de pagoCuando un pago debe ser realizado, es necesario realizar una peticion de pago al servidor de PayGol. Para este proposito se deberiallamar a MakePaymentmethod del PayGol SDK. Hay 4 posibles opciones de sobrecarga:void MakePayment(final PayGolSDKProduct product, final String language, final Activity activity, finalPayGolSDKListener.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)
  • 13. 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 párametro language puede tener uno de los siguientes valores: en, de, fr, es, que especifica el lenguaje a ser usado en el pago (ej. ellenguaje mostrado al usuario final).La siguiente actividad de párametro es la actual actividad visible de tu aplicacion Android, mientras el pago esta en progreso. Estepárametro es necesario porque PayGol SDK va a desplegar un dialogo al usuario final y se le preguntara a este si acepta lascondiciones 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 teneracceso a la actividad del objeto actual desplegado. Por lo tanto es necesaria la actividad del párametro 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 párametro opcional custom puede ser usado para diferentes propositos. Uno de los usos tipicos es de almacenar el identificadorunico 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 párametro opcional userArgs es cualquier objeto que pasas a MakePayment y posteriormente recibes cuando losmetodos 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 queel pago ha sido realizado satisfactoriamente por ejemplo.
  • 14. Paso 3.1 – Implementar PayGolSDKListener.OnMakePaymentListenerPayGol SDK define PayGolSDKListener.OnMakePaymentListener, el cual es una interfaz quedeberias 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 párametro cual almacena un codigo mostrando el ultimo estado del pago.El párametro 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.
  • 15. 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 sidoaceptado, onData programaticamente comunica a tu aplicacion via parametros enviados desde el servidor de PayGolque el pago ha sido aceptado.El párametro 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 párametro 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.
  • 16. 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.OnIsPaymentSuccessfulListenerEsta es una interfaz que deberias implementar y pasar su instancia aIsPaymentSuccessful. La implementacion deberia anular un metodo:void onAction(int which, PayGolSDKPayment payment)El párametro cual almacena un codigo mostransdo si el pago ha sido satisfactorio o no.Finalmente, el párametro payment es un puntero del objeto PayGolSDKPayment desdeel cual el metodo IsPaymentSuccessful ha sido llamado. Esto es conveniente cuandodeseas saber cual transaccion de on Action ha sido invocada.
  • 17. PayGolSDKConfig ObjectPayGolSDKConfig 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. Modode pruebas es cuando se envia un SMS entre PayGol SDK y el servidor de PayGol. El modo de pruebas ha sido diseñado y muy utildurante la fase de implementacion cuando el desarrollador necesita probar la integracion sin la necesidad de gastar creditos de sutelefono 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 valorpor 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 suvalor 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.
  • 18. PayGolSDKProduct ObjectPayGolSDKProduct encapsula tres campos necesarios para definir un producto durante la transaccion en PayGol. Estos camposson service_id, price y currency. PayGolSDKProduct es pasado como un párametro a MakePayment al momento de hacer unapeticion 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 precioy moneda).Eso es todo !Para referencia visita nuesta sección Android en: http://www.paygol.com/android/implementation

×