braintree_native_ui 0.3.6 copy "braintree_native_ui: ^0.3.6" to clipboard
braintree_native_ui: ^0.3.6 copied to clipboard

Plugin nativo para tokenizar cartão, rodar 3DS2 e coletar device data com Braintree usando UI própria.

braintree_native_ui #

Plugin Flutter que integra o SDK oficial da Braintree para permitir a implementação de fluxos de pagamento com UI própria. Ele tokeniza cartões, executa verificações 3‑D Secure (3DS2) e coleta device data para prevenção contra fraudes sem utilizar o componente Drop-in.

Recursos #

  • Tokenização de cartão de crédito
  • Verificação 3‑D Secure 2
  • Coleta de dados do dispositivo
  • API simples em Dart utilizando Method Channels
  • Pagamentos via Google Pay e Apple Pay
  • Preparado para integração com Google Pay e Apple Pay

Instalação #

Adicione ao seu pubspec.yaml:

dependencies:
  braintree_native_ui: ^0.2.0

No iOS execute pod install após atualizar as dependências.

Uso #

final braintree = BraintreeNativeUi();

final nonce = await braintree.tokenizeCard(
  authorization: '<TOKENIZATION_KEY_OR_CLIENT_TOKEN>',
  number: '4111111111111111',
  expirationMonth: '12',
  expirationYear: '2030',
  cvv: '123',
);

final verifiedNonce = await braintree.performThreeDSecure(
  authorization: '<TOKENIZATION_KEY_OR_CLIENT_TOKEN>',
  nonce: nonce!,
  amount: '10.00',
  email: 'user@example.com',
  billingAddress: {
    'streetAddress': 'Rua 1',
    'locality': 'Sao Paulo',
    'region': 'SP',
    'postalCode': '01000-000',
    'countryCodeAlpha2': 'BR',
  },
);

final deviceData = await braintree.collectDeviceData(
  authorization: '<TOKENIZATION_KEY_OR_CLIENT_TOKEN>',
  forCard: true,
);

Capturando dados com TextFields #

final numberController = TextEditingController();
final expMonthController = TextEditingController();
final expYearController = TextEditingController();
final cvvController = TextEditingController();

// Campos de entrada personalizados
TextField(controller: numberController);
TextField(controller: expMonthController);
TextField(controller: expYearController);
TextField(controller: cvvController);

final nonce = await braintree.tokenizeCard(
  authorization: '<TOKENIZATION_KEY_OR_CLIENT_TOKEN>',
  number: numberController.text,
  expirationMonth: expMonthController.text,
  expirationYear: expYearController.text,
  cvv: cvvController.text,
);

Google Pay #

Exemplo de solicitação de pagamento com Google Pay:

final googlePayNonce = await braintree.requestGooglePayPayment(
  authorization: '<TOKENIZATION_KEY_OR_CLIENT_TOKEN>',
  amount: '10.00',
  currencyCode: 'USD',
);

Configure o gatewayMerchantId e o ambiente (TEST ou PRODUCTION) conforme a documentação do Google Pay antes de enviar para produção.

Apple Pay #

Solicitando pagamento via Apple Pay:

final applePayNonce = await braintree.requestApplePayPayment(
  authorization: '<TOKENIZATION_KEY_OR_CLIENT_TOKEN>',
  merchantIdentifier: 'merchant.com.exemplo',
  countryCode: 'US',
  currencyCode: 'USD',
  amount: '10.00',
);

Certifique-se de registrar o merchantIdentifier e definir o ambiente apropriado (sandbox ou produção) no Apple Developer.

Veja o diretório example/ para um aplicativo completo.

Desenvolvimento #

Execute os testes com:

flutter test

Licença #

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

Sobre #

Um plugin brasileiro. Lucas César Lopes

1
likes
0
points
46
downloads

Publisher

unverified uploader

Weekly Downloads

Plugin nativo para tokenizar cartão, rodar 3DS2 e coletar device data com Braintree usando UI própria.

Repository (GitHub)
View/report issues

Topics

#braintree #payments #three-d-secure #card #native

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on braintree_native_ui

Packages that implement braintree_native_ui