Skip to content

    Payment

    Request

    For this operation there are two parameters that initialize the URI

    • scheme: neximpos
    • authority: payment

    followed by the query parameters composed of the fields shown below:

    Name parameterDescription TypeMandatory
    amount Amount in cents int yes
    callerName String used to value the label of the “Torna A …” button String yes
    callerTrxId Identification string of the transaction within the third-party app String yes
    email Value with which to pre-fill the email field on the send receipt screen String no
    sendTicket Flag that enables the display of the button send receipt boolean (true/false) no (default true)
    sms Value with which to pre-fill the sms field in the sending receipt screen String no
    uri URI on which to retrieve the transaction response String yes
    urlTicket ***Flag that enables the creation of the link to obtain the receipt image boolean (true/false) no (default true)
    addInfoNValue of the Nth additional tagString (max 30 characters) no
    addInfoKeyNey of the Nth additional tagString (max 30 characters) 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 (default false)
    hideRetryFlag that hides Retry button for Timeout, cancelled transaction and Wrong PINBooleanno (default false)

    *** Available only for MobilePOS

    The app will expect fields like:

    • (values) addInfoKey1, addInfoKey2... addInfoKeyt5 • (corresponding values) addInfo1, addInfo2... addInfo5

    Each pair [addInfoKeyN, addInfoN] must be valid. Validation rules:

    • Length between 1 and 30 characters • Allowed characters are numbers, letters, a set of special characters !$%&()*+-./:;<=>?@[]^_{}

    • Keys must be unique, otherwise the repeated keys will be ignored. If any invalid pair is found within the request, the app will send the error -1 (Invalid input parameters).

    Retryable Transaction Result

    A retryable transaction result occurs when the transaction can be retried. Examples:

    • Transaction canceled

    • Card read timeout

    • Wrong pin

    This result requires a user interaction, more precisely the tap on “Retry”. Hence, the autoClose flag will not affect the flow in this case.

    For not retryable ones, like a successful transaction or denied transaction, if autoClose value is true, the app will show the outcome animation and then close itself automatically. The caller app will receive the transaction data via deeplink.

    Since autoClose flag implies the buttons hiding and the sendTicket implies the visualization of “send ticket” button, the usage of both together will NOT be allowed. If sendTicket and autoClose are requested within the same session (both are true), the application will send the error “-21”.

    NB: The default sendTicket value is true for backward compatibility, so to use the autoClose feature it is mandatory to specify the value sendTicket false.

    (SoftPOS) Example request

    neximpos://payment?amount=1&callerTrxId=qwerty&sendTicket=false&urlTicket=true&callerName =Payment&email=name.surname%40domain.it&sms=3344556951&uri=demonexi%3A%2F%2Fpay ment&addInfoKey1=key1&addInfo1=value1&addInfoKey2=key2&addInfo2=value2&autoClose=true &hideRetry=true

    (mPOS) Example request

    neximpos://payment?amount=200&callerTrxId=1234&sendTicket=true&urlTicket=true&callerName=App2App DEMO&uri=app2appDemo://paymentResult

    Response

    The response has the following attributes:

    • scheme: specified in the URI field shown above
    • authority: specified in the URI field shown above

    followed by the query parameters composed of the fields shown below:

    Name parameter Description Type
    callerTrxId Identification string of the transaction within the third-party app String
    operationType This field describe type of operation String (PAYMENT)
    result This field contains the result of the transaction int
    amount The amount of the transaction int
    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
    pan PAN truncated with last 4 digit in clear. This field has a value only for approved transaction, null otherwise. String
    transactionType Card technology used:
    “ICC” for EMV transaction; “MAG” for magstripe transaction; “CLI” for contactless transaction;
    String
    authorizationNumber This field has a value only for approved transaction, null otherwise String
    timestamp Data and time in the format “ddmmyyhhmm”. String
    • 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 contain 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
    • -21: AutoClose and sendTicket cannot be requested together

    (SoftPOS) Example response

    demonexi://payment?result=0&amount=1&callerTrxId=qwerty&operationType=PAYMENT&actionC ode=000&pan=************5938&transactionType=CLI&timestamp=0912202317&resultDescripti on=&cardTypeCVM=2&acquirerId=00000000003&stan=000002&operationNumber=000031&acqui rerName=NEXI%20%20%20%20%20%20%20%20%20%20%20%20&terminalId=30350039&mercha ntId=0000091%20%20%20%20%20%20%20%20&authorizationNumber=012651&urlTicket=https% Reserved document 12 This content is classified as Internal 3A%2F%2Fintapi.nexi.it%3A8443%2Fmpos%2Fmobile%2Fapi%2Fservices%2Forchestrator%2Freceip t%2Fview%3Fid%3DDBFIEFJQIJKLPOOYBDEDGIHO

    (mPOS) Example response

    app2appDemo://paymentResult?callerTrxId=1234&operationType=PAYMENT&amount=200&result=0&actionCode=000&pan=************7819&transactionType=CLI&authorizationNumber=870316&timestamp=0407250930&resultDescription=TRANSAZIONE APPROVATA&cardTypeCVM=2&acquirerId=00000000034&stan=000008&operationNumber=000026&acquirerName=NEXI&terminalId=37063166&merchantId=1829312&urlTicket=https://mpos.nexi.it/r?id=DICJHGMNIJKLOTOTAIEIEOJH

    Receipt

    Receipt SoftPOS Android

    When available, the receipt fields will be returned to the caller app by deep linking. For mPOS transactions the fields in output are listed in the response table parameters

    Receipt Field Keys

    Key Description Sample value Value max length
    CT100 Last 4 digits of PAN 7733 4
    CT101 Batch Number 67 38
    CT102 AID A0000000041010 50
    CT103 CT103 Original Transaction
    Reference Number
    929616000304
    929616000304 12
    CT104 Merchant Info Pizzeria Mario Rossi 200
    CT105 Transaction type
    (enumerator)
    0100 SALE 0200 VOID 0300 REFUND 0400 REVERSAL 0500 VOID CANCEL 0600 BATCH UPLOAD 0700 SETTLEMENT 0800 STATISTICS 4
    CT106 Transaction date (dd/MM/yyyy) mobile device 20/08/2024 38
    CT107 Transaction time (HH:mm) mobile device 11:00 38
    CT108 Card type Mastercard Visa Amex Troy … 2

    Receipt Host Keys

    Key Description Sample value Value max length
    f04 Amount 000000000126 11
    f11 Stan 000306 8
    f12 Transaction Time 163535 12
    f13 Transaction Date (MMdd) 0824 4
    f30 Original Amount 000000000000 12
    f37 Transaction Id 100005041017 12
    f38 Authorization Number 304163 50
    f39 Authorization Response Code 3 digits or 2 digits 3
    f41 POS Terminal Number 00192136 8
    f42 Merchant Id 000000009041042 15
    f43 Merchant Name And Location 99

    Was this helpful?

    What was your feeling about it?