Stripe Payments for Magento 2

Overview

Magento 2 Stripe Integration

Build Status Coverage Status Latest Stable Version Total Downloads License

Accept credit card payments through the Stripe payment gateway.

  • Supports Magento Instant Purchase for One Click Checkout
  • Securely accept customer payments using the Stripe.js tokenization when collecting all payments.
  • Provide customers option of storing payment information for future transactions.
  • Stored customer card information can be used for orders created in the frontend or backend.
  • Stored cards deleted by customer in Magento are also removed from the corresponding Stripe customer profile.
  • New payments can be authorize or authorize and capture.
  • Authorized payments can be captured online during invoice creation.
  • Full and partial refund support when creating credit memos.
  • 3D Secure support for one-time and vault payments

Installation

Composer

In your Magento 2 root directory run
composer require pmclain/module-stripe
bin/magento setup:upgrade

Magento Version Requirements

Release Magento Version
2.1.x >=2.2.5
2.0.x 2.2.0-2.2.4
1.x.x   2.1.x          
None 2.0.x

Configuration

The configuration can be found in the Magento 2 admin panel under
Store->Configuration->Sales->Payment Methods->Stripe

Feature Roadmap

There is no ETA for implementation, but here is the list in order of priority.

  1. Multi-shipping address support
  2. Stripe Radar

Testing and Local Development

WARNING The docker setup included is intended for local development only.

Local Development

cd ./dev
docker-compose up -d docker-compose exec app module-installer
docker-compose exec app magento-installer

Create the host entry 127.0.0.1 stripe.docker

Execute Tests

  • Setup
    docker-compose -f dev/docker-compose.yml up -d
    docker-compose -f dev/docker-compose.yml exec app module-installer
  • Unit - docker-compose -f dev/docker-compose.yml exec app test-unit
  • Integration - docker-compose -f dev/docker-compose.yml exec app test-integration
  • Acceptance - docker-compose -f dev/docker-compose.yml exec app test-acceptance

License

Open Software License v3.0

