# Configure the app

Learn how to configure the app for Oracle Simphony, including best practices and customization.

After you [install](https://docs.stripe.com/use-stripe-apps/oracle/simphony/installation.md) the Stripe app for Oracle Simphony, you can configure the settings to use the app with your Stripe Terminal integration.

## Configure Simphony

1. Sign in to the Simphony Enterprise Management Console (EMC) with your administrator credentials.
2. In the Enterprise menu, select the enterprise that’s going to use the app.
3. Open the **Setup** tab to display hardware and interface options.
4. Go to **Hardware/Interfaces** > **Interfaces**, and select **Payment Drivers**.
5. Double-click the **SPI** payment driver to edit its settings.
6. In the **SPI driver window**, select the **Configuration** tab.
7. Locate the **Primary Host** field and enter the app host and port (the default is **https://localhost:8443/**). If you’re installing the app on the CAP server where SPI runs, use Windows File Explorer to go to the installation path, then edit the `application.yaml` file and update the IP address to the CAP server’s address. Update the **Primary Host** field here to the CAP server’s IP address also.
8. Save your changes.

## Configure the Stripe App for Oracle Simphony

Use Windows File Explorer to go to the installation path and edit the `application.yaml` file to configure the following app parameters.

|  |
| Spring MVC | - `spring.mvc.async.request-timeout`: The maximum time (in milliseconds) that the server waits for asynchronous web requests to complete before timing out.
- The default in this app: **120000** (120 seconds). |
| Server | - `server.address`: Network interface IP address the embedded server binds to.
- `127.0.0.1` restricts the app to accept connections from the local machine only. To use Pay at Table, set this to your machine’s LAN IP address so that the Terminal reader can reach the connector.
- `server.port`: TCP port the HTTPS server listens on. |
| Server SSL | - `server.ssl.key-store`: Path to the keystore file containing the server’s TLS/SSL certificate and private key. Uses the `${SECURITY_DIR}` environment variable and expects a `.pfx` file.
- `server.ssl.key-store-password`: Password used to unlock the keystore file.
- `server.ssl.key-store-type`: Format/type of the keystore used by the server.
- Supported values are:
  - `PKCS12`: PKCS#12 keystore (recommended and the default when the file has a `.p12` or `.pfx` extension)
- `JKS`: Java KeyStore (legacy Java-specific keystore and default when the file has a `.jks` extension).
  - If not set explicitly, infers the type from the keystore file extension.
- `server.ssl.key-alias`: Alias or name of the specific key pair within the keystore that the HTTPS server certificate will use. |
| Debugging | - `debug`: Enables or disables Spring Boot debug mode
  - When `false`, only standard logging is enabled. |
| Logging | - `logging.level.com.stripe.opiconnector`: Log level for the `com.stripe.opiconnector` package (app business logic and payment processing)
- Supported SLF4J/Spring Boot log levels are:
  - `TRACE`: most detailed logs
  - `DEBUG`: detailed debug logs
  - `INFO`: general information logs
  - `WARN`: warning messages only
  - `ERROR`: error messages only
  - `OFF`: no logs. |

## Configure the Pay at Table app

When the app launches for the first time, configure the following settings:

- **Oracle Site ID**: The same value you entered in merchant management.
- **Base URL**: `https://{SERVER_LAN_IP}:8443/api/v1/`, where `{SERVER_LAN_IP}` is your server’s LAN IP address as configured in `application.yaml`.

## Verify deployment of the Pay at Table app

Restart the reader to apply the installation immediately. The Pay at Table app launches automatically after the reboot. In the Stripe Dashboard under **Terminal** > **Readers**, confirm the reader shows the correct deployed app version.

## Run a Pay at Table transaction

### Process a payment on the reader

1. Tap **Login** and enter your employee number or swipe your employee card.
2. Pull down on the check list to refresh it.
3. Select a check.
4. Tap the check to view its details.
5. Tap **Checkout** and tap a card to process the payment.
6. The screen displays **Approved** when the transaction completes.

### Verify the transaction in Stripe

In the Stripe Dashboard, go to [Transactions](https://dashboard.stripe.com/payments) and confirm the transaction shows a status of **Succeeded**.

## Troubleshoot the Pay at Table app

| Issue | Resolution |
| --- | --- |
| Pay at Table dashboard is unreachable | Confirm the Simphony connector is running. Check your LAN IP using `ipconfig` (Windows) or `ifconfig` (macOS). Use `https://` and accept the browser certificate warning. |
| Reader is offline in Stripe | Restart the reader. Confirm it’s on the same Wi-Fi network as your server. Check that the location is correctly assigned. |
| Pay at Table app isn’t launching on the reader | Restart the reader to force app installation. Confirm the deploy group is assigned to the correct location. |
| Transaction isn’t appearing in the Stripe Dashboard | Confirm you’re viewing the correct Stripe account. Confirm the reader ID in the Pay at Table dashboard matches the `tmr_...` ID in the Stripe Dashboard. |
