Magento 2 Quickbooks Payments

 

Magento 2 Quickbooks Payments enables the integration of Magento 2 with Intuit's Quickbooks payment gateway to accept secure online payments.

 

Table of Content

  1. Extension Installation Guide
  2. Payment Gateway Configuration
  3. Configuration
  4. QuickBooks Payments in Frontend
  5. QuickBooks Payment Details in Order View Backend
  6. QuickBooks Payment Method for Backend Order
  1. Extension Installation
  • For Magento Marketplace Customers
    • Find the Composer name and version of the extension in the extension’s composer.json file.
    • Login to your SSH and run:
      • composer require meetanshi/magento-2-quickbooks-payments --ignore-platform-reqs
      • composer require quickbooks/v3-php-sdk --ignore-platform-reqs
    • Enter your authentication keys. Your public key is your username; your private key is your password.
    • Wait for Composer to finish updating your project dependencies and make sure there aren’t any errors.
    • To verify that the extension installed properly, run the command:
      • php bin/magento module:status Meetanshi_QBMSPayment
          • By default, the extension is probably disabled.
          • Enable the extension and clear static view files:
      • php bin/magento module:enable Meetanshi_QBMSPayment --clear-static-content
      • php bin/magento setup:upgrade
      • For Magento version 2.0.x to 2.1.x - php bin/magento setup:static-content:deploy
      • For Magento version 2.2.x & above - php bin/magento setup:static-content:deploy –f
    • php bin/magento cache:flush
       
  • For Meetanshi Customers
  • Extract the zip folder and upload our extension to the root of your Magento 2 directory via FTP.
  • Login to your SSH and run below commands step by step:
  • composer require quickbooks/v3-php-sdk --ignore-platform-reqs
  • php bin/magento setup:upgrade
  • For Magento version 2.0.x to 2.1.x - php bin/magento setup:static-content:deploy
  • For Magento version 2.2.x & above - php bin/magento setup:static-content:deploy –f
  • php bin/magento cache:flush

Note: Make sure to configure the cron job to make the extension work smoothly.

 

  1. Payment Gateway Configuration
    Prior to configuring the extension, you need to configure the payment gateway for the API connection.
  • First of all, go to https://developer.intuit.com/app/developer/homepage and login to your QuickBooks account. Move to the dashboard where you can find apps if you have already added. Click “Create an App” to create a new app for the payment gateway integration.

  • Select the platform for the app as “QuickBooks Online and Payments”.

  • Enter app name, select the scope as Payments (US Only) and click “Create App”.

 

  • Once the app has been created, you can see it saved and listed in dashboard. Click on the payment app you created to get the client ID, client secret and add redirect URL.

  • From the app page, click on “Keys and Credentials” under the development/production mode based on the app you have created for. The values under the client ID and client secret fields need to be copied and added to your Magento 2 extension configuration. Also, add the redirect URL as https://yoursite.com/qbmspayment/connection/success and click Save.

  1. Configuration
    For configuring the extension, login to Magento 2, move to Stores > Configuration > Sales > Payment Methods > QuickBooks Payments - Meetanshi, where you can find various settings to configure the extension.
  • Enabled: Enable or disable QuickBooks Payments extension from here.
  • Title: Enter title for the QuickBooks Payment method to show in frontend.
  • Show QuickBooks Payment Logo: Select YES to show QuickBooks logo on the checkout page in the frontend.
  • Sandbox Mode: Set YES to enable sandbox mode for the payment gateway.
  • Client ID: Enter the client ID you have copied from the QuickBooks admin panel.
  • Client Secret: Enter the client secret you have copied from the QuickBooks admin panel.
  • Payment Action: Select one of the payment actions for the payment capture.
    • Authorize: Authorizes and validates card for the order amount. The admin has to manually capture the amount (by generating invoice using “Capture Online” option) within the authorization hold period which is 1 to 5 business days for QuickBooks payments.
    • Authorize and Capture: Authorizes and captures the order amount immediately.
  • Payment from Applicable Countries: Select countries to allow the use of payment method.
  • Debug: Select YES to enable debug.
  • Instructions: Enter additional instructions to show on the checkout page in the frontend.
  • Minimum Order Total: Enter the minimum order total to allow the use of the payment method.
  • Maximum Order Total: Enter the minimum order total to allow the use of the payment method.
  • Sort Order: Enter sort order of the payment method.


 

  • After configuring the settings, save the configuration and click “Connect to QuickBooks” for the API connectivity. You will get a new window to sign in with the QuickBooks credentials and once you are signed in, the API will be connected successfully.


  

  • After the API gets connected, close the window and refresh the Magento 2 configuration page and you can see the “Connection Status” as connected.


  

  1. QuickBooks Payments in Frontend
    Once the extension is configured, it can be seen enabled on the frontend. Simply add products to cart and at checkout, you can see payment method enabled. Select it, add card details and click to finish payment and place order.


  

  • QuickBooks Payment Details in My Account Section
    Immediately after the order is placed, the QuickBooks payment details can be seen in order view under My Account section.


  

  1. QuickBooks Payment Details in Order View Backend
    Apart from My Account section, QuickBooks payment details can be found in the Sales > Orders > Order View section in the backend.


  

  1. QuickBooks Payment Method for Backend Order
    Just as frontend, QuickBooks payment method also works with backend orders. Admin needs to create a new order and select QuickBooks payment method, add card details and click submit order to place an order from backend using the QuickBooks payment method.