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
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
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
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 }
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.