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/
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.
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')
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-----";
CreditCard creditCard = new CreditCard();
creditCard.setCvc("123");
creditCard.setNumber("4340948565343648");
creditCard.setExpirationMonth("12");
creditCard.setExpirationYear("2030");
creditCard.setPublicKey(PUBLIC_KEY);
try{
creditCard.encrypt();
}catch(MoipEncryptionException mee){
}
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);