Comments
  • installation issue

    installation issue

    i am trying to install extension but its giving me error of URL authentication through composer please check the screenshot. Can you please help rectify this issue. Thanks fullsize_distr

    question 
    opened by terrybakshi 13
  • Order Cancellation Failed

    Order Cancellation Failed

    I created an order using my own card details to troubleshoot problems with API key error messages. The stripe plugin 'Payment Action' is set to 'Authorize Only' so that orders can be cancelled before payment is fully processed via Stripe.

    When trying to cancel the order in Magento I get a message saying 'You have not cancelled the order' then subsequent attempts to cancel the order then result in an error 'Charge xxx has already been refunded.' where xxx = the Stripe transaction reference. It would seem that the first attempt to cancel does indeed cancel the stripe transaction but then does not complete the Magento cancellation process, therefore leaving an order stuck in the Processing state and unable to cancel.

    opened by TandyCorp 7
  • Guests cannot checkout

    Guests cannot checkout

    I am getting a response in console " https://mydomainxxx.co.uk/rest/default/V1/guest-carts/0ea6a2d913c8bede97ebec8f8399bc6a/payment-information" Not found 500 error. This happens after I click on Place order.

    The jquery stop is at : xhr.send( ( options.hasContent && options.data ) || null );

    The actual order is sent to Stripe by the way but the order is not listed in backend and process is stuck on frontend without any warning message but a red bar.

    Nothing in debug also. My ver. is 2.2.3

    opened by viktordodev 7
  • Bill-to and Payment Method Not Being Set For Invoices

    Bill-to and Payment Method Not Being Set For Invoices

    Hi there,

    We're having a bit of a strange issue where when using the Stripe payment method on our Magento 2.1.11 site the Bill-to and Payment Method fields are not being populated. When testing this with other payment methods the data is set correctly.

    This occurs not only on the Invoice admin grid but also when viewing the individual invoice. The billing address does appear to be set.

    These orders are for virtual products which might be causing part of the issue?

    Also to note in our test environment our admin users are using the en_US locale with the frontend being en_GB, which possibly could cause currency issues but that shouldn't be an issue I'd of thought.

    Any ideas?

    image

    Magento 2.0 Core Bug Magento 2.1 Core Bug 
    opened by performadigital 7
  • Version 0.0.3 not support Magento version 2.0.15

    Version 0.0.3 not support Magento version 2.0.15

    Hi Pmclain,

    This module is very helpful but there is difficulty for me. As I investigate the 0.0.3 and Magento 2.0.15. Magento doesn't contain Magentuo_Vault and some elements. If I go to checkout, the page become blank and show error.

    After I remove the Magento_Vault and try to put back <!-- ko template: 'Magento_Payment/payment/cc-form' --><!-- /ko --> to the form, the page works. However, at the payment page it returns an error. Failed to load resource: the server responded with a status of 400 (Bad Request) It fail to post JSON to the '/guest-carts/:quoteId/payment-information' and '/carts/mine/payment-information' page.

    Thank you

    Regards, Tommy

    question 
    opened by mcpeace 7
  • composer wont find anything to install

    composer wont find anything to install

    hello,

    i ve tried to install it with the composer command you gave but the below message is what i get with no installation. I have magento 2.1.9, can you please advise?

    thank you!

    Using version ^1.1 for pmclain/module-stripe
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Nothing to install or update
    Package fabpot/php-cs-fixer is abandoned, you should avoid using it. Use friendsofphp/php-cs-fixer instead.
    Package sjparkinson/static-review is abandoned, you should avoid using it. Use phpro/grumphp instead.
    Generating autoload files
    

    also when i run composer require stripe/stripe-php i get:

    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - pmclain/module-stripe 1.1.0 requires stripe/stripe-php ~5.8.0 -> satisfiable by stripe/stripe-php[v5.8.0] but these conflict with your requirements or minimum-stability.
        - pmclain/module-stripe 1.1.0 requires stripe/stripe-php ~5.8.0 -> satisfiable by stripe/stripe-php[v5.8.0] but these conflict with your requirements or minimum-stability.
        - pmclain/module-stripe 1.1.0 requires stripe/stripe-php ~5.8.0 -> satisfiable by stripe/stripe-php[v5.8.0] but these conflict with your requirements or minimum-stability.
        - Installation request for pmclain/module-stripe ^1.1 -> satisfiable by pmclain/module-stripe[1.1.0].
    
    
    Installation failed, reverting ./composer.json to its original content.
    
    opened by Monahister 7
  • Fatal error: Trait

    Fatal error: Trait

    I have installed the stripe plugin for my website which I am building. It was working fine for the past few days and suddenly I have received an error when I tried to compile the project. The error is the following

    Fatal error: Trait 'Pmclain\Stripe\Helper\Payment\Formatter' not found in /var/www/html/web_dms_ecommerce/vendor/pmclain/module-stripe/src/Model/Adapter/Payment/FormatterTest.php on line 23

    question 
    opened by karthick-spartan 6
  • Existing customers unable to checkout

    Existing customers unable to checkout

    Hi Patrick

    An interesting problem has cropped up that I have struggled to track down. Some existing customers who are registered on the site are unable to checkout using stripe. They enter their card details and click place order and just get the spinning progress wheel that goes nowhere.

    I tried looking at logs in magento and stripe but neither report any errors. After some digging the only thing I can find is that the customers experiencing problems seem to be those that registered while the site was still using Magento 1.9. Looking at their accounts there seems to have been a change with how address are created, on Magento 1.9 if a customer's billing and shipping address were the same there was a single address entry that marked as being default shipping and billing. New accounts now have 2 separate entries with the same address.

    I'm not sure how you call the address information but I am guessing that it doesn't like there being only a single address entry for a customer. This could be a Magento issue but other checkout methods such as paypal seem to work fine so I am guessing you may be using a different method to get the address details than the paypal module does.

    bug 
    opened by TandyCorp 6
  • Issue with the test payment

    Issue with the test payment

    When trying to process a test payment, I'm getting a 500 error on the following file, /rest/default/V1/guest-carts/0810259eed24dfa520155452df583f7b/payment-information

    Am I missing something here?

    question 
    opened by levikay 6
  • Getting network error

    Getting network error

    Hello,

    After setting up the stripe module, when i try to make payment, i am getting the following error.

    Unexpected error communicating with Stripe. If this problem persists, let us know at [email protected].\n\n(Network error [errno 77]: error setting certificate verify locations:\n CAfile: \n CApath: none)

    How to resolve this issue?

    Thanks,

    question 
    opened by itaims 5
  • Postcode/Zip verification

    Postcode/Zip verification

    When entering a card number the form then also asks for a postcode. The form allows the user to enter the postcode with a space, the stripe API also accepts it with the space. Verification fails as stripe store postcodes without a space. Seems the spaces need to be stripped from the postcode data sent to stripe.

    bug 
    opened by TandyCorp 5
  • Unable do complete payment with saved card

    Unable do complete payment with saved card

    I am getting critical error and can't place order with saved card details. I am getting below error:

    main.CRITICAL: Could not determine which URL to request: Stripe\Source instance has invalid ID: {"exception":"[object] (Stripe\Error\InvalidRequest(code: 0):

    opened by bhagyashreesurana 0
  • cant see stripe on checkout

    cant see stripe on checkout

    stripe extension is successfully installed and js component seem to be loaded fine. but the unable to see on checkout page. there is no one-step-checkout extension installed and magento v2.2.5

    opened by caleb-caleb 1
  • pmclain/module-stripe v2.1.1 requires magento/framework ~101.0.5||~100.3.0-dev -> no matching package found

    pmclain/module-stripe v2.1.1 requires magento/framework ~101.0.5||~100.3.0-dev -> no matching package found

    Hi,

    We've recently upgraded to the latest version of Magento - 2.3 and as a result when running composer require for the package we get an error, details below:

    Command: composer require pmclain/module-stripe

    Error: Problem 1 - pmclain/module-stripe v2.1.1 requires magento/framework ~101.0.5||~100.3.0-dev -> no matching package found. - pmclain/module-stripe v2.1.0 requires magento/framework ~101.0.5||~100.3.0-dev -> no matching package found. - Installation request for pmclain/module-stripe ^2.1 -> satisfiable by pmclain/module-stripe[v2.1.0, v2.1.1].

    Potential causes:

    We've had to remove it for now, is there a known fix or an issue already open for this?

    Thanks,

    opened by jcorby24 0
  • Official Stripe Solution Available

    Official Stripe Solution Available

    Stripe has developed an official Magento 2 module https://marketplace.magento.com/stripeofficial-stripe-payments.html This issue will be used for documenting the roadmap for deprecating this module and providing a migration path to the official integration.

    Required Migrations

    • [ ] Magento_Vault payments - If possible stored payment methods from this module should remain available to users after switching to the official module
    • [ ] Stripe/Magento customer associations - I haven't reviewed the official module to know if this will be needed. My assumption is that the Stripe customer token attribute used by this module needs to be copied to the equivalent attribute in the new module.

    These should be made available by January 2019

    opened by pmclain 6
  • Stripe.js theme selection

    Stripe.js theme selection

    Is there, by any chance, a convenient way to choose between the dark, light, or light-outline themes mentioned in the Stripe.js reference? https://stripe.com/docs/stripe-js/reference

    Thank you so much for your work on this! This module looks like it's going to be perfect for what I'm doing.

    opened by crankycyclops 3
Releases(v2.1.1)
  • v2.1.1(Aug 11, 2018)

  • v2.0.2(Aug 11, 2018)

  • v2.1.0(Aug 8, 2018)

  • v2.0.1(Jul 11, 2018)

  • v2.0.0(Jun 10, 2018)

    • Require Magento 2.2.0 or greater
    • Add formatter for instant purchase card details
    • Add card type and last four digits to info block
    • Update to latest version of stripe/stripe-php
    Source code(tar.gz)
    Source code(zip)
  • 1.2.1(Apr 10, 2018)

  • 1.2.0(Apr 6, 2018)

  • 1.1.1(Mar 31, 2018)

  • 1.1.0(Jan 5, 2018)

    • Restructure tokenization requests
    • Support for Magento InstantPurchase
    • Bring stripe/stripe-php to current version
    • Update unit tests for PHPUnit v6.x
    • Change License to OSL v3.0
    • Add basic Travis build
    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Oct 10, 2017)

  • 1.0.0(Sep 27, 2017)

    • Remove Magento v2.0.x and add Magento v2.2.x support in composer.json
    • Upgrade Stripe.js to v3 (hosted fields)
    • Upgrade stripe-php to ~5.2.0
    Source code(tar.gz)
    Source code(zip)
  • 0.0.6(Sep 17, 2017)

    • Update scoping of Title configuration, allowing Store View values.
    • Correct missing Stripe\Customer import in PaymentDataBuilder, causing a fatal error when attempting to store card information in Vault.
    Source code(tar.gz)
    Source code(zip)
  • 0.0.5(Jul 19, 2017)

  • 0.0.4(Jun 16, 2017)

    • Payment information can be saved for customer accounts during frontend and backend checkout.
    • Stored payment methods are available for use in frontend and backend.
    • Stored cards are deleted from customer accounts in Stripe when deactivated by customers in Magento.
    • Tokenization support was added to the Admin payment form.
    Source code(tar.gz)
    Source code(zip)
Owner
Patrick McLain
Patrick McLain
Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

Introduction Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services. It handles almost all of the boilerpl

The Laravel Framework 2.2k Dec 31, 2022
#️⃣ Generate, Save, and Route Stripe-like Hash IDs for Laravel Eloquent Models

Using this package you can generate, save and, route Stripe-like Hash Ids for your Eloquent Models. Hash Ids are short, unique, and non-sequential, an

Yunus Emre Deligöz 88 Dec 27, 2022
PHP 7+ Payment processing library. It offers everything you need to work with payments: Credit card & offsite purchasing, subscriptions, payouts etc. - provided by Forma-Pro

Supporting Payum Payum is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and our

Payum 1.7k Dec 27, 2022
Xero - a digital currency that allows instant payments to anyone, anywhere

Xeros is a digital currency that allows instant payments to anyone, anywhere. Xeros has been written completely in PHP and mostly follows the technical design of Bitcoin. Xeros uses P2P technology to operate with no central server.

Kladskull 79 Dec 26, 2022
Empower your business to accept payments globally, earn rewards and invest in crypto with lazerpay laravel sdk in your laravel project.

Lazerpay Laravel Package pipedev/lazerpay is a laravel sdk package that access to laravel api Installation PHP 5.4+ and Composer are required. To get

