Stripe

Stripe End user doc

Description

Stripe is first-class payment processor service used by lots of ecommerce and companies world wide. This addon basically comprehends the integration into ScipioERP required to operate with the Stripe API. Internally it uses the Stripe API (Java) & Stripe JS API.

In the times of SCA and new regulations, Stripe delivers one of the best payment solution when it comes to flexibility and scalability. There are so many options ready to make life businesses easier and build confidence to customers.

For further information visit https://stripe.com/docs/payments

Setup

This addon is included in our Enterprise Edition. Follow this instructions in order to download and install it into your existing ScipioERP instance. Ultimately run this command:

./git-addons pull stripe

Configuration

Once you have your addon installed you will have to load the data required in order to make the addon work properly.

For a development environment, issue this command:

/git-addons install-demo stripe

Or for a production environment, you will have to issue:

/git-addons install-production stripe

At this point you can configure it through UI or use ./addons/stripe/config/stripe.properties. The latter is basically used as a fallback.

  • Publishable Key: Provided by Stripe once registered. Can be found in the dashboard. Required in order to operate with Stripe.
  • Secret Key: Provided by Stripe once registered. Can be found in the dashboard. Required in order to operate with Stripe. Don’t share anywhere
  • Success Url: Only works if Integration mode = checkout. Defines the URL back to the store which the customer will be redirected after a payment is processed in Stripe’s hosted page.
  • Cancel Url: Only works if Integration mode = checkout. Defines the URL back to the store which the customer will be redirected after a payment is cancelled in Stripe’s hosted page.
  • Integration Mode:  payment|checkout. Determines the integration mode Stripe integration will use. If it is set to payment, the payment will be captured and released in-site.  If it set to checkout the customer will be redirected to Stripe’s hosted page and then brought back once the payment succeeds or gets cancelled.

After that, you must associate the new payment configuration to an existing store, for the External Payment Service and Payment Refund Service as shown below.

Operations

Stripe offers a quite large variety of payment operations that can be done. Some have been implemented in this addon whereas others may be implemented in the near future or not planned to be implemented, unless there is a huge demand for such features.

Currently ScipioERP Stripe’s  implementation covers the following features:

  1. Card payment ready for multi-step checkout and one page checkout.
  2. Customer creation/update + attached payment methods (only cards)  supported.
  3. 3DSecure supported.
  4. UI can be highly customized with macros that follow our templating-kit standard (only for in-site payments)
  5. In-site payments and Stripe hosted payment page (redirection) supported.
  6. Refunds supported.
  7. Webhooks used to handle Stripe notifications (payments, charges, customers and refunds) implemented.

The following will be supported in future releases:

  1. Subscriptions, at least a common scenario covered in ScipioERP already.
  2. Include more payment methods (with immediate or delayed notification) like SEPA, iDEAL, FPX and much more.
  3. Set up future payments through Stripe Setup API
  4. Payments on behalf of through Stripe Connect API, useful for marketplaces.

Standard Payment

No matter what kind of checkout way is used, from the user point of view the implementation works transparently in both ways, multi-step and one page checkout. The only difference is that in multi-step checkout the payment details (cards only for now) are captured in the Payment step and released (confirmed) when the order is created in the Order Confirmation step. For one page checkout everything happens in the same screen. Ultimately what happens underneath is basically the same.

  1. During checkout process, select Stripe option. A card widget will be shown if Stripe is configured as in-site payment. Otherwise nothing will be displayed.
  2. Upon order creation, if Stripe is configured in checkout payment mode, the customer will be redirected to Stripe’s hosted page. Will be redirected again to the store whether the payment is successful or it gets cancelled, specifically to the URLs defined in the payment gateway configuration. If Stripe is configured as in-site payment, when successful, the customer will be redirected to Order Complete screen or to the checkout page if errors happened.

Partial or Total refund

Allows to refund totally or partially a previous transaction once it’s been confirmed it is a valid one.