wirecardBrasil / moip-encryption-sdk-android

Cliente Android para integração com as APIs v2 Moip, possibilita a criptografia de dados sensíveis de cartão de crédito.
20 stars 6 forks source link

Mobile SDK Android (Beta)

Com o MoipSDK você pode receber pagamentos no seu aplicativo sem se preocupar com criptografia e de uma maneira fácil e simples.

Antes iniciar a integração de seu aplicativo com o SDK Mobile Android, entre no site do Moip. Lá você encontrará os primeiros passos para criar sua conta Moip. https://moip.com.br/moip-apps/


Release Notes

Versão 1.0 Beta 10 -17/04/2015
Versão 1.0 Beta 9 -19/03/2015
Versão 1.0 Beta 8 -26/02/2015
Versão 1.0 Beta 7 - 04/02/2015
Versão 1.0 Beta 6 - 09/12/2014
Versão 1.0 Beta 5 - 03/09/2014
Versão 1.0 Beta 4 - 26/08/2014
Versão 1.0 Beta 3 - 24/08/2014
Versão 1.0 Beta 2 - 22/08/2014
Versão 1.0 Beta 1 - 21/08/2014

Como usar a SDK Android

Estamos trabalhando para disponibilizar o quanto antes o SDK Android sample, mas você já pode se familiarizar com sua estrutura.

Veja abaixo o tutorial passo-a-passo como integrar com a SDK para Android.

1 - Dependências da SDK

Para utilizar a SDK do Moip, antes é preciso adicionar as dependencias dela e o jar do moip-encryption. Há um zip com as depêndencias neste repositório. Caso utilize o gradle adicione apenas as seguintes linhas.

    compile 'com.madgag.spongycastle:pkix:1.51.0.0'

Adicione o arquivo moip-encryption.aar dentro da pasta libs de seu projeto e em seu build.gradle:

    repositories {
        flatDir {
            dirs 'libs'
        }
    }

E compile o sdk de criptografia:

    compile(name: 'moip-encryption', ext: 'aar')

2 - Criando o Cartão de Crédito

2.1 - Chave pública
     final String PUBLIC_KEY = "-----BEGIN PUBLIC KEY-----\n"+
        "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoBttaXwRoI1Fbcond5mS\n"+
        "7QOb7X2lykY5hvvDeLJelvFhpeLnS4YDwkrnziM3W00UNH1yiSDU+3JhfHu5G387\n"+
        "O6uN9rIHXvL+TRzkVfa5iIjG+ap2N0/toPzy5ekpgxBicjtyPHEgoU6dRzdszEF4\n"+
        "ItimGk5ACx/lMOvctncS5j3uWBaTPwyn0hshmtDwClf6dEZgQvm/dNaIkxHKV+9j\n"+
        "Mn3ZfK/liT8A3xwaVvRzzuxf09xJTXrAd9v5VQbeWGxwFcW05oJulSFjmJA9Hcmb\n"+
        "DYHJT+sG2mlZDEruCGAzCVubJwGY1aRlcs9AQc1jIm/l8JwH7le2kpk3QoX+gz0w\n"+
        "WwIDAQAB\n"+
        "-----END PUBLIC KEY-----";
2.2 - Objeto CreditCard
    CreditCard creditCard = new CreditCard();
        creditCard.setCvc("123");
        creditCard.setNumber("4340948565343648");
        creditCard.setExpirationMonth("12");
        creditCard.setExpirationYear("2030");
        creditCard.setPublicKey(PUBLIC_KEY);

3 - Criptografando o cartão

    try{
        creditCard.encrypt();
    }catch(MoipEncryptionException mee){

    }

Validações

O SDK Moip contém diversas validações para checar os dados de cartão.

    MoipValidator.isValidMonth(MONTH);
    MoipValidator.isValidYear(YEAR);
    MoipValidator.isValidCreditCard(CREDIT_CARD_NUMBER);
    MoipValidator.isValidCVC(CVC_NUMBER);

O SDK Moip também contém métodos para verificarem a bandeira do cartão.

    CreditCardBrand brand = MoipValidator.verifyBrand(CREDIT_CARD_NUMBER);

Também é possivel verificar a bandeira do cartão com apenas os 4 primeiros dígitos.

    CreditCardBrand brand = MoipValidator.quicklyBrand(CREDIT_CARD_NUMBER);