All Projects → danrcoull → vsf-payment-braintree

danrcoull / vsf-payment-braintree

Licence: MIT license
vue storefront braintree online payment gateway

Programming Languages

typescript
32286 projects
Vue
7211 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to vsf-payment-braintree

magento2
Vue Storefront 2 integration for Magento 2
Stars: ✭ 94 (+571.43%)
Mutual labels:  magento2, vue-storefront
vsf-payment-razorpay
Razorpay Payment Extension for Vue Storefront - Integrated to accept online payment
Stars: ✭ 15 (+7.14%)
Mutual labels:  magento2, vue-storefront
vsf-address-book
Customer address book extension for Vue Storefront - Integration to manage customer’s multiple addresses under my account section
Stars: ✭ 20 (+42.86%)
Mutual labels:  magento2, vue-storefront
Vue Storefront
The open-source frontend for any eCommerce. Built with a PWA and headless approach, using a modern JS stack. We have custom integrations with Magento, commercetools, Shopware and Shopify and total coverage is just a matter of time. The API approach also allows you to merge VSF with any third-party tool like CMS, payment gateways or analytics. Ne…
Stars: ✭ 9,111 (+64978.57%)
Mutual labels:  magento2, vue-storefront
magento2-checkout-custom-form
Add a custom form to Magento 2 checkout.
Stars: ✭ 95 (+578.57%)
Mutual labels:  magento2
magento2-edit-order-email
Magento2 - Edit Order Email from Admin
Stars: ✭ 30 (+114.29%)
Mutual labels:  magento2
international-telephone-input
Integration to Magento 2 a jQuery plugin for entering and validating international telephone numbers.
Stars: ✭ 26 (+85.71%)
Mutual labels:  magento2
magento2-external-checkout
Vue Storefront plugin for external checkout (https://github.com/DivanteLtd/vue-storefront/issues/895)
Stars: ✭ 17 (+21.43%)
Mutual labels:  magento2
magento2-allegro
Magento 2 Allegro Integration module
Stars: ✭ 25 (+78.57%)
Mutual labels:  magento2
m2.ShippingTweaks
Magento2. Extension hides any other shipping methods if free shipping is available.
Stars: ✭ 43 (+207.14%)
Mutual labels:  magento2
varnish-warmer-magento2
Magento2 module for handling Varnish cache (flushing, regenerating)
Stars: ✭ 55 (+292.86%)
Mutual labels:  magento2
rapidez
Headless Magento - with Laravel, Vue and Reactive Search 🚀
Stars: ✭ 31 (+121.43%)
Mutual labels:  magento2
magento-2-pronko-consulting-theme
Pronko Consulting Theme for Magento 2
Stars: ✭ 47 (+235.71%)
Mutual labels:  magento2
magento2-module-url-data-integrity-checker
Magento 2 module which can find potential url related problems in your catalog data
Stars: ✭ 218 (+1457.14%)
Mutual labels:  magento2
magento2-freeshipping-progress-bar
Add a free shipping eligibility progress bar to your Magento 2 websites cart to promote increased order value.
Stars: ✭ 37 (+164.29%)
Mutual labels:  magento2
centminmod-magento2
Magento 2.2.2 Install Guide For Centmin Mod Nginx LEMP Stacks
Stars: ✭ 16 (+14.29%)
Mutual labels:  magento2
magento2-virtual-controllers
A module which enables developers to create virtual controllers in Magento 2
Stars: ✭ 28 (+100%)
Mutual labels:  magento2
magento2-ansible-vagrant
Ⓜ️2️⃣ Ansible provisioned Ubuntu 16.04 vagrant box for Magento2 development.
Stars: ✭ 25 (+78.57%)
Mutual labels:  magento2
Magento-2-docker-configuration
Docker Configuration for Magento 2. Deploy secure, flexible and reusable docker infrastructure for Magento 2 in a matter of seconds.
Stars: ✭ 26 (+85.71%)
Mutual labels:  magento2
sync-magento-2-migration
Release of rough proof of concept from 2018 that allows to import and export millions of products quickly
Stars: ✭ 51 (+264.29%)
Mutual labels:  magento2

Vue Storefront Braintree Payment Extension

Braintree Payment module for vue-storefront, by [Daniel Coull - Sutton Silver].

Demo

Installation:

By hand (preferer):

$ git clone [email protected]:danrcoull/vsf-payment-braintree.git ./vue-storefront/src/modules/payment-braintree

Registration the Braintree module. Go to ./src/modules/client.ts

...
import { InitialResourcesModule } from '@vue-storefront/core/modules/initial-resources'
import { Braintree } from './payment-braintree';

export function registerNewModules () {
  ...
  registerModule(InstantCheckoutModule) 
  registerModule(Braintree) 
]

OR If you use Capybara VS theme. Go to ./src/themes/capybara/config/modules.ts

...
import { PaymentCashOnDeliveryModule } from 'src/modules/payment-cash-on-delivery'
import { Braintree } from 'src/modules/payment-braintree'
...
export function registerClientModules () {
  ...
  registerModule(NewsletterModule)
  registerModule(Braintree)
}

Add the endpoint to your config

  "braintree" : {
    "endpoint": "http://localhost:8080/api/ext/braintree"
  },

dependencies for built

"braintree": "^2.14.0", "braintree-web": "^3.40.0", "braintree-web-drop-in": "^1.14.1"

Braintree payment API extension

Install additional extension for vue-storefront-api:

$ cp -f ./API/braintree ../vue-storefront-api/src/api/extensions/

Add the config to your api confg

"extensions":{
   "braintree": {
      "mode": "sandbox",
      "merchantId": "your-merchant-id", ##must match magebnto
      "publicKey": "your-public-key", ##must match magento
      "privateKey": "your-private-key" ##must match magento
    },
}

And enable Braintree extension in the config, by adding it to registeredExtensions array

"registeredExtensions": [
    "braintree"
]

Add Braintree Drop-in UI to your theme

If you use Classic VS theme:

Under your theme components/core/blocks/Checkout/OrderReview.vue add the following import to your script

import BraintreeDropin from 'src/modules/payment-braintree/components/Dropin'

export default {
  components: {
    BaseCheckbox,
    ButtonFull,
    CartSummary,
    Modal,
    ValidationError,
    BraintreeDropin
  }
}

And within the template after cart-summary add the following

<div class="payment">
   <braintree-dropin v-if="payment.paymentMethod === 'braintree'"/>
</div>

If you use Capybara VS theme:

Under your theme components/organisms/o-confirm-order.vue add the following import to your script

import BraintreeDropin from 'src/modules/payment-braintree/components/Dropin'

export default {
  components: {
    BraintreeDropin
  }
}

And add the following code before "Place the order" button

<div class="payment">
   <braintree-dropin v-if="paymentMethod === 'Braintree'"/>
</div>

Buy Me A Coffee

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].