Giter Site home page Giter Site logo

commerce-braintree's Introduction

Braintree for Craft Commerce icon

Braintree for Craft Commerce

This plugin provides a Braintree integration for Craft Commerce.

Features

  • Merchant Accounts: supports Braintree's merchant accounts for multiple payment currencies.
  • Subscriptions: support subscription integration.
  • DropinUi: Braintree's dropinUi is the default for getPaymentFromHTML() method.
  • Supports 3DSecure 2.
  • Supports Paypal, Apple Pay & Google Pay.
  • Vault: Supports Braintree's vault for securely storing payment details.

Requirements

This plugin requires Craft Commerce 2.0.0-alpha.5 or later.

Installation

You can install this plugin from the Plugin Store or with Composer.

From the Plugin Store

Go to the Plugin Store in your project’s Control Panel and search for Braintree for Craft Commerce”. Then click on the “Install” button in its modal window.

With Composer

Open your terminal and run the following commands:

# go to the project directory
cd /path/to/my-project.test

# tell Composer to load the plugin
composer require kuriousagency/commerce-braintree

# tell Craft to install the plugin
./craft install/plugin commerce-braintree

Setup

To add the Braintree payment gateway, go to Commerce → Settings → Gateways, create a new gateway, and set the gateway type to “Braintree”.

Payment security enforcement

This plugin does not allow submitting credit card details directly to Braintree gateway. Instead, you must tokenize the card before submitting the payment form. Calling the default getPaymentFormHtml() method on the gateway will automatically use Braintree's DropinUI interface and tokenize the payment details. If you wish to have control over the dropinUi options or would prefer to use Braintree's HostedFields instead, you will need to manually add the fields and javascript instead of using the default method.

3D secure payments

To allow 3D Secure payments, you must enable it in your Braintree account, then pass in the optional parameter into the getPaymentFormHtml() method. Default: false

gateway.getPaymentFormHtml({threeDSecure:true})

Options

These are options that can be passed into the default getPaymentFormHtml() method.

Store Name

This will set the store name for paypal, google pay & apple pay. Default: siteName

gateway.getPaymentFormHtml({storeName:'My WebSite'})

Translations

This will allow the setting of the dropinUi translations: Examples

gateway.getPaymentFormHtml({translations:{chooseAWayToPay:'Choose a way to pay'}})

Vault

This allows the payment details to be store in Braintree's Vault, not the website. The DropinUi will display all saved payment methods. Default: false

gateway.getPaymentFormHtml({vault:true})

If you would like to allow the management of vaulted payment methods, then pass in the manage option. Default: false

gateway.getPaymentFormHtml({manage:true})

Subscriptions

Creating a subscription plan

  1. To create a subscription plan, it must first be created within your Braintree account.
  2. Go to Commerce → Settings → Subscription plans and create a new subscription plan.

Options when subscribing

Trial Days

Trial days are setup as part of the plan within Braintree.

Options when switching between different subscription plans

The prorate parameter

If this parameter is set to true, the subscription switch will be prorated.

Commerce Braintree Roadmap

Some things to do, and ideas for potential features:

  • Show discounts
  • Support Add-ons

Brought to you by Kurious Agency

commerce-braintree's People

Contributors

mcjackson18 avatar samuelbirch avatar benface avatar jerseyco avatar brandonkelly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.