> For the complete documentation index, see [llms.txt](https://docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verifone.com/psdk-latest/psdk-user-guide-and-training/psdk-training-videos/general-overview.md).

# General Overview

{% embed url="<https://vimeo.com/1132591217/ce1e6b5c67>" %}

**Transcript**:

Verifone's Payment Software Development Kit (PSDK) is a library that you can use to develop your own Point Of Sale (POS) application so it can trigger Verifone's Payment Application.

You can either develop an off-device application running on an external POS, or on device, that runs on our payment devices.

There are three types of integrations: semi, slim, and SDI. Here we will focus in the first two.

Now the beauty of PSDK is that it works as a single integration across regions, hosts, connections, and payment protocols; making it extremely valuable for developers and customers due to its ability to simplify and streamline the experience as it can be used across Verifone platforms.

Let's see how it's architecture works.

<figure><img src="/files/f0ewifAG7T6trP7eiN0L" alt=""><figcaption></figcaption></figure>

This diagram shows the high-level architecture for Android devices. If you’re not yet familiar with how it’s structured, you can pause this video and look for the Android High-Level Architecture overview video where I explain it in more detail.

In this diagram, see how the PSDK can be developed to run either directly on the device or on an external ECR. This library is what enables your POS to communicate with Verifone's Payment Application. Remember that this payment app works as a service, so it always needs a POS to trigger the transactions.

<figure><img src="/files/62T1RBqc3tl5ejK5vGzK" alt=""><figcaption></figcaption></figure>

These are the supported platforms you can use to develop your application. For on-device integration, Verifone supports only the Android platform, since the terminals themselves run on Android. For off-device integration all the platforms listed here are supported. Depending on the platform you choose, different programming languages are available. Verifone provides dedicated PSDK libraries for each supported platform to ensure smooth integration and consistent functionality across environments.

<figure><img src="/files/F8Ol2GcawBQqpRLfhPNg" alt=""><figcaption></figcaption></figure>

There are two types of integration: semi and slim.

In the semi-integration, your cash register communicates to the payment application in the device, which is in charge of sending the transaction to the payment host. In the slim integration your application is the one who is in charge of communicating to the payment host after sending the transaction to the payment app and getting the card information. Both integrations can happen either on the device: where your POS runs on the terminal or off the device: where your application runs on an external cash register.

In terms of peripheral support, both barcode scanning and receipt printing are available. Verifone Android terminals are equipped with cameras; however, PSDK also includes libraries for external ones if you need them. Regarding receipt printing, if the Verifone device comes with a built-in printer, PSDK offers APIs for a seamless printing experience. For external devices, the built-in framework is required for printing.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.verifone.com/psdk-latest/psdk-user-guide-and-training/psdk-training-videos/general-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
