Integration deep dive
Overview
Nexi POS App can work standalone but it is possible through an APP2APP interfaces or SDK (SoftPOS iOS only) to integrate payments functionality into third part app, easily and securely.
The integration basically makes it possible to request payment for a specific amount and obtain the result of that payment.
First of all, Developer needs to evaluate authentication methodology, Nexi Pos App provides the following solutions:
-
APP2APP:User authentication: User must log in Nexi Pos App before starting payment process with username and password, created in the posweb.nexi.it portal by the admin ( the email added in the contract). The user will not log in for each payment, but only when the session token is expired (28 days), for this kind of integration the Developer does not need to be registered in Developer Portal.
-
APP2APP:Cloud authentication: this integration allows the developer to use the payment features of Nexi POS; the developer will need to install an SDK and invoke the payment methods defined The difference is inherent in the authentication, where through the creation and management of a token at the backend level, the process will be made totally transparent to the user; an architecture server side is needed to reach the API to retrieve the authentication token.
-
SDK:Cloud authentication: this integration is related only to SDK IOS with SoftPOS product, where through the creation and management of a token at the backend level, the process will be made totally transparent to the user; an architecture server side is needed to reach the API to retrieve the authentication token.
The type of the integration to be used, depends on Merchant specific needs. If the Merchant needs to make the usage of the Nexi POS app totally transparent to the user, then we recommend Cloud mode. On the other hand, for a simple and fast integration basic authentication is recommend.
The Cloud Authentication layer will be identical for both the APP2APP and SDK integrations. Consequently, the same keys and certificates can be used across both implementations.
Following an example of User Experience, in common between the different APP2APP integrations:

As written in the specification, when the result transaction is displayed, Nexi propose the option to send the receipt directly from the Nexi POS (optional) and to return to the Merchant App either selecting a specific CTA or setup an AutoClose parameter in the interface.
AutoClose allows automatic return to the Merchant App without the need to use the CTA. It is important to note that the CTA will always remain visible and usable in case of a delay in NexiPOS’s automatic closure
Following an example of SDK iOS SoftPOS User Experience:

SDK integration allows developers to import third-party software (such as APIs and libraries). By installing the SDK in the app, customers can access third-party services. This integration does not require any additional applications to be installed. Unlike Android solutions, where developers can fully manage these screens, on iOS the pages related to card detection and PIN entry are controlled by Apple, while the authorization processing and result page must be implemented by the developer.
The hierarchy of sales points, POS terminals, administrator accounts, and collaborator accounts follows the logic described below.
-
Admin-user: This user automatically generated by Nexi whenever a Store is created. Credentials consist of username and password that Nexi sends to the email address specified in the contract. Each Admin-user can only manage the TermIDs associated with his own store. The administrator is associated by default with the first TermID activated on the Store but can independently change the TermID association.
-
Collaborator-user: This user is created by the Admin-user (Only in App2App User-authentication or standalone) who has been assigned a specific TermID. Unlike the admin, the collaborator cannot create other users or change the TermID association. Admi-user can access the portal to create Collaborator-user with which to associate one of the TermIDs within the store. The same TermID can be associated with multiple collaborators-user.
