Reversal
Request
The URI is composed of two principal parameters.
- scheme: 
neximpos - authority: 
reversal 
The following parameters are expected:
| Name parameter | Description | Type | Mandatory | 
|---|---|---|---|
| amount | Amount in cents | int | yes | 
| callerTrxId | Identification string of the transaction within the third-party app | String | yes | 
| sendTicket | Flag that enables the display of the button send receipt | boolean (true/false) | no (default true) | 
| urlTicket *** | Flag that enables the creation of the link to obtain the receipt image | boolean (true/false) | no (default true) | 
| timestamp | Data and time in the format “ddmmyyhhmm”. | String | yes | 
| terminalId | Terminal id of the reversible transaction calculated. | String | yes | 
| callerName | String used to value the label of the “Torna A …” button | String | yes | 
| uri | URI on which to retrieve the transaction response | String | yes | 
| Value with which to pre-fill the email field on the send receipt screen | String | no | |
| sms | Value with which to pre-fill the sms field in the sending receipt screen | String | no | 
| autoClose | Flag that hides the buttons on transaction result and allows the application to automatically go back to caller application ONLY for not retryable transactions result | Boolean | no | 
*** Available only for MobilePOS
(SoftPOS) Example request
neximpos://reversal?amount=1×tamp=0912202317&callerName=Reversal&email=name.surn ame%40domain.it&sms=3344556951&callerTrxId=qwerty&terminalId=30350039&sendTicket=true &urlTicket=true&uri=demonexi%3A%2F%2Freversal
(mPOS) Example request
neximpos://reversal?amount=200&callerTrxId=1234&sendTicket=true&urlTicket=true&callerName=App2App DEMO&uri=app2appDemo://reversalResult&terminalId=37063166×tamp=0407250930
Response
The response call is composed of the following fields:
- scheme: 
specified in the URI field shown above - authority: 
specified in the URI field shown above 
as for the query parameters, they are the following:
| Name parameter | Description | Type | Mandatory | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| callerTrxId | Identification string of the transaction within the third-party app | String | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| operationType | This field describe type of operation | String (REVERSAL) | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| result | This field contains the result of the transaction | int | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| amount | The amount of the transaction | int | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| actionCode | Code assigned by the bank describing the reason of the refusal and inform the terminal of specific situations (see bit 39 in ISO8583); is “000” for approved transaction | String | optional * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pan | PAN truncated with last 4 digit in clear. This field has a value only for approved transaction, null otherwise. | String | optional * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| transactionType | Card technology used:  “ICC” for EMV transaction; “MAG” for magstripe transaction;  “CLI” for contactless transaction; This field has a value only for approved transaction, null otherwise. "  | String | optional * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| authorizationNu mber | This field has a value only for approved transaction, null otherwise | String | optional * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| timestamp | Data and time in the format “ddmmyyhhmm”.  This field has a value only for approved transaction, null otherwise.   | String | optional * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- Valued only in the event of an approved or denied transaction
 
** Valued in relation to the urlTicket field of the request
*** Available only for MobilePOS
The result field can take the following values:
- 0: transaction approved
 - 9: POS not connected
 - 20: transaction canceled
 - 21: transaction denied
 - -1: invalid input parameters
 - -2: device not secure
 - -3: bluetooth off
 - -4: services not available
 - -5: deprecated app
 - -6: login required
 - -7: terminalId suspended
 - -8: terminalId absent
 - -9: terminalId not configured on POS
 - -10: POS connection timeout
 - -11: transaction not reversible
 
(SoftPOS) Example response
easypay://reversal?operationType=REVERSAL&callerTrxId=1747399896594&result=0&amount=000000000450&f30=000000000450&F42=1000000595940&f12=145126&f11=000247&f55=9F3602015B9F10120110800005220000000000000000000FF9F35012195050000008001&CT121=C.SO SEMPIONE 55, 20145, MILANO (MI)&f13=0516&CT120=NEXI SOFTPOS OPERATION&f38=H50716&9F14=1420&f37=513614271424&f39=400&CT118=978&CT117=Online&CT116=00034&CT115=Contactless&CT114=NEXI Core&CT112=************6313&CT111=0&acquirerId=909517&CT119=Grazie e arrivederci&f41=38032131&f43=NEXI SOFTPOS OPERATION C.SO SEMPIONE 55, 20145, MILANO (MI)&f42=1000000595940&CT110=2025-05-16T14:51:51+02:00&f04=000000000450&CT107=14:51&CT106=16/05/2025&CT105=0200&CT104=NEXI SOFTPOS OPERATION C.SO SEMPIONE 55, 20145, MILANO (MI)&CT103=513614271424&CT102=A0000000041010&CT101=24&CT123=9F3602015B95050000008001&CT100=6313&CT109=Debit Mastercard&CT108=Mastercard&terminalId=38032131&autoClose=false flg=0x10400000 cmp=com.example.easypay/.ui.redirect.RevertResultActivity }
(mPOS) Example response
app2appDemo://reversalResult?callerTrxId=1234&operationType=REVERSAL&amount=200&result=0&actionCode=000&pan=******7819&transactionType=CLI&authorizationNumber=870316×tamp=0407250932&resultDescription=TRANSAZIONE APPROVATA&cardTypeCVM=2&acquirerId=00000000034&stan=000009&operationNumber=000027&acquirerName=NEXI&terminalId=37063166&merchantId=1829312&urlTicket=https://mpos.nexi.it/r?id=DICJHGMNIJKLOUOTAIEIEOJJ
3.2.5 Error codes
- “-13” -> active developer options
 - “-14” -> network not available
 - “-15” -> smartphone not connected to network
 - “-16” -> NFC not active
 - “-17” -> there are no reversible SoftPOS transactions in the last month
 - “-18” -> the last authorized transaction cannot be served (it may have already been reserved)
 - “-19” -> transaction unavailable (if you require closing and you only have SoftPOS TID)
 - “-20” -> NFC not available
 - “-30” -> SoftPOS payment error. The Nexi POS app will also send a more specific error, following the template “X-Y-Z”, inside the parameter named as softPosError.