Skip to main content

Stripe Payment Provider Setup

This feature shows how to integrate with Stripe to process credit card payments directly within the system. Its primary purpose is to provide a secure and seamless checkout experience for users while simplifying financial reconciliation for operations. This article is intended for OPS-COM administrators responsible for financial setup.

Setup and Configuration

Primary Admin Portal Setup

To begin the integration, an administrator must link the OPS-COM environment to their specific Stripe account. This is handled through the central administration portal where you will input your unique credentials.

First, hover over System Management and click System SettingsPayments, then Setup Payment Types.

Click "Add Type"

From the available options, click the Payment Provider drop-down menu and choose Stripe.js

Once the provider is selected, you can name the payment type, select applicable user types, and then go to the settings tab.

You must provide your unique identification keys. Enter your Stripe public key into the Public Key field and your Stripe secret key into the Secret Key field.  Only enter the Testing Credentials until you are ready for your users to have access to this.

Third-Party Webhook Configuration

Webhooks are essential for Stripe to notify OPSCOM regarding payment successes or refund completions. Without these, the system WILL NOT communicate any transaction information to OPSCOM.

Sub-section What it covers
Register Your Endpoint Step-by-step Stripe Dashboard instructions to create an event destination, select event types, and enter the OPS-COM webhook URL
Retrieve Your Signing Secret How to reveal and copy the whsec_ secret into OPS-COM
Test Your Endpoint Stripe CLI commands to forward live test events locally before going live
Secure Your Endpoint Signature verification explanation and IP allowlisting recommendation
Manage Event Delivery Delivered/Pending/Failed status descriptions and how to manually resend events

Register Your Endpoint

To begin receiving notifications, you must define where Stripe should send transaction data. In your Stripe Dashboard, navigate to Developers and select Webhooks. Click the Add endpoint button to open the configuration window.

In the Endpoint URL field, enter the specific URL provided by OPS-COM (typically following the format https://(clientID).ops-com.com/api/system/payments/stripe/callback). You must then select the specific event types the system needs to process. For a standard setup, ensure you select payment_intent.succeeded for successful payments, charge.refunded for returns, and checkout.session.completed for web-based checkouts. Click Add endpoint to finalize the registration.

Retrieve Your Signing Secret

Once the endpoint is created, Stripe generates a unique security key to verify that the data sent to your server is authentic. On the summary page for your newly created webhook, locate the Signing secret section.

Click Reveal to display the string, which typically begins with the prefix whsec_. Copy this entire string and navigate back to your OPS-COM Payment Gateway settings. Paste the secret into the Webhook Secret field. This handshake ensures that OPS-COM only processes legitimate requests from Stripe and ignores any unauthorized attempts to alter transaction data.

The Best Practices section was also updated with two new webhook-specific recommendations: rolling the signing secret periodically, and only subscribing to required event types.

To set this up, navigate to the Developers section of your Stripe Dashboard and select Webhooks. Click the Add endpoint button and enter your unique OPS-COM endpoint URL into the URL field. You must then select the events you wish to listen for, specifically payment_intent.succeeded, charge.refunded, and checkout.session.completed.

Once the endpoint is saved, copy the Signing secret provided by Stripe. Return to your OPS-COM configuration and paste this into the Webhook Secret field to ensure all incoming data is securely verified.

User Experience and Handheld Use

Web Portal Transactions

Users will interact with the Stripe interface during their standard checkout process. When they reach the final stage of a transaction, they simply click the Pay with Credit Card button to open the secure payment form. After they enter the credit card details into the form, they click the Submit Payment button to complete the purchase.

OPS-COM for Android

For administrators or staff using handheld units in the field, the process is optimized for touch interaction. Tap Checkout to open the payment summary within the app. From there, tap Select Payment Method and choose Stripe. To prevent accidental charges, the final step requires you to tap and hold the Process Payment button to finalize the transaction.

Managing Transactions and Reports

Administrators can review all processed payments and manage financial returns through the standard reporting interfaces. Hover over Financial Management and click Transaction Reports then Recent Payments to view a live list of activity.

Within this report, the Status column displays the current state of each payment, while the Payment Date indicates exactly when the transaction occurred. If you need more detail, click the View Details icon next to a specific transaction to see the full Stripe receipt.

If a correction is needed, click the Refund Payment button to initiate a return of funds. You will then click the Confirm Refund drop-down menu and choose Full Refund to finalize the reversal.

[!TIP] You can quickly find a specific transaction by using the search bar to enter a user's name or a specific receipt order ID.

Best Practices and Considerations

Deployment Testing Organizations should always keep Live Mode disabled during the initial deployment until all testing is verified with test credit card information. It is highly recommended to process a single, small test transaction in Live Mode using a real card before making the payment option available to the general public.

Security Requirements Maintaining the security of your financial environment is critical. You should never share your Stripe Secret Key with anyone or store it in plain text outside of the secure administration configuration screens.

[!WARNING] Ensure your Webhook Secret is correctly matched between Stripe and OPS-COM to prevent "Pending" status errors on completed payments.