# PSDK-SDI Getting Started

The Verifone **Payment Software Development Kit - Secure Data Interface** (PSDK-SDI) is a PCI-compliant payment solution providing low-level integration to Verifone terminals. Build your own Payment applications with direct access to card readers, EMV kernels, security functions, and peripherals.

{% 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 %}

{% hint style="info" %}

### **Key Benefits:**

* One integration across all Verifone platforms and regions
* Cross-platform support (Android, iOS)
* Unified API and documentation
  {% endhint %}

{% hint style="warning" %}

### **Prerequisites:**

* Android/iOS development environment, Verifone terminal, payment processing knowledge, async programming familiarity
* **Code Samples:** Kotlin (Android) and Swift (iOS) with sequence diagrams, best practices, and error handling patterns
  {% endhint %}

{% stepper %}
{% step %}

#### Quick Start Guide

<table data-header-hidden><thead><tr><th width="280.54296875" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Review our quick start guide for a thorough understanding of the integration process and its wide-ranging capabilities. This guide provides steps for integration, with insights and tips.</td><td valign="top"><pre class="language-java" data-expandable="true"><code class="lang-java">import com.verifone.payment_sdk.*;
private PaymentSdk mPaymentSdk;
private TransactionManager mTransactionManager;
mPaymentSdk = PaymentSdk.create(context);
</code></pre></td></tr></tbody></table>

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI === true %} <a href="/pages/A95SsgP1wF4cCnszVNxA" class="button primary" data-icon="bolt">Quick Guide</a><a href="/pages/nZKCrSsOs5vVD1TcBWqQ" class="button secondary" data-icon="terminal">API reference</a>
{% endif %}

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI !== true %}
{% columns %}
{% column width="16.666666666666664%" %}

<figure><picture><source srcset="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/h8CUQCrn7gGJx3iTwKEZ" media="(prefers-color-scheme: dark)"><img src="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/rOelFPj8VuctGQ5lNjAC" alt=""></picture><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="83.33333333333334%" valign="middle" %}

<h3 align="center">Please request permission to access this content from your Verifone representative.</h3>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% 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 %}
{% endstep %}

{% step %}

#### Setup the Development Environment

<table data-header-hidden><thead><tr><th width="397.54296875" valign="top"></th><th align="center" valign="top"></th></tr></thead><tbody><tr><td valign="top">Follow the setup guides to create the correct development environment for your solution.</td><td align="center" valign="top"><img src="/files/UJg027STYRwa2CT75zOu" alt="" data-size="original"></td></tr></tbody></table>

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI === true %} <a href="/pages/p6GNny6oqbYLJ2PF6Mw5" class="button primary" data-icon="android">Android Set-up</a><a href="/pages/48wF1FHI3YSEtizQqnMv" class="button secondary" data-icon="apple">iOS Set-up</a>
{% endif %}

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI !== true %}
{% columns %}
{% column width="16.666666666666664%" %}

<figure><picture><source srcset="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/h8CUQCrn7gGJx3iTwKEZ" media="(prefers-color-scheme: dark)"><img src="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/rOelFPj8VuctGQ5lNjAC" alt=""></picture><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="83.33333333333334%" valign="middle" %}

<h3 align="center">Please request permission to access this content from your Verifone representative.</h3>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% 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 %}
{% endstep %}

{% step %}

#### Study the Integration Requirements

<table data-header-hidden><thead><tr><th width="397.54296875" valign="top"></th><th align="center" valign="top"></th></tr></thead><tbody><tr><td valign="top"><p>Study the usage rules for critical integration requirements.</p><p><br></p></td><td align="center" valign="top"><img src="/files/m2uMWXAanjnHUoo92Kvp" alt="" data-size="original"></td></tr></tbody></table>

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI === true %} <a href="/pages/k4tTCygITwj9kaLfHhWW" class="button secondary" data-icon="scale-balanced">Usage Rules</a>
{% endif %}

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI !== true %}
{% columns %}
{% column width="16.666666666666664%" %}

<figure><picture><source srcset="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/h8CUQCrn7gGJx3iTwKEZ" media="(prefers-color-scheme: dark)"><img src="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/rOelFPj8VuctGQ5lNjAC" alt=""></picture><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="83.33333333333334%" valign="middle" %}

<h3 align="center">Please request permission to access this content from your Verifone representative.</h3>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% 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 %}
{% endstep %}

{% step %}

#### Complete the Code Labs

<table data-header-hidden><thead><tr><th width="397.54296875" valign="top"></th><th align="center" valign="top"></th></tr></thead><tbody><tr><td valign="top"><p>Utilize the working examples of key functionality to help with your integration.</p><p></p></td><td align="center" valign="top"><img src="/files/ZuhIxndRLCeQMLTYVRKF" alt="" data-size="original"></td></tr></tbody></table>

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI === true %} <a href="/pages/lxDWhU4zO35yVJotxE0G" class="button primary" data-icon="rectangle-terminal">Codelabs</a>
{% endif %}

{% if visitor.isSet === true && visitor.claims.hasAccessToPSDK\_SDI !== true %}
{% columns %}
{% column width="16.666666666666664%" %}

<figure><picture><source srcset="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/h8CUQCrn7gGJx3iTwKEZ" media="(prefers-color-scheme: dark)"><img src="/spaces/YxYaIQQ51Y1kp5Oav4GZ/files/rOelFPj8VuctGQ5lNjAC" alt=""></picture><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="83.33333333333334%" valign="middle" %}

<h3 align="center">Please request permission to access this content from your Verifone representative.</h3>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% 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 %}
{% endstep %}
{% endstepper %}


---

# 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/psdk-sdi/readme.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.
