# SCA Getting Started

Secure Commerce Application (SCA) supports several deployment models.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

<h4 align="center"><strong>Please login or register to gain access to the detailed material on this page.</strong></h4>
{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a><a href="https://partner-registration.verifone.com/" class="button secondary">Register for an Account</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

Use this page to choose a path, prepare your environment, and complete a first transaction.

{% hint style="info" %}
**Choose your integration path**

* **Semi-integrated application** — Use this path when the POS controls the payment flow
* **Standalone application** — Use this path when transactions begin on the terminal
  {% endhint %}

{% tabs %}
{% tab title="Standalone" %}
{% stepper %}
{% step %}

### Review the standalone transaction model

<table data-header-hidden><thead><tr><th width="307.87109375" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top"><p>Start with the main behaviour and feature set.</p><p></p></td><td><img src="/spaces/V9KWPJkI0Tcdaj4xDy9z/files/656389323cbfdef1f2bb912f9538cebc50c1e387" alt=""></td></tr></tbody></table>

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/oHwadpiKX0ITrVPeNARM" class="button primary" data-icon="book">SCA Standalone Specification</a>
{% endif %}
{% endstep %}

{% step %}

### Confirm hardware and device flow

Validate the target terminal and screen flow before testing.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/py9B0nCguGB0Gqnc7clo" class="button primary" data-icon="microchip">Supported Hardware</a> <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/qXkhNZKm4yXGQM7WV14u" class="button secondary" data-icon="display">Media, Display and Transaction Flow</a>
{% endif %}
{% endstep %}

{% step %}

### Apply processor-specific behaviour

Use a host guide when your processor changes the flow or supported commands.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/iMrCOAO9durFBCdIdk2n" class="button primary" data-icon="building-columns">Chase Guide</a> <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/kD1yl6aH9igHavLCGXY6" class="button secondary" data-icon="network-wired">FirstData/Fiserv Guide</a>
{% endif %}
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="Semi-integrated" %}
{% stepper %}
{% step %}

### Prepare the device

<table data-header-hidden><thead><tr><th width="480.06640625" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top"><p>Confirm the device has the expected hardware and software.</p><p></p></td><td><img src="/spaces/V9KWPJkI0Tcdaj4xDy9z/files/bc1b4a0e3c3e3a8c23bbaeeb2a30d6c4d9817337" alt=""></td></tr></tbody></table>

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/qP4NS3tKsvJMeJOXprqi" class="button primary" data-icon="gear">Device Setup</a>
{% endif %}
{% endstep %}

{% step %}

### Configure connectivity

<table data-header-hidden><thead><tr><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top"><p>Choose the transport that matches your POS environment.</p><p></p></td><td><img src="/spaces/V9KWPJkI0Tcdaj4xDy9z/files/QINdyYzZCAhxCSRhwwdF" alt=""></td></tr></tbody></table>

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/WYyoihdHVXYoO8qKPnAm" class="button primary" data-icon="plug">Communication Setup</a> <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/azpnYMDFnCDqV2Gjg05I" class="button secondary" data-icon="globe">WebSocket</a> <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/5QBoEm9V5nhwQsMJXnv7" class="button secondary" data-icon="ethernet">TCP Configuration</a>
{% endif %}

{% hint style="info" %}
SCA can use ports 80 or 443.

If WebSocket auth bypass is enabled, standard pairing does not apply.
{% endhint %}
{% endstep %}

{% step %}

### Establish POS trust

Most semi-integrated flows start with POS registration.

Verify the pairing before processing payments.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/OaRn8dQhqR7dzcaJBJo5" class="button primary" data-icon="shield">Message Authentication</a>
{% endif %}
{% endstep %}

{% step %}

### Open a session

Open a session before sending payment commands.

Use Training Mode while validating the flow.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/YhjXNjgFoUl6Qdne2Boa" class="button primary" data-icon="play">Start Session</a>
{% endif %}
{% endstep %}

{% step %}

### Run a first transaction

<table data-header-hidden><thead><tr><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top"><p>Use <code>CAPTURE</code> for a one-step sale. Use <code>AUTH</code> and <code>CAPTURE</code> for a two-step flow.</p><p></p></td><td><img src="/spaces/V9KWPJkI0Tcdaj4xDy9z/files/n3vq0RUrs0qQjKXxtjlS" alt=""></td></tr></tbody></table>

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/2OXi6Ysjuqp2BWlNuktA" class="button primary" data-icon="credit-card">Authorize</a> <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/LytYFb22YvMrKyZdb96z" class="button secondary" data-icon="check">Capture</a>
{% endif %}
{% endstep %}

{% step %}

### Validate responses and harden the integration

<table data-header-hidden><thead><tr><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top"><p>Map response fields before go-live. Then cover edge cases and recovery paths.</p><p></p></td><td><img src="/spaces/V9KWPJkI0Tcdaj4xDy9z/files/ND68qrFNuO6HD4w8EdqV" alt=""></td></tr></tbody></table>

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/7FaBRwPY4ftHhRHfjD6v" class="button primary" data-icon="triangle-exclamation">Result/Error Codes</a> <a href="/spaces/V9KWPJkI0Tcdaj4xDy9z/pages/W8608CxBOBWHbEmCjU6A" class="button secondary" data-icon="check-double">Best Practices</a>
{% endif %}
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

{% if visitor.isSet === true %}

### Next steps

* **Build payment flows** — Use [Payment Functions](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/EVFtHtDowrmKmyCli4Ga) for semi-integrated, or [Supported Transactions](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/8c8d2de548191a53cede22af2734b6d4b9de9659) for standalone.
* **Configure devices and processors** — Review [Configuration Parameters](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/PQHN8x7FeooXfkNRfHjm), [Direct to Processor Implementations](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/HwFCkcZY2Ixc9nHmG36j), and [Feature Parity - Mx9 vs Engage vs Neo](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/7b36a6dbc5848ca3323b77ac08d8c68f7e4eec68).
* **Validate production readiness** — Review [Reports](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/MLS9DTrkogyHEbuN06a7), [Result/Error Codes](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/7FaBRwPY4ftHhRHfjD6v), and [Best Practices for Integration](broken://spaces/V9KWPJkI0Tcdaj4xDy9z/pages/W8608CxBOBWHbEmCjU6A).
  {% endif %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.verifone.com/sca/sca-getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