Muritala David 24 Dec 10, 2022
A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2

Simple Import / Export tool A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2. Table data

EcomDev B.V. 51 Dec 5, 2022
This Magento 2 extension integrates EasyTranslate into Magento 2.

EasyTranslate Magento 2 Connector This Magento 2 extension integrates EasyTranslate into Magento 2. Mind that you need to have an account with EasyTra

Easytranslate ApS 0 Oct 7, 2022
Magento-Functions - A Resource of Magento Functions

Magento-Functions A Resource of Magento Functions Table of Contents Category Product User Cart Checkout General Account [Working w/ URL's] (#urls) Cat

Bryan Littlefield 28 Apr 19, 2021
Magento - Magento Community Editions

Magento Community Edition /// THIS REPOSITORY IS DEPREACTED /// 1.9.4.1 will be the last version update. Please switch over to OpenMage! Either to the

FireGento e. V. 107 Oct 17, 2022
Magento-Vagrant-Puppet-Nginx - Installs magento and a nginx server

Magento-Vagrant-Puppet-Nginx Installs Magento MySQL PHP PHP-FPM Nginx n98-magerun Setup git submodule init git submodule update vagrant up Modify pupp

Christian Münch 61 Aug 10, 2022
Docker-magento - Docker image for Magento 1.6 to 1.9

Docker image for Magento 1.x This repo creates a Docker image for Magento 1.x. Please note The primary goal of this repo is to create Docker images fo

Fu Cheng 144 Nov 18, 2022
Magento-composer-installer - Composer installer for Magento modules

!!! support the maintainer of this project via Patreon: https://www.patreon.com/Flyingmana Magento Composer Installer The purpose of this project is t

null 213 Sep 24, 2022
Chef-magento - Installs and Configures a Magento project

Description Requirements Chef 0.10.0 or higher required (for Chef environment use). Platform Debian, Ubuntu CentOS, Red Hat, Fedora Your basebox must

Inviqa 3 Jun 30, 2020
Cookbook-magento - Collection of recipes to build app stack for the Magento deployments with Chef

Magento Cookbook Collection of recipes to build app stack for the Magento deployments with Chef Installation With Berkshelf echo "cookbook 'magento',

Yevhen Viktorov 37 Sep 26, 2020
Magento-bulk - Bulk Import/Export helper scripts and CLI utilities for Magento Commerce

Magento Bulk Bulk operations for Magento. Configuration Copy config.php.sample to config.php and edit it. Product Attribute Management List All Attrib

Bippo Indonesia 23 Dec 20, 2022
Phpcs-magento-rules - A set of PHPCS rules used by made.com when hacking Magento

Made.com PHPCS Magento Rules A set of PHPCS rules used by made.com when hacking Magento. Pre-Requisites PHPCS Installation Short Version Clone this re

Made.com Tech Team 26 Jun 3, 2020
This Magento extension provides a Real Full Page Caching for Magento powered by Varnish with support of Session-Based information caching (Cart, Customer Accounts, ...) via ESI includes

This Magento extension provides a Real Full Page Caching (FPC) for Magento powered by Varnish with support of Session-Based information caching (Cart, Customer Accounts, ...) via ESI includes

Hugues Alary 95 Feb 11, 2022
Automatically load the next page of products in Magento. Easy to install and configure, this module works 100% out of the box with vanilla Magento 1.9.x and earlier.

Automatically load the next page of products in Magento. Easy to install and configure, this module works 100% out of the box with vanilla Magento 1.9.x and earlier.

Strategery 123 Nov 20, 2021