Evaluando propuestas

Pos virtual

Publicado el 17 Noviembre, 2017 en Programación y Tecnología

Sobre este proyecto

Abierto

Quiero colocar este código en una aplicación para android para que funcione como punto de venta virtual

las siguiere información debería estar en variables para introducirlas desde los ajustes
("http://localhost:8080/cyclos");
("Amount: ");

los campos
("Login name: ");
("PIN: ");

correspondiente a la persona que esta realizando el pago deseo poder cargarlos escaneado un código Qr para el nombre y luego se habilite de nuevo el código qr para escanear el pin

eso quiere decir que en una tarjeta tendré dos código qr y no sera necesario introducir el monto ya que sera un monto fijo configurado en los ajustes solo escanear ambos códigos para procesar el pago

cuando se escanea y el código es capturado se produce un sonido que avisa que el código fue capturado correctamente deseo que si capturo barias beses el mismo código se sume la cantidad de dinero  solo si se escanea el mismo código si se escanea otro código se borre el moto del primero y cargue el otro código luego de escanear le código las beses que deseo sumarle  escaneado el código reverso pin de 4 dígitos se procese el pago y emita un pequeño sonido muy bajo que avise con sonidos escalonados por segundos que esta procesando el pago y al regresar la respuesta del servidor si el pago es procesado emita un sonido de caja de dinero, si la respuesta del pago es no procesada emita un sonido de error esto a la par de las informaciones corresponderte en pantalla

la apariencia estética sera en la parte superior una pequeña pantalla donde se visualice la información y donde se visualicen los datos introducidos por el qr en la parte inferior un teclado numérico similar a un pos  para introducir la información manualmente si fuese necesario

la información se iría cargado por parte es decir primero solo en la pantalla se mostraría el campo para introducir el usuario que seria un numero al pisar enter o si es por el qr pasaría a la siguiente ventana donde mostraría el campo para introducir el pin al introducir el pin o escanear el qr del pin se enviaría el monto ya pre configurado con los datos al servidor y estaría un mensaje de procesando en pantalla. Al regresar la respuesta se mostraría en pantalla la respuesta dada por el servidor

ajunto aquí el código ejemplo para el desarrollo de dicha aplicación y la pagina de la wiki con mas información




Then, this code should run when using this member to perform the payment.
// The factory should be cached and shared between calls
CyclosWebServicesClientFactory factory = new CyclosWebServicesClientFactory();
factory.setServerRootUrl("http://localhost:8080/cyclos");
PaymentWebService paymentWebService = factory.getPaymentWebService();

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
PaymentParameters params = new PaymentParameters();

// Prompt the parameters
System.out.print("Amount: ");
params.setAmount(new BigDecimal(in.readLine()));
System.out.print("Login name: "); //This user should have the channel set as enabled
params.setFromMember(in.readLine());
System.out.print("PIN: ");
params.setCredentials(in.readLine());

// Perform the payment
PaymentResult result = paymentWebService.doPayment(params);
switch (result.getStatus()) {
    case PROCESSED:
        String transactionNumber = result.getTransfer().getTransactionNumber();
        System.out.println("The payment was successful. The transaction number is " + transactionNumber);
        break;
    case PENDING_AUTHORIZATION:
        System.out.println("The payment is awaiting authorization");
        break;
    case INVALID_CHANNEL:
        System.out.println("The given user cannot access this channel");
        break;
    case INVALID_CREDENTIALS:
        System.out.println("You have entered an invalid PIN");
        break;
    case BLOCKED_CREDENTIALS:
        System.out.println("Your PIN is blocked by exceeding trials");
        break;
    case INVALID_PARAMETERS:
        System.out.println("Please, check the given parameters");
        break;
    case NOT_ENOUGH_CREDITS:
        System.out.println("You don't have enough funds for this payment");
        break;
    case MAX_DAILY_AMOUNT_EXCEEDED:
        System.out.println("You have already exceeded the maximum amount today");
        break;
    default:
        System.out.println("There was an error on the payment: " + result.getStatus());


fuente: código abierto

https://wiki3.cyclos.org/index.php/Web_services/Perform_Payment
https://wiki3.cyclos.org/index.php?title=Web_services

Categoría Programación y Tecnología
Subcategoría Programación de Apps. Android, iOS y otros
¿Cuál es el alcance del proyecto? Crear una aplicación nueva
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Payment Processor (Paypal, Stripe, etc.)
Plataformas requeridas Android

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por C. M.