Manage Stripe Payment Service in the Back-Office
This section is part of the Payment Configuration topic that provides a general understanding of the payment concept in OroCommerce.
Stripe is a payment service extension that helps accept online payments from customers in the OroCommerce storefront and manage all transactions in the OroCommerce back-office. It also provides a solution to expose suspicious and fraudulent behavior and fight it on the website.
To start using Stripe with the OroCommerce application, make sure to:
Configure Integration Settings in the Back-Office
To configure the integration between Stripe and OroCommerce, follow the steps outlined below:
Navigate to System > Integrations > Manage Integrations in the main menu of the OroCommerce back-office.
Click Create Integration on the top right.
Provide the following information in the form:
Type - Select Stripe from the drop-down list.
Name - Provide the payment method name that is shown as an option for payment configuration in the OroCommerce back-office.
Labels - The payment method name/label displayed as a payment option for the buyer in the OroCommerce storefront during the checkout. To translate the label into other languages, click on the icon next to the field.
Short labels - The payment method name/label that is shown in the order details in the OroCommerce back-office and storefront after the order is submitted. To translate the label into other languages, click on the icon next to the field.
API Public Key - An identifier that helps authenticate your account. It refers to Publishable key on the Stripe side. You must use separate keys for the test and production environments.
API Secret Key - A pre-shared key used to cipher payment information. It refers to Secret key on the Stripe side. You must use separate keys for the test and production environments.
Webhook Signing Secret - A key that helps identify your webhook endpoints. Webhooks are used to notify the Oro application when an event happens in the Stripe account (e.g., capturing the payment).
To obtain the Signing secret:
- Navigate to Developers > Webhooks in the Stripe dashboard and click Add an endpoint.
- Provide the endpoint URL and select the three events to listen to, charge.refunded, payment_intent.canceled, and payment_intent.succeeded. Keep in mind that Oro supports only these three events. Click Add events.
- Click Add endpoint and copy the generated Signing secret to your Stripe integration creation field.
Payment Actions — Select one of the options for credit cards:
Manual (Authorize) — The payment gateway checks with the cardholder’s issuing bank that the submitted card is valid and that there are sufficient funds to cover the transaction. The required amount is placed on hold on the card but not yet charged. When you click Capture in the order details (Sales > Orders), the customer is charged the given amount. Payment status changes from Payment Authorized to Paid in Full.
Automatic (Capture) — The payment gateway checks the card with the cardholder’s issuing bank and, if everything is OK, initiates a money transfer from the card to your account. The customer is charged the given amount in full automatically.
User Monitoring — Select the option to enable Stripe to fight fraud by detecting suspicious behavior. When enabled, the Stripe.js script is loaded on all storefront pages to provide real-time fraud protection.
Status — Set the status to Active to enable the integration.
Default Owner - A user who is responsible for this integration and manages it.
Click Save and Close.
Once the integration with Stripe is created, the next step is to set up a payment rule under System > Payment Rules and add your integration to it to display this method to the customers at the checkout.
Checkout with Stripe
Once the payment methods are linked to a payment rule, they become available at checkout in the OroCommerce storefront.
A customer must enter a card number, expiration date, CVC, and a ZIP code (if required) to be able to process the payment via the Stripe service.
The system assigns a reference code to each submitted order. The code is used to identify the order on the Stripe side. You can find the reference code on the order details page, under the Payment History menu.