This is a test environment for documentation.
DvPayLite Deep Linking
Through URI Mode

DvPayLite Deep Linking Integration - URI Mode

Version History

DateVersionDetails
17/12/24 1.0.0

Initial Version

19/06/25 1.0.1

Tags updated for features that support optional transaction status screen and IsvId

26/11/25 1.0.2

Updates: Gift payment types added

Prerequisites

  • iPOSpays-powered Dejavoo terminal
  • Login credential to iPOSpays (opens in a new tab)
  • The host application must be listed on DvStore. If you haven't done so already, please fill out the necessary form to list your application. List now

For Sandbox (UAT)

Users should be onboarded on iPOSpays sandbox(UAT) environment as a merchant and have a valid CloudPOS TPN.

For Production (Live)

Users should be onboarded on iPOSpays production environment as a merchant and have a valid CloudPOS TPN.

If you do not have a TPN, contact your ISO or devsupport@dejavoo.io


Set Up the Developer Environment

1. Android Studio IDE

Download and set up Android Studio from developer.android.com (opens in a new tab).

2. Develop an Android Application

  • Create a new Android project or use an existing one.
  • Follow the steps outlined below:
    • Set the scheme as "denovopay" when creating the URI.
    • Update the host based on the type of transaction.
    • Refer to the Perform Transaction API section in this document for transaction types and sample input requests.

Install DvPayLite Application

Ensure the DvPayLite application is installed on the payment terminal. If it is not installed, complete the installation before proceeding with the integration.

Version Control and Updates

Non-Breaking Changes

  • We will continue to enhance the API by adding new functionality and fixing bugs over time.
  • These updates may include:
    • New endpoints
    • Additional attributes for existing objects
  • Such changes will not require a new API version. Ensure your code can handle new attributes gracefully and does not rely on the order of returned records unless explicitly specified in the documentation.

Breaking Changes

  • We aim to maintain the current API version for the foreseeable future.
  • In the event of changes that break the current API's functionality, a new version number will be released to ensure backward compatibility with existing integrations
  • Refer to the Version History to review the version history of this document.

High-level flow

The following is a high-level flow to communicate with the DvPay Lite Application.

DvPayimage-1.png


APIs

Device Register API

The Device Register API is used to download terminal and merchant configuration data from the backend application into the DvPayLite application.

Host: “register”

Intent will return transactionResult in the activity result.

Request Parameters:

FieldDescriptionSample
tpn It’s a Unique 12-digit code. This value is unique for each merchant.123456789012
applicationType The application type is used to identify the applicationDVPAYLITE

Response Parameters:

FieldDescriptionSample
transactionResult It is a string that provides responses as Success and failureSuccess/Failure
transactionResult Json It is a json string that contains response tags of the transaction

Response(transactionResultJson) Details:

  1. if success
FieldDescriptionSample
message It’s a Unique 12 digit code. This value is unique for each merchant.Terminal Added Successfully
isValidTPN Indicates whether the TPN is validtrue
assignedBuildNumber Build number assigned to this transaction or request(Empty in this case)
  1. if failure
FieldDescriptionSample
error_code Error code indicating the type of error15
error_message Message describing the errorTPN is not Configured

Snippet code:

jsonRequest = {
    “tpn”:”123456789012”, 
    “applicationType”:”DVPAYLITE”
    }

sample - scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded(UTF-8))


Perform Transaction API

This API is used to invoke the DvPayLite application to perform a transaction. It supports the following transaction types: SALE, REFUND, VOID, PRE_AUTH, INC_AUTH, TICKET, ACTIVATE, INQUIRE, REDEEM, REISSUE, REFUND, VOID.

For pin-based transactions, keys must be injected into the terminal. To inject the keys, please contact the developer support team at devsupport@denovosystem.com.

Host: “pay”

The Intent will return transactionResult in the activity result.

Request parameters

FieldDescriptionSample
type Transaction type. Possible values: [SALE, REFUND, VOID, PRE_AUTH, INC_AUTH, TICKET, ACTIVATE, INQUIRE, REDEEM, REISSUE]SALE
paymentType Payment type. Possible values: [CREDIT, DEBIT, EBT_Food, EBT_Cash, GIFT, LOYALTY]CREDIT
amount Transaction amount10.00
tip Transaction tip amount (applicable only for SALE and TICKET)1.00
applicationType Application type used to identify the applicationDVPAYLITE
refId Transaction reference ID. Must be unique for SALE, REFUND, and PRE_AUTH. For VOID and TICKET refund, it should be the original sale reference ID.1234567890
receiptType Type of receipt. Possible values: [Merchant, Customer, Both, No]Merchant
isTxnStatusScreenRequired Controls whether the transaction status screen is displayed. Possible values: [Yes, No]Yes
IsvId Unique ID provided to each ISV during integration. Contact support or sales to obtain this ID.432423434
showBreakupScreen Controls whether the breakup screen is displayed during transaction processing (must be enabled in TPN configuration). Possible values: [Yes, No]Yes
showTipScreen Controls whether the tip screen is displayed during transaction processing. Possible values: [Yes, No]Yes
reconId Used for reconciliation purposes. Applicable only for Fiserv North transactions. Optional alphanumeric ID that links the transaction to its settlement record in Fiserv.FSRV12345A
MerchantId When Multi MID (MMID) is enabled, MerchantId must be provided. This should be the TPN through which the transaction is processed.123456789012
TPN Optional. Provide the default TPN. If MultiMID is enabled, provide the Master TPN.12121121212

Response Parameters:

FieldDescriptionSample
transactionResult Indicates whether the transaction was successful or failedSuccess / Failure
transactionResultJson JSON string containing detailed response tags of the transaction

Response(transactionResultJson) Details

FieldDescriptionSample
authCode Authorization code received from the payment processor DSC058
LTaxAmount Local tax amount 2.40
STaxAmount State tax amount 1.20
extData Extended data related to the transaction (e.g., partial approval info, void status)
{"dueAmnt":"0.00",
"approvedAmnt":"",
"isPartialApprovalTxn":false,
"voided":"false"}
cardHolderName Name of the cardholder Steve Rogers
batchNo Batch number associated with the transaction 444
card_type Type of card used (e.g., VISA, MASTER, DISCOVER) JCB
merchant Data to be printed on merchant receipt with format and alignment in XML format [C - Center, R - Right, L - Left, N - Normal, B - Bold]
customer Data to be printed on customer receipt with format and alignment in XML format [C - Center, R - Right, L - Left]
expDate Card expiry date 12/25
emvTVR EMV Terminal Verification Results 0000008000
emvTC EMV Transaction Certificate F23A1C0D45678910
emvTSI EMV Transaction Status Indicator E800
emvAppName EMV application name VISA CREDIT
emvAID EMV application identifier A0000000041010
date Transaction date 2024-10-01
disclaimer Statement confirming cardholder receipt of goods and agreement to obligations Cardholder acknowledges receipt of goods
fee Custom fee associated with the transaction 0.62
iPOSToken Token generated for the transaction FDBD45C65D2CCB28BE42BAF72D1D7F13A6894F146D70AD17
invoice_no Invoice number 2
last_4_digits Last four digits of the card number 5859
mask_pan Masked primary account number (PAN) 3530145859
pinMode PIN mode [0 = No PIN, 1 = PIN verified] 0
refId Reference ID from the original request DL305734142454
respCode Processor response code [00 = Success, others = Failure] 00
respMsg Processor response message APPROVAL DSC058
rrn Retrieval Reference Number 427510500684
sign Customer signature in Base64 format (if captured)
status Transaction status Approved
time Transaction time 06:28:39
tipAmount Tip amount 3.60
tipLine Tip line indicator [0 = No, 1 = Yes] 0
totalAmount Total amount including tax, tip, and fees 19.82
transId Transaction ID 000004
transaction_id Same as transId 000004
transaction_title Transaction title (e.g., SALE, REFUND) SALE
transaction_mode Transaction mode [1 = Swipe, 2 = Chip, 3 = Contactless, 4 = Manual] 1
transaction_type Transaction type [1 = Credit, 2 = Debit, 3 = EBT, 6 = Gift] 1
amount_paid Base transaction amount paid 12.00

Snippet Code:

const jsonRequest = {
  "type": "SALE",
  "amount": "10.00",
  "tip": "1.00",
  "applicationType": "DVPAYLITE",
  "refId": "1234567890",
  "isTxnStatusScreenRequired": "Yes",
  "IsvId": "124234234234",
  "showBreakupScreen": "Yes",
  "showTipScreen": "Yes",
  "reconId": "FSRV12345A",
  "MerchantId":"123456789012"
};

Example : scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded)


Batch Settlement API

A batch is a group of transactions that have been processed but have yet to be settled. When a transaction is approved, it is added to the batch. When a batch hasn't been settled yet, it is called an open batch, and transactions in the batch can still be voided and reversed if needed.

Host: “settle”

The Intent will return transactionResult in the activity result.

Request parameters

FieldDescriptionSample
type Transaction type [SETTLE]SETTLE
applicationType Application type used to identify the applicationDVPAYLITE
MerchantId When Multi MID (MMID) is enabled, MerchantId must be provided. This should be the TPN through which the transaction is processed.123456789012
TPN Optional. Provide the default TPN. If MultiMID is enabled, provide the Master TPN.12121121212

Response Parameters:

FieldDescriptionSample
transactionResult Overall result of the batch settlement transactionSuccess / Failure
transactionResultJson JSON string containing detailed batch settlement response fields

Response(transactionResultJson) Details

FieldDescriptionSample
assignedBuildNumber Build number assigned to this request(Empty in this case)
TPN Terminal Processing Number (unique terminal identifier)132423805864
resultCode Result code indicating the outcome (0 = Success)0
message Message corresponding to the resultCodeSuccess
ExtData Extended data with details about the batch settlementApp=DvPayLite, ResultCode=0, BatchNum=443, Rsp=BATCH SETTLED, Status=GB, TipAmt=39.60, TotalAmt=218.06, SHFee=6.86, NumTrans=2
Receipt Formatted receipt data (terminal, merchant, and batch totals)Date: 2024/10/02, Time: 06:28:39, Terminal: 132423805864, Merchant: 888000003338, Batch#: 443, Status: GB, etc.
TransReport Summary report of transactions in the batchApp=DvPayLite, TrnsCnt=2, SaleAmt=218.06, ReturnAmt=0.0, VoidAmt=0.0, AuthAmt=0.0, TicketAmt=0.0, TotalAmt=218.06
HostResponseCode Host response code indicating settlement status00
HostResponseMessage Host response message confirming batch settlementBATCH SETTLED
isValidTPN Indicates whether the TPN is validtrue
overallMessage Overall batch settlement outcome messageBatch settled successfully

Snippet Code

settleReq = {
    “type”:”SETTLE”, 
    “applicationType”:”DVPAYLITE”
    }

Example : scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded)


Tip Adjust API

This API is used to perform a tip adjustment on a sale transaction.

Tip adjustments are allowed only for credit transactions by processors and are not permitted for other transaction types.

Host: “pay” The intent will return transactionResult in the activity result.

Request parameters

FieldDescriptionSample
type Transaction type [TIP ADJUST]TIP ADJUST
amount Base amount of the original sale transaction10.00
tip Tip amount to be adjusted1.00
applicationType Application type used to identify the applicationDVPAYLITE
refId Reference ID of the original sale transaction1234567890
MerchantId When Multi MID (MMID) is enabled, MerchantId must be provided. This should be the TPN through which the transaction is processed.123456789012
TPN Optional. Provide the default TPN. If MultiMID is enabled, provide the Master TPN.12121121212

Response Parameters

Same as Perform Transaction API

Snippet Code

jsonRequest = 
    {“type”:”TIP ADJUST”, 
    “amount”:”10.00”, 
    “tip”:”1.00”, 
    “applicationType”:”DVPAYLITE”, 
    “refId”:”1234567890”}

Example : scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded)


Get TPN API

This API is used to retrieve the TPN (Terminal Processing Number) of a device.

Host: “get”

The intent will return transactionResult in the activity result.

Request parameters

FieldDescriptionSample
type String that specifies get TPNgetTPN
applicationType The application type is used to identify the applicationDVPAYLITE

Response Parameters

FieldDescriptionSample
transactionResult It is a string that provides responses as Success and failureSuccess/Failure
transactionResult Json It is a json string that contains response tags of the transaction

Response Details

FieldDescriptionSample
message Application type is used to identify the application.DvPayLiteTPN
tpn Terminal Processing Number (unique identifier)132423805864

Snippet Code

jsonRequest = 
            {"applicationType":"DVPAYLITE", 
            "type":"getTPN"}

Example: scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded)


Device detail API

This API is used to obtain the details of the device.

Host: “get”

The intent will return transactionResult in the activity result.

Request parameters

FieldDescriptionSample
applicationType The application type is used to identify the applicationDVPAYLITE

Response Parameters

FieldDescriptionSample
transactionResult It is a string that provides responses as Success and failureSuccess/Failure
transactionResult Json It is a json string that contains response tags of the transaction

Response parameters

FieldDescriptionSample
model Model of the deviceP3
manufacture Manufacturer of the deviceKozen
sNo Serial number of the deviceB1791E1XL8080062
tpn Terminal Processing Number (unique identifier)132423805864
respCode Response code indicating the outcome of the request00
respMessage Message corresponding to the response codeSuccess

Snippet Code

jsonRequest = 
{"applicationType":"DVPAYLITE", 
"type":"getDevice"}

Example : scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded)


Status Check API

This API is used to retrieve the current transaction status.

Host: “pay”

The intent will return transactionResult in the activity result.

Request parameters

FieldDescriptionSample
refId Transaction reference id of original sale transaction1234567890
type Type of the transaction [STATUS]STATUS
applicationType The application type is used to identify the applicationDVPAYLITE
MerchantId When Multi MID (MMID) is enabled, MerchantId must be provided. This should be the TPN through which the transaction is processed.123456789012
TPN Optional. Provide the default TPN. If MultiMID is enabled, provide the Master TPN.12121121212

Response Details

Same as Perform Transaction API

Snippet Code

jsonRequest = 
{“type”:” STATUS”,
“applicationType”:”DVPAYLITE”, 
“refId”:”1234567890”}

Example : scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded)


Administrative Txn API

This API is used to retrieve card numbers.

For this to function, the administrative transaction type must be enabled in STEAM:

  • Navigate to Edit Parameters.
  • Go to the Transaction tab.

Host: “pay” The intent will return transactionResult in the activity result.

Request parameters

FieldDescriptionSample
type Type of the transaction [ADMINISTRATIVE_TXN]ADMINISTRATIVE_TXN
applicationType The application type is used to identify the applicationDVPAYLITE
MerchantId When Multi MID (MMID) is enabled, MerchantId must be provided. This should be the TPN through which the transaction is processed.123456789012
TPN Optional. Provide the default TPN. If MultiMID is enabled, provide the Master TPN.12121121212

Response Parameters:

FieldDescriptionSample
transactionResult It is a string that provides responses as Success and failureSuccess/Failure
transactionResult Json It is a json string that contains response tags of the transaction

Snippet Code

jsonRequest = 
{“type”:” ADMINISTRATIVE_TXN”,
“applicationType”:”DVPAYLITE”}

Example : scheme + "://" + host + "?data=" + Request (Passing Request as Url encoded)


Go Live Requirements

The following are the Go Live activities:

  • All third-party app integrations with DvPay Lite via deep-linking will be hosted in our DvStore application, which is provided as a default app in the firmware of production terminals.
  • To host an application in the app market, please contact the Dev Support team using the email provided below.
  • Once the application is hosted in the DvStore app, it can be downloaded to terminals and updated by hosting newer versions of the app.
  • Applications can be tested in test environments before being uploaded to production environments.

Help

For any questions or suggestions, email us directly at devsupport@dejavoo.io.