Braintree Payment

Available for Android and IOS

Braintree Payment plugin for Flutter apps by Deligence Technologies. This plugin lets you integrate Braintree DropIn payment UI in just 4 easy steps.

Minimum Requirements

Android : To use this plugin you must migrate to AndroidX and set your minSdkVersion to at least 21.

Steps to Enable Payment

Step 1- To enable the payment support follow below given steps:

Paypal

Android:

To add support for Paypal Payment add below lines inside AndroidManifest.xml.

    <activity android:name="com.braintreepayments.api.BraintreeBrowserSwitchActivity"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="${applicationId}.braintree" />
        </intent-filter>
    </activity>

IOS:

To add support for Paypal Payment on IOS. 

Basic insturctions from braintree:

1. Register URL Type
2. Update application delegate to setReturnUrlScheme
3. Update application delegate to pass the payment authorization URL to Braintree for finalization

For Detailed instuction follow steps here :- https://developers.braintreepayments.com/guides/paypal/client-side/ios/v4

Google Pay

To add support for Google Pay add below lines inside AndroidManifest.xml.

<meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true"/>

Step 2- Import the plugin:

import 'package:braintree_payment/braintree_payment.dart';

Step 3- Create a object of BraintreePayment and pass Client nonce.

String clientNonce = " GET YOUR CLIENT NONCE FROM THE YOUR SERVER";

BraintreePayment braintreePayment = new BraintreePayment();
var data = await braintreePayment.showDropIn(
        nonce: clientNonce, amount: "2.0", enableGooglePay: true);

Step 4- Variable data will have the payment nonce. Send the paymne nonce to the server for further processing of the payment:

var data = await braintreePayment.showDropIn(
        nonce: clientNonce, amount: "2.0", enableGooglePay: true);
print("Response of the payment $data");

// In case of success
//{"status":"success","message":"Payment successful. Send the payment nonce to the server for the further processing.":"paymentNonce":"jdsfhedbyq772_34dfsf"}

// In case of Failure
//{"status":"fail","message":"User canceled the payment"}

Screenshot

Libraries

braintree_payment