SDK Service Initialization
Note: This method is only applicable for Valor VP Series.
Method:
SDK_Service_Int(context: Context, Onresult: OnResult)
This method is used to start the valor SDK service.
This method needs to call at every bootup.
Parameters:
context | [IN] context | context
callback | [IN] OnResult | interface OnResult that implements mandatory callback events (Callback function).
Interface: OnResult
Success() – valor SDK service started successfully.
Onprocess(progressMessage: String) – Not Used.
Fail (errorMessage: String) - Fail to start valor SDK service.
Load Configuration
Method:
Loadconfig(context: Context, Onresult: OnResult)
This method generates and loads the EMV & CLESS configuration File.
This method needs to call at every bootup.
Parameters:
context | [IN] context | context
callback | [IN] OnResult | interface OnResult that implements mandatory callback events (Callback function).
Interface: OnResult
Success() – Configuration file loaded successfully .
Onprocess(progressMessage: String) – The progress message has shown
Fail (errorMessage: String) - Fail to load configuration file.
SDK Initialization
Method:
SDKInt(context: Context,GiftCardTye:Int, Onresult: OnResult)
This method is used to initialize the SDK module & EMV configuration to load.
Note: Must call after the Load configuration.
Parameters:
context | [IN] context | context
GiftcardType | [IN] int | support gift card type
1 –VALUE_TECH, 2- Factor4
callback | [IN] OnResult | interface OnResult that implements mandatory callback events (Callback function).
Interface: OnResult
Success() – Initialization successfully.
Onprocess(progressMessage: String?) – The progress message has shown
Fail (errorMessage: String?) - Initialization Fail.
Download Rki
Method:
DownloadRKI(context: Context, Keygroup: String,Mode:Int, Onresult: OnRKIResult)
This method is used for downloading Live or Demo RKI.
Parameters:
context | [IN] context | context
String | [IN] keygroup | Custom group key name
String | [IN] Service mode| 0 –Live RKI, 1- Demo RKI
callback | [IN] OnRKIResult | interface OnRKIResult that implements mandatory callback events (Callback function).
Interface: OnRKIResult
Success() – This event will be triggered when device is successfully download RKI
onProcess(progressMessage: String?) – The progress message on downloading Status.
Fail(errorMessage: String?) - RKI download failed.
Get Device Information
Method:
VL series then to use
GetDeviceInfo(OnResult: OnDeviceInfoResult)
VP series then to use
GetDeviceInfo(context: Context, OnResult: OnDeviceInfoResult)
This method is used for getting device information like Firmware version, EMV lib version, CLESS version etc.
Parameters:
[IN] OnDeviceInfoResult - interface OnDeviceInfoResult that implements mandatory callback events (Callback function).
Interface: OnDeviceInfoResult
Success(deviceInfoVo: DeviceInfoVo) -Device information read from terminal successfully.
Parameters
deviceInfo – Output response of get device information.
Fail(errorMessage: String) - Device information read fails.
Parameters
errorMessage – error message
Start Transaction
Method:
StartTran(context: Context, lTransactonInfo:TransactionInfo, Onresult:OnCardReadListener)
This method is to read the card information and complete the EMV transaction process.
Parameters:
[IN]context – context
[IN]Transactioninfo–transaction input related data
[IN]OnCardReadListener - interface OnCardReadListener that implements mandatory callback events (Callback function).
Interface: OnCardReadListener
Success(cardInfo: CardInfo) – Read the card information successfully
Parameters
cardInfo – Output response of card information
Fail(errorMessage: String) - This event will be triggered when reading the card information fails. Refer the possible error here.
onNotification (Message: String,Mode:Int)
Parameters
Message – Notification message
Mode – 0 -> User to close the Notification dialog.
1-> User to show the Notification dialog.
onWarning(Message: String) - User need to show warning alert dialog.
onAppSelection(list:String) – Only applicable for EMV multi-application card. Inside the EMV card more than one AID present, then client application needs to show the EMV application selection.
onProcess(progressMessage: String?) – transaction is in the processing state.
Parameters
progressMessage – Progress message
Perform Transaction
Method:
performTxn(context: Context, lTransactonInfo: TranInputVo, Onresult: OnPerformTxnListener)
This method is used to communicate with the host and complete the transaction functionalities.
Parameters:
[IN]context – context
[IN]TranInputvo – Input transaction card related data
[IN] OnPerformTxnListener - interface OnPerformTxnListener that implements mandatory callback events (Callback function).
Interface: OnPerformTxnListener
onSuccess(outputVo:Any?) – triggered when transaction performed successfully.
Parameters
Any– Output response of Perform transaction information.
Any accepts all types of objects. For each transaction module, objects may vary. We need to convert objects into respective types of value according to the transaction module.
TranOutputVo tranOutputVo = (TranOutputVo) outputVo;
onFailure(errorMessage: String, outputVo: Any?, status: Int)
– This event will be triggered when transaction fails. Refer the possible error here .
Parameters
errorMessage – error message
status – get reversal transactions available status
1 – Reversal transaction is available
0 – Reversal transaction not available
onProgress(progressMessage: String?) - the transaction is in processing state
Parameters
progressMessage – Progress message
Pin Input
Method:
GetOnlinePin(context:Context, processorIndex:Int, Pan: String, Timeout: Int, Onresult: OnlinePinListener)
This method is used for getting pin from pinpad.
Parameters:
[IN]context – context
[IN]processorIndex– processor type
[IN]pan– Card Number
[IN]Timeout– pinpad timeout
[IN]OnlinePinListener - interface OnlinePinListener that implements mandatory callback events (Callback function).
Interface: OnlinePinListener
Success(pinblock:String,ksn:String)– Encrypted Pin Block generated successfully
Parameters
pinblock – Encrypted pin
ksn – pin block ksn
Fail(errorMessage: String)
– This event will be triggered when failure state
Fetch Transaction
Method:
FechPerformTxn(context: Context, lFetchInputVo:FetchInputVo, Onresult:OnPerformTxnListener)
This method is used for fetching the transaction details of Tip adjustment,void,ticket ,open summary,closed summary,batch report,detailed report.
Parameters:
[IN]context – context
[IN] lFetchInputVo – Input data to fetch the transaction.
[IN] OnPerformTxnListener - interface OnPerformTxnListener that implements mandatory callback events (Callback function).
Interface: OnPerformTxnListener
onSuccess(outputVo:Any?)– This event will be triggered when transaction information fetched successfully.
Parameters
outputVo – Output response of fetch transaction.
Any– Any accepts all types of objects. For each transaction module, objects may vary. We need to convert objects into respective types of value according to the transaction module.
- Void, Tip adjustment,Ticket ( List FetchList = (List) outputdata;)
- Open Summary, Close Summary (SummayVO summaryvo = (SummayVO) outputdata;)
- Batch Report ( List< BatchVo > batchvo = (List< BatchVo >) outputdata;)
- Detailed Report (List< ReportSummaryVO > reportsummaryvo = (List< ReportSummaryVO >) outputdata;)
onFailure(errorMessage: String, outputdata:Any?, status: Int)
This event will be triggered when transaction info fetch fails.
Parameters
errorMessage – error message
status –Reversal transactions available status.
1 – Reversal transaction is available
0 – Reversal transaction not available
onProgress(progressMessage: String?) – the progress message has shown
Parameters
progressMessage – Progress message
Settlement
Method:
Settlement (context: Context, lFetchInputVo:FetchInputVo, Onresult:OnPerformTxnListener)
This method is used for settling the transaction.
Parameters:
[IN]context – context
[IN] lFetchInputVo – Input data to settle the transaction
[IN] OnPerformTxnListener - interface OnPerformTxnListener that implements mandatory callback events (Callback function).
Interface: OnPerformTxnListener
onSuccess(outputVo:Any?)– This event will be triggered when transaction information settled successfully.
Parameters
outputVo – Output response of Settlement.
Any– Any accepts all types of objects. For each transaction module, objects may vary. We need to convert objects into respective types of value according to the transaction module.
- Settlement (SummayVO summaryvo = (SummayVO) outputdata;)
onFailure(errorMessage: String, outputdata:Any?, status: Int)
This event will be triggered when settlement fails.
Parameters
errorMessage – error message
onProgress(progressMessage: String?) – the progress message has shown
Parameters
progressMessage – Progress message
Print Receipt
Method:
PrintReceipt(lTransactonInfo: TranOutputVo, printerInfo:PrintInputVo, Onresult:ReceiptListener)
This method is used to print the transaction information.
Parameters:
[IN]TranOutputVo– output response of perform transaction
[IN]PrintInputVo– print input information
[IN]ReceiptListener - interface ReceiptListener that implements mandatory callback events(Callback function).
Interface: ReceiptListener
onSuccess() – This event will be triggered when transaction info is successfully printed
onFailure(errorMessage: String?) - This event will be triggered on printer failure
Clear Reversal
Method:
clearReversal():int
This method is used for clear reversal transaction data.
Returns
1 – Successfully cleared
0 – No records Found
Printer
Class:ValorPrint
ValorPrint class is used to print the text information, image in the paper.
Method:
initPrinter():Int
This method is used to initialize the printer.
This method needs to call before adding text to drawtext methods.
drawtext(text: String?, textSize: Float, bold: Boolean, align: Paint.Align?): Int
This method is used to add text at a line.
drawTwotext(leftText: String?, rightText: String?, textSize: Float, bold: Boolean):Int
This method is used to add two texts at a line (LEFT, RIGHT).
drawThreetext(leftText: String?,centerText:String?,rightText:String?,textSize: Float,bold: Boolean):Int
This method is used to add three texts at a line (LEFT, CENTER, RIGHT).
drawMultitext(percents: IntArray?,texts: Array?,textSize: Float,
bold: Boolean):Int
This method is used to add multiple texts and allocate the width according to percents. (maximum four texts).
drawimage(image: Bitmap?):Int
This method is used to add the image.
drawtextOffset():Int
This method is used to increase/decrease the space between the lines.
drawReverseText(text: String?, textSize: Float, bold: Boolean, align: Paint.Align
) :Int
This method is used to add text with reverse color.
feedPaper(height: Float):Int
This method is used to add empty space without printing.
print():Int
This method is used to print the buffer data.
Parameters:
String | [IN]text– text to be drawn.
float| [IN]textSize– set the size of the text to be drawn.
boolean| [IN]bold– true to set the text to bold, false to normal.
| [IN]align–set the alignment of text to be drawn (CENTER, RIGHT, LEFT).
String | [IN]leftText– text to be drawn on left side of the paper.
String | [IN]centerText– text to be drawn on center of the paper.
String | [IN**]rightText**– text to be drawn on right side of the paper.
float | [IN]offsetY– size to increase/decrease the space between lines
Bitmap | [IN]image– the image to be drawn
String[]| [IN]texts– multiple text to be drawn
Int[]| [IN]percents– set the ratio of text width to paper, from 0-100,
0 to automatically adapt the occupied width according to the text width.
If this value exceeds the remaining width, the remaining width is automatically used
float| [IN]height– height of the empty space to be drawn.
Returns:
0 – success
-1 – OUT_OF_PAPER
-2 – INIT_PRINTER_ERROR
-3 – PRINT_DATA_ERROR
Second Screen Display (Customer Face Screen) (VP800 Only)
Create Second Screen Display ( YourClass extends BasePresentation)
Extend the BasePresentation class to access the second screen display.
The sample codes are:
Call Second Screen Display
new Secondscreen(context).show();
Remove Second Screen
BasePresentation.removeAllPresentations(context);
Check the Dual Screen is Available or Not
Payment_SDK_Init
Method:
Payment_SDK_Init(context: Context, GiftCardTye:Int,Onresult: OnResult)
This method initializes the payment SDK. It consolidates the following processes:
• SDK_Service_Int
• LoadConfig
• SDKInt
All necessary service and configuration instances are initialized through this method.
Parameters:
[IN]context – context
[IN] GiftcardType – Type of Gift Card to initialize:
1 –VALUE_TECH,
2- Factor4
[IN] Onresult - Callback interface for handling SDK initialization events.
Interface: OnResult
Success() Called when the SDK has been initialized successfully..
Onprocess(progressMessage: String?) – Called to provide progress updates during initialization.
Fail (errorMessage: String?) - Called when SDK initialization fails, with error details.
BinLookUp
Method:
BinLookUp(EPI: String,CardBIN:String, ISV_key: String,APIUrl:String, ResponseTimeout:Int, Onresult: OnAPIResult)
This method is used to check whether a card is a credit or debit card by querying card BIN information.
Parameters:
[IN]EPI Device input for the current device.
[IN]CardBin – The first 6 digits of the card number (BIN).
[IN] ISV_key – ISV unique Key
[IN]APIurl – Valor API server URL to send the request. [IN]
ResponseTimeout – Timeout for the BinLookup response in seconds.
[IN] OnAPIResult - Callback interface implementing mandatory callback events.
Interface: OnAPIResult
This interface must be implemented by the caller to handle the results of the BinLookup operation.
onSuccess(outputVo:Any?)– Triggered when BinLookup successfully retrieves card information.
Parameters
outputVo – Output response object containing card number info
BinLookupInfo binLookupInfo= (BinLookupInfo) outputdata;
Onprogress(progressMessage: String?) – Called to provide progress updates during the operation.
onFailure (errorMessage: String?) - Called when BinLookup fails, providing an error message.
FetchTxnList
Method:
FetchTxnList(fetchAPIVo: FetchApiVo,Onresult: OnAPIResult)
This method retrieves transactions based on multiple filter criteria such as date ranges, transaction types, card schemes, RRN (Retrieval Reference Number), approval codes, etc.
Parameters:
[IN] fetchAPIVo – Input object containing the transaction filter criteria.
[IN] OnAPIResult - Callback interface to handle the results of the FetchTxnList operation.
Interface: OnAPIResult
This interface must be implemented by the caller to handle callback events from FetchTxnList
onSuccess(outputVo:Any?)– Triggered when transactions are successfully retrieved.
Parameters
outputVo – Output response object containing List transaction info
List FetchList = (List) outputVo;
Onprogress(progressMessage: String?) – Called to provide progress updates during the operation.
onFailure (errorMessage: String?) - Called when the fetch operation fails, providing an error message.
GetEPI
Method:
GetEPI(serialNo: String, ISV_key:String,APIUrl:String, ResponseTimeout:Int,
Onresult: OnAPIResult)
This method retrieves the current serial number configured EPI.
Parameters:
[IN] serialNo Input for the current device Serial number.
[IN] ISV_key – ISV unique Key
[IN]APIurl – Valor API server URL to send the request. [IN]ResponseTimeout – Timeout for the GetEPI response in seconds.
[IN] OnAPIResult - Callback interface implementing mandatory callback events.
Interface: OnAPIResult
This interface must be implemented by the caller to handle the results of the Get EPI operation.
onSuccess(outputVo:Any?)– Triggered when Get EPI successfully retrieves from the valor portal.
Parameters
outputVo – Output response object containing EPI
String EPI= (String) outputvo;
Onprogress(progressMessage: String?) – Called to provide progress updates during the operation.
onFailure (errorMessage: String?) - Called when GetEPI fails, providing an error message.
GetStoreInfo
Method:
GetStoreInfo(EPI: String,ISV_key: String,APIUrl:String,
ResponseTimeout:Int, Onresult: OnAPIResult)
Retrieves current EPI store information such as store name, address, city, etc.
Parameters:
[IN]EPI Device input for the current device.
[IN] ISV_key – ISV unique Key
[IN]APIurl – Valor API server URL to send the request.
[IN]ResponseTimeout – Timeout for the GetStoreInfo response in seconds.
[IN] OnAPIResult - Callback interface implementing mandatory callback events.
Interface: OnAPIResult
This interface must be implemented by the caller to handle the results of the GetStoreInfo operation.
onSuccess(outputVo:Any?)– Triggered when GetStoreInfo successfully retrieves store information.
Parameters
outputVo – Output response object containing store info
StoreInfo storeInfo = (StoreInfo) outputvo;
Onprogress(progressMessage: String?) – Called to provide progress updates during the operation.
onFailure (errorMessage: String?) - Called when GetStoreInfo fails, providing an error message.
OpenCashDraw
Method:
OpenCashDraw(Onresult: OnResult)
Initiates a command to open the cash drawer connected to the POS device.
Parameters:
[IN] Onresult - A callback interface to handle the result of the cash drawer operation.
Interface: OnResult
Success() Called when the SDK has successfully initiated the command to open the cash drawer.
Onprocess(progressMessage: String?) – Called to provide progress updates during the cash drawer operation.
Fail (errorMessage: String?) - Called when the cash drawer fails to open, returning an error message with details.
Class: DeviceInfoVo
String |[OUT] SerialNum| Device Serial Number
String |[OUT] FirmwareVer | Device Firmware Version
String |[OUT] BatteryPerc | Device Battery Percentage
String |[OUT] BatteryStatus | Device Battery Status
String |[OUT] CT_KernelVer | EMV Kernal Version
String |[OUT] CL_KernelVer| Contactless Kernal Version
String |[OUT] Device_Model| Device Model
String |[OUT] SDKVersion| sdk version
String |[OUT] SMVer| Secure Module version
String |[OUT] Total_DiskSize| Device total disk size
String |[OUT] Total_RamSize| Device total Ram size
String |[OUT] Used_Disksize| Used disk size
String |[OUT] Used_RamSize| Used Ram size
Class:Transactioninfo
Int |[IN] amount | Amount |0-9999999
Int |[IN] processorIndex | Processor Name
Int |[IN] tranMode |Transaction Mode
Int |[IN] tranCode |Transaction Type
Int |[IN] cardReadTimeout | Card Read Timeout in seconds| default value is 30.
Int |[IN] pinInputTimeout | Pin Input Timeout in seconds|default value is 45.
Int |[IN] pinByPass | State of Pin ByPass enable/disable.
0 –not allowed
1 – pinByPass allowed
Int |[IN] fallBackCount | Card Fallback Count default value is 2
Int |[IN] disablePin | State of pin enable/disable.
0 – not allowed
1 – allowed
Int |[IN] allowFallBack | allow Fallback or not.
0 – not fallback
1 –allow fallback
Int |[IN] cashBackamount | cashback Amount |0-9999999
Int |[IN] iPaymentMethod | Payment Methd
Int |[IN] pinKeyIndex| pin key Index
Int |[IN] pinpan| pan number
Int |[IN] pinRequired | pin required or not.
0 –pin not required
1 –pin required
Class: CardInfo
String |[OUT] track1 | Encrypted Track 1 data.
String |[OUT] track2 | Encrypted Track 2 data.
String |[OUT] track2Ksn | Get KSN of the Track 2 data.
String |[OUT] maskedPan | Get Masked Pan Number
String |[OUT] expiryDate | Expiry date of card.
String |[OUT] cardHolderName | Card Holder Name
String |[OUT] DE55Data | TLV data.
String |[OUT] pinBlock | Encrypted pin block.
String |[OUT] pinBlocKsn | pin block ksn.
String |[OUT] aid | Application Identifier
String |[OUT] tsi | Terminal Status Information
String |[OUT] tvr | Terminal Verification Results
String |[OUT] cardLabel | Card Label Information
String |[OUT] applicationLabel | Application Label
String |[OUT] appPreferredName | Application Preferred Name
Boolean |[OUT] isSignMandatory | check Signature is Mandatory
true -Signature Mandatory
false - Signature Not Mandatory
Int |[OUT] pinType | Get Pin Type
0 - Default
1 – Online Pin
2 – Offline Pin
Int |[ OUT] amount | Amount |0-9999999
Int | [ OUT] cashbackAmount | Debit Cashback Amount | 0-9999999
Boolean |[OUT] isFallback| check fallback or not
true - fallback
false - not fallback
Int | [ OUT] tranMode |Transaction Mode
Int | [ OUT] tranCode |Transaction Type
Int | [ OUT] parentMode|Parent Transaction Mode
String |[OUT] serviceCode |Service code.
Int | [ OUT] posEntryMode|pos Entry Mode
String | [ OUT] pan | Card number.
String | [ OUT] issuerScheme| card brand Name.
Int |[OUT] EMVTxnResult|EMV transaction result when failure state
1- EMV_ARQC
2- EMV_AAC
Int | [ OUT] pinResult|pin result when failure state
Class:TranInputVo
String |[IN] txnServerIP | Perform transaction Ip (Demo or Production)
Int |[IN] txnServerPort | Perform transaction Port Number (Demo or Production)
Int |[IN] connectionTimeout | Connection Timeout in seconds default value is 30.
Int |[IN] sendTimeout | Send Request Timeout in seconds default value is 30.
Int |[IN] receiveTimeout | Receive Response Timeout in seconds default value is 30.
Int |[IN] tranMode |Transaction Mode
Int |[IN] tranCode |Transaction Type
Int |[IN] parentTranCode| Parent Transaction Type | not applicable
Int |[IN] amount | Amount |0-9999999
Int |[IN] feeAmount | Custom Fee Amount | 0-9999999
Int |[IN] stateTaxAmt | State Tax Amount | 0-9999999
Int |[IN] stateTaxFeeAmt | State Tax Fee Amount | 0-9999999
Int |[IN] cityTaxAmt | City Tax Amount | 0-9999999
Int |[IN] tipAmount | Tip Amount | 0-9999999
Int |[IN] cashbackAmount | Debit Cashback Amount | 0-9999999
String | [ IN] track1 | Encrypted Track 1 data.
String |[IN] track2 | Encrypted Track 2 data.
String |[IN] track2Ksn | KSN of the Track 2 data.
String |[IN] rrn | Retrieval Reference Number
String |[IN] expiryDate | Expiry Date
String |[IN] cardHolderName | Card Holder Name
String |[IN] pinBlock | Encrypted Pin data.
String |[IN] ksn | Pin block ksn
String |[IN] stanNo | System Trace Audit Number
Int |[IN] fallback | Fallback Type.
0 – Default
String |[IN] terminalId | Terminal Id for fetch transaction.
String |[IN] epiId | Epi Id
String |[IN] profileType | Profile Id
“0”- Traditional
“1” – Surcharge
String |[IN] ebtSerialNo | Serial number for EBT voucher sale.
String |[IN] ebtApprovalCode | Approval code for EBT voucher sale.
String |[IN] cardHolderAddress | Card Holder Address
String |[IN] cardHolderZip | Card Holder Zip
String |[IN] cvv | cvv number
Int |[IN] tipFeeAmt | Tip Fee Amount
Int |[IN] fetchType| Getting data from Fetch Type
1 - Tran no
2 - Card no
String |[IN] tranNumber | Tran Number for getting fetch data.
String |[IN] clerkId | input clerk id
String |[IN] clerkName | input clerk Name.
String |[IN] clerkLabel | input clerk Label
String |[IN] vasLabel1| Additional input vas label 1
String |[IN] vasLabel2| Additional input vas label 2
String |[IN] vasLabel3| Additional input vas label 3
String |[IN] vasData1| Additional input vas data 1
String |[IN] vasData2| Additional input vas data 2
String |[IN] vasData3| Additional input vas data 3
String | [ IN] DE55Data | TLV data
String |[ IN] Last4digitcardNo| pan number last 4 digit
Int |[ IN] batchNo | Batch Number
String |[ IN] batchId | Batch ID
Int|[ IN] cashDiscountAmt | Cash Discount Amount
Int|[ IN] cityTaxFeeAmt| City Tax Fee Amount
Boolean |[ IN] isSignMandatory | Need Signature is Mandatory
true – Signature Mandatory
false- Signature Not Mandatory
String |[ IN] maskedPan | Get Masked Pan Number
String |[ IN] mid | Merchant Id
String |[ IN] pan | Card number
String |[ IN] pinBlocKsn | Get KSN of the pin
String |[IN] pinBlock | Encrypted Pin information.
Int |[ IN] posEntryMode|pos Entry Mode
String |[ IN] responseCode | Response code of transaction
- "00" - Success
- "10" – Partial Approved Transaction
- "VH" - hsm host failed
- "VT" - hsm invalid data
- "VI" - hsm invalid format
Int |[ IN] tipAmount | Tip Amount
String [IN] txnId| Unique identifier for each transaction
String [IN] refundMode| Indicates how the refund is processed: based on the original transaction or as a new (fresh) transaction

Class: FetchVO
Int |[OUT] tranMode |Transaction Mode
Int |[OUT] tranCode |Transaction Type
Int |[OUT] parentTranCode| Parent Transaction Type
- Void = new Trancode().getVOID();
- Tip adjustment = new Trancode().getTIP_ADJUSTMENT();
- Ticket = new Trancode().getTICKET();
Int |[OUT] tranAmount | Transaction Amount
String |[OUT] | rrn | Retrieval Reference Number
String |[OUT] dateAndMonth | Transaction date and month
String |[OUT] time | Transaction Time
String |[OUT] year | Transaction Year
String |[OUT] responseCode| Response code of transaction
- "00" - Success
- "10" - Partial Approved Transaction
- "VH" - Hsm host failed
- "VT" - Hsm invalid data
- "VI" - Hsm invalid format
String |[OUT] sErrorCode | Error code
Int |[OUT] sEbtBalance | Balance Amount of EBT transaction
Int |[OUT] batch | Batch Number
String |[OUT] shostAuthRespTxt | Host Auth Response Text
String |[OUT] tranNo | Tran Number of transaction
String |[OUT] customFee | Custom Fee Amount
String |[OUT] stateTax | State Tax Amount
String |[OUT] cityTax | City Tax Amount
String |[OUT] tipAmount | Tip Amount
String |[OUT] debitCashBack | Debit Cashback Amount
String |[OUT] cashDiscountAmt| Cash Discount Amount
String |[OUT] stanNo | System Trace Audit Number
String |[OUT] aid | Get Aid value
String |[OUT] tsi | Terminal Status Information
String |[OUT] tvr | Terminal Verification Results
String |[OUT] tid | Terminal Id
String |[OUT] mid | Merchant Id
String |[OUT] epi | Epi Id
String |[OUT] profileId | Profile Id
- “0”- Traditional
- “1” – Surcharge
String |[OUT] preferedName | Preferred Name
Int |[OUT] iTipAdjust | Tip Adjusted status
- 1 – Tip Adjusted
- Others – Tip not adjusted
Int |[OUT] tipEligible | Tip Adjust Eligible
- 0 – Not Eligible
- 1 – Eligible
Int |[OUT] tipFeeAmt | Tip Fee Amount
String |[OUT] clerkId | input clerk id
String |[OUT] clerkName | input clerk Name
String |[OUT] clerkLabel | input clerk Label
String |[OUT] vasLabel1 | Additional input vas label 1
String |[OUT] vasLabel2 | Additional input vas label 2
String |[OUT] vasLabel3 | Additional input vas label 3
String |[OUT] vasData1 | Additional input vas data 1
String |[OUT] vasData2 | Additional input vas data 2
String |[OUT] vasData3 | Additional input vas data 3
String |[OUT] cardHolderName | Card Holder Name
String |[OUT] cardLabel | Card Label Information
String |[OUT] maskedPanz | Get Masked Pan Number
Int | [ OUT] posEntryMode|pos Entry Mode
String |[OUT] authcode| authorization code
String [out] cartType| Type of card used in the transaction (e.g., Credit,Debit, etc.)
String [out] txnId| Unique identifier for each transaction
String [out] refundAmt| Amount refunded for the transaction
String [out] reducedTax| Reduced tax amount applied to the transaction
Class: TranOutputVo
Int |[OUT] tranMode |Transaction Mode
Int |[OUT] tranCode |Transaction Type
Int |[OUT] tranAmount | Transaction Amount
Int |[OUT] isPartialApproved | Partial Approved flag
- 1 – Partial Approved
- Other - not partial Approved
Int |[OUT] partialNetAmount | partail Net Amount
String |[OUT] RRN| Retrieval Reference Number
String |[OUT] localDate | Transaction date
String |[OUT] localTime | Transaction Time
String |[OUT] authId** **| Gift card type of Transaction Authorization Id
String |[OUT] responseCode | Response code of transaction
- "00" - Success
- "10" – Partial Approved Transaction
- "VH" - hsm host failed
- "VT" - hsm invalid data
- "VI" - hsm invalid format
String |[OUT] terminalId| Response code of terminal Id
String |[OUT] errorCode | This value describes an error code that identifies what type of error occurs
Int |[OUT] balanceAmount | Balance Amount of Ebt Card and gift card types
Int |[OUT] totalTran | Total transaction count
Int |[OUT] batchNo | Batch Number
String |[OUT] adtlRespData | Additional Approval Code
String |[OUT] hostAuthRespTxt | Host Auth Response Text
String |[OUT] txnId | Host Transaction Id
String |[OUT] respText | Response Message
String |[OUT] tranNumber| Tran Number of transaction
List |[OUT] fetchVOList | List of transaction fetch data
List |[OUT] fetchBatchVOList | List of Batch fetch data
List |[OUT] reportSummaryVOList | List of report summary fetch data
List |[OUT] tipSummaryVOList | List of tip summary fetch data
List |[OUT] fetchVOList | List of transaction fetch data
String |[ OUT] issuerScheme| Card brand Name
String |[OUT] MID| Merchant Id
String |[OUT] aid | Application Identifier
String |[OUT] tsi | Terminal Status Information
String |[OUT] tvr | Terminal Verification Results
HashMap<String,Int> |amountTypeVOS | List of amount type
HashMap<String,String> | vasdata | List of additional vas data
String |[OUT] appPreferredName | Application Preferred Name
String |[OUT] authcode| authorization code
String |[ OUT] clerkId | input clerk id
String |[ OUT] clerkName | input clerk Name
String |[ OUT] clerkLabel | input clerk Label
String |[OUT] stanNo | System Trace Audit Number
Boolean |[OUT] isSignMandatory | Need Signature is Mandatory
- true – Signature Mandatory
- false- Signature Not Mandatory
String |[OUT] tipAmout | Tip Amount
String |[OUT] totalAmout | Tip Amount
Int |[ OUT] posEntryMode|pos Entry Mode
Int |[ OUT] BalanccetipAmt |Balance Tip amount
Class: PrintInputVo
Boolean |[IN] isOfflineTip| to enable smartTip
- true – print smart tip
- false - not print
String |[IN] cardHolderName | Card Holder Name
String |[IN] maskedPan | Get Masked Pan Number
HashMap<String, String > | [IN] smartTips| smarttips in dollar / percentage
Int |[IN] rcptType| receipt type
- 1 - Merchant Copy
- 2 – Customer Copy
String |[IN] invoice| invoice number.
Boolean | [ IN] isSignMandatory | Need Signature is Mandatory
- true -Signature Mandatory
- false- Signature Not Mandatory
String |[IN] Sigbase64 | Signature base64 format.
List |[IN] HeaderMsg | List of header messages
List |[IN] FooterMSg | List of footer messages.
List |[IN] Disclosure | List of disclosure messages.
List |[IN] promomsg | List of promotional messages.
Class: BatchListVo
String |[OUT] batchId | Batch ID
String |[OUT] batchNo | Batch Number
String |[OUT] ClsdateTime| Batch Close date and Time
String |[OUT] totAmount | Batch total amount
String |[OUT] totcount| Batch transaction Total count
String |[OUT] OpenBdateTime| Batch Open date and Time
Class: FetchInputVo
String |[IN] txnServerIP | transaction Ip (Demo or Production)
Int |[IN] txnServerPort | transaction Port Number (Demo or Production)
Int |[IN] connectionTimeout | Connection Timeout in seconds default value is 20.
Int |[IN] sendTimeout | Send Request Timeout in seconds default value is 20.
Int |[IN] receiveTimeout | Receive Response Timeout in seconds default value is 30.
Int |[IN] tranMode |Transaction Mode
Int |[IN] tranCode |Transaction Type
- Void, Tip adjustment,Ticket = new Trancode().getFETCH_TXN();
- Open Summary, Close Summary = new Trancode().getFETCH_SUM();
- Batch Report = new Trancode().getFETCH_BA_RPT();
- Detailed Report = new Trancode().getFETCH_DE_RPT();
- Settlement = new Trancode().getSETTLEMENT();
Int |[IN] parentTranCode| Parent Transaction Type
- Void = new Trancode().getVOID();
- Tip adjustment = new Trancode().getTIP_ADJUSTMENT();
- Ticket = new Trancode().getTICKET();
- Open Summary = new Trancode().getSETTLEMENT_BEFORE_BATCH();
- Close Summary = new Trancode().getSETTLEMENT_AFTER_BATCH();
String |[IN] epiId | Epi Id
Int |[IN] fetchType| Getting data from Fetch Type | applicable to transactions like Void,Tip adjustment,Ticket
- 1 - Tran no
- 2 - Card no
String |[IN] tranNumber | Tran Number for getting fetch data | applicable to transactions like Void, Tip adjustment,Ticket.
String |[ IN] Last4digitcardNo| pan number last 4 digit | applicable to transactions like Void, Tip adjustment, Ticket.
String |[ IN] batchId | Batch ID | applicable to Detail Report
Int |[ IN] batchNo | Batch Number | applicable to Detail Report
Class: SummaryVO
Int |[OUT] batch | Batch Number
String |[OUT] dashBatchCount | total record count
String |[OUT] dashNonCash | total non-cash charge
String |[OUT] dashTax | total tax
String |[OUT] netAmount | net amount
String |[OUT] batchOpenAt | batch open date and time
String |[OUT] batchClosedAt | batch close date and time
String |[OUT] saleCount | sale transaction count
String |[OUT] saleAmt | sale transaction amount
String |[OUT] voidCount| void transaction count
String |[OUT] voidAmt | void transaction amount
String |[OUT] refundCount | Refund transaction count
String |[OUT] refundAmt | Refund transaction amount
String |[OUT] ticketCount | ticket transaction count
String |[OUT] ticketAmt | ticket transaction amount
String |[OUT] cashSaleCount | cashsale transaction count
String |[OUT] cashSaleAmt | cashsale transaction amount
String |[OUT] cashRefundCount| cashRefund transaction count
String |[OUT] cashRefundAmt| cashRefund transaction amount
String |[OUT] cashBackCount| cashback transaction count
String |[OUT] cashBackAmt| cashback transaction amount
String |[OUT] tipCount | tip count
String |[OUT] tipAmt| tip amount
String |[OUT] cityTaxAmt| city tax amount
String |[OUT] stateTaxAmt| state tax amount
String |[OUT] withdrawlCount| withdrawal count
String |[OUT] withdrawlAmt| withdrawal amount
String |[OUT] closedBatchNo| closed Batch Number
String |[OUT] closedBatchId| closed Batch ID
String |[OUT] giftSaleCount| Gift sale count
String |[OUT] giftSaleAmount| Gift sale amount
String |[OUT] giftAddValCount| Gift add value count
String |[OUT] giftAddValAmount| Gift add value Amount
String |[OUT] giftTipCount| Gift Tip count
String |[OUT] giftTipAmount| Gift Tip amount
List |[ OUT] issSummaryVoList| List of issuer transaction count, amount info
Int |[OUT] newbatch | new Batch Number | only applicable to Settlement
Class: ReportSummaryVO
String |[OUT] maskedPanNumber | Masked Pan Number
String |[OUT] cardLabel | Card Label Information
Int |[OUT] tranAmount | Transaction Amount
String |[OUT] amountOthers| Other amount (TIP)
String |[OUT] taxAmount | Tax amount
String |[OUT] merchantFee| merchant Fee amount
String |[OUT] customFee | Custom Fee Amount
String |[OUT] stateTax | State Tax Amount
String |[OUT] cityTax | City Tax Amount
Int |[OUT] tranMode |Transaction Mode
Int |[OUT] tranCode |Transaction Type
Int |[OUT] parentTranCode| Parent Transaction Type
String |[ OUT] issuer| Card brand Name
String |[OUT] tranNo | Tran Number of transaction
String |[OUT] authcode| authorization code
String |[OUT] date | Transaction date
String |[OUT] time | Transaction Time
String |[OUT] dateAndtime | Transaction date and time
String |[OUT] batch | Batch Number
String |[ OUT] clerkId | input clerk id
String |[ OUT] clerkName | input clerk Name.
String |[ OUT] clerkLabel | input clerk Label
String |[ OUT] vasLabel1| Additional input vas label 1
String |[ OUT] vasLabel2| Additional input vas label 2
String |[ OUT] vasLabel3| Additional input vas label 3
String |[ OUT] vasData1| Additional input vas data 1
String |[ OUT] vasData2| Additional input vas data 2
String |[ OUT] vasData3| Additional input vas data 3
String |[OUT] profileId | Profile Id
- “0”- Traditional
- “1” – Surcharge
Int|[ OUT] cashDiscountAmt | Cash Discount Amount
Int |[ OUT] tipFeeAmt | Tip Fee Amount
String |[ OUT] rrn | Retrieval Reference Number
String |[OUT] txnId | Transaction id
Int |[ OUT] issueRefundAmt|Issue Refund Amount
Int |[ OUT] netAmt| Net amount
String |[OUT] responseCode| response code
Class: StoreInfo
String |[OUT] serialNo| EPI configured device Serial Number
String |[OUT] storeName| The official name of the store
String |[OUT] storeSupervisor| Name of the person supervising or managing the store
String |[OUT] storeEmail| Email address for the store.
String |[OUT] storePhone| Store’s contact phone number.
String |[OUT] storeAddress| Full physical address for the store is located.
String |[OUT] storeZip: | Postal or ZIP code of the store’s location.
String |[OUT] storeCity: | City name of the store location
String |[OUT] storeState | State for the store resides
String |[OUT] storeTimeZone | Store operating Time zone
Class: BinLookupInfo
String |[OUT] cardBrand| The brand of the card (e.g., Visa, MasterCard, Amex).
String |[OUT] cardType| The type of the card, usually represented by codes:
1 -> CREDIT,
2 -> DEBIT,
3 -> EBT,
10 -> UNKNOWN.
String |[OUT] cardBin| The first 6 digits of the card number
Class: FetchApiVo
Int |[IN] Epi| Identifier for the device.Int |[IN] processorIndex | Processor Name
Int |[IN] ISVkey| Unique key for ISV User
Int |[IN] dateFilter| Filter the transaction records based on their date. Default is Recent – 0
Int |[IN] transactionType| Type of transaction (sale, refund, etc.). Default is ALL - 0
Int [IN] cardScheme| Type of card used (VISA, MASTERCARD, etc.). Default is ALL - 0
String [IN] filterType| Generic filter the transaction for specific fields like EPI, RRN etc. Default NONE-“”
String [IN] filterText| The value used to search or filter transactions based on the selected filter type (e.g., EPI, RRN, TXN_ID, etc.).
String [IN] startDateRange & endDateRange |Date range filters Except format is yyyy-MM-dd
[IN]ResponseTimeout – Timeout for the response in seconds. Default 30Seconds
[IN]requesturl – Valor API server URL to send the request.
Import AAR file in Android Studio
To import an .aar (Android Archive) file into your Android Studio project, follow these steps:
Download the aar file VP ARR
- Copy the .aar file:
- Copy the .aar file into the libs directory of your Android project. If it doesn't exist, create it under your app module.
- Example path: app/libs/your-library.aar
- Add the .aar as a module dependency:
- In Android Studio, go to File > New > New Module.
- Select Import .AAR Package.
- Browse and select the .aar file you copied to the libs directory.
Click Finish.
- Add the dependency to your app's build.gradle file:
- Open your app-level build.gradle file (typically app/build.gradle).
- Add the following line inside the dependencies block to link the .aar file:

Transaction Type
1 SALE
2 VOID
3 PRE_AUTH
4 TICKET
5 RETURN
6 EBT_VOUCHER_SALE
7 EBT_VOUCHER_RETURN
8 EBT_BALANCE
9 SETTLEMENT
20 TIP_ADJUSTMENT
35 REVERSAL_TRANSACTION
38 BALANCE_ENQUIRY
39 FETCH_TXN
41 SETTLEMENT_AFTER_BATCH
42 SETTLEMENT_BEFORE_BATCH
43 FETCH_SUM
47 FETCH_BA_RPT
48 FETCH_DE_RPT
44 WITHDRAWAL
49 GIFT_ACTIVATION
50 GIFT_DEACTIVATION
51 GIFT_ADDVAL
Transaction Mode
1 CREDIT
2 DEBIT
3 EBT FOOD
4 EBT CASH
5 GIFT CARD
6 CASH
Payment Method / POS Entry Mode
1 Manual Card Present: The card is physically available at the merchant.
2 Manual Card Not Present: The physical card is not available; only the card number is provided.
3 Swipe: The cardholder swiped the card through the POS terminal.
4 CHIP: The card is inserted into the POS terminal and reads the chip.
5 TAP (CHIP-based): The cardholder taps a contactless CHIP-based card on the card reader.
6 TAP (Swipe-based): The cardholder taps a swipe-based contactless card on the reader.
Processor
1 TSYS
2 FDR OMAHA(F/B)
3 FDR NORTH / CARDNET
4 FDR NORTH / BUYPASS
5 FDR NORTH / NASHVILLE
7 EPX
9 PRIORITY PAYMENT
Please see the link for VP SERIES SDK
Demo Server:
Lookup Hostname: switch-staging.valorpaytech.com
Production Server
Lookup Hostname: switch-prod.valorpaytech.com
How To Load APK Via ADB
To install ValorPay apps via ADB (Android Debug Bridge), follow these
Enable Developer Options on the Android Device:
- Go to Settings > About Phone.
- Tap Build Number repeatedly until you see "You are now a developer!".
- Go back to Settings > Developer Options and enable USB Debugging.
Install ADB on Your Computer:
This command will automatically download and install ADB. Scoop will let you know if you're lacking any of the dependencies. If it asks you to install them, type Y and press Enter on your keyboard to allow it.
scoop install adb
That's it! ADB is ready to deploy. You'll need to input different commands if you're using other platforms. The command for Linux would be:
sudo apt-get install android-tools-adb
Launch the Terminal
Can use a terminal such as Command Prompt to operate ADB.
- Open the folder in File Explorer.
- On your keyboard, press Alt + D. This will highlight the address bar.
- In the address bar, type cmd and then press Enter.
Connect to Your Android Device With ADB
Enable USB debugging to connect to your Android device. With USB debugging enabled, connecting your device to your computer with a USB cable will automatically connect it to ADB. If a prompt comes up on your Android device, accept it to grant your computer the required permissions.
To ensure you're connected, run the command below in Command Prompt:
adb devices
Connect Wirelessly
If you're keen on connecting wirelessly, go to your Android device's Developer options and enable Wireless debugging and Wireless ADB debugging.
Then head back to Settings, go to About phone, and tap on Status. Scroll down and jot down your device's local IP.



With everything ready, it's time to connect your Android device wirelessly. Ensure the two devices are on the same connection (your home Wi-Fi, for instance). Open Command Prompt, replace the IP in the command below with your device's IP, and then run it.
adb connect 192.168.1.128
Once you run this command, a prompt will appear on your Android device. Allow it to give your computer debugging permissions. Now run the command below to see a list of connected devices. Your device's IP address should be listed
adb devices
Install the APK With ADB
Finally, it's time to install the APK file on your Android device. This final step is easy as pie—assuming that you've opened Command Prompt in the same directory as your APK files and are connected to your Android device.
It takes one simple command to install APK files with ADB:

Replace VALORSTORE.apk with your file's name in the command above and run it in Command Prompt. The .apk extension is necessary, so don't leave it out!
ADB should reply with Performing Streamed Install. This will take a while, depending on the app and your device. Once the installation is complete, ADB will return Success.
APK is now successfully sideloaded on your Android device, and you didn't even have to move the files. You had to accept some prompts on your Android device to grant some permissions since this was the first time, but from now on, all you need to do is to connect and install.
Possible error messages for startTran
- Onresult.Fail("SDK Not Initialized"): This indicates that the Software Development Kit (SDK) has not been initialized before attempting the operation.
- Onresult.Fail("Invalid TranMode"): The transaction mode (TranMode) provided is invalid. The system might be expecting a specific mode (like credit, debit, or other types), and the provided mode does not match the expected values.
- Onresult.Fail("Invalid TranCode"): The transaction code (TranCode) is incorrect or invalid. This could be a code used to identify the type of transaction (purchase, refund, etc.), and the one provided isn't recognized by the system.
- Onresult.Fail("Invalid Amount"): The transaction amount provided is invalid.
- Onresult.Fail("Gift Card Transaction Not Supported"): This error indicates that the system does not support transactions involving gift cards.
- Onresult.Fail("Cashback Amount Not Supported"): The system doesn't support cashback amounts in the transaction. If a request for cashback was made, it would be rejected with this error.
- Onresult.Fail("P2P Key Not Available"): This error suggests that a required key for a Peer-to-Peer (P2P) transaction is not available. P2P transactions often require specific encryption keys, and if those aren't available, the transaction cannot proceed.
Possible error messages for PerformTxn
- Onresult.onFailure("SDK Not Initialization", null, 0): The SDK was not properly initialized before attempting the transaction.
- Onresult.onFailure("Invalid EPI ID", null, 0): The provided EPI (Electronic Payment Interface) ID is invalid.
- Onresult.onFailure("Invalid TxnServerIP", null, 0): The IP address for the transaction server is invalid.
- Onresult.onFailure("Invalid TxnServerIP or TxnServerPort", null, 0): The transaction server’s IP address or port is incorrect or unreachable.
- Onresult.onFailure("Invalid TranCode", null, 0): The transaction code provided is invalid.
- Onresult.onFailure("EBT Serial n.o, Approval code or PAN details are missing", null, 0): Missing critical information, such as the serial number, approval code, or PAN (Primary Account Number) details.
- Onresult.onFailure("Tip, Fee or Tax Amount not Support", null, 0): The system does not support processing tip, fee, or tax amounts.
- Onresult.onFailure("Invalid Amount", null, 0): The transaction amount is not valid.
- Onresult.onFailure("Tip Amount not Support", null, 0): The tip amount is not supported for the transaction.
- Onresult.onFailure("PinBlock Missing", null, 0): Missing pinblock data, which is crucial for processing PIN-based transactions.
- Onresult.onFailure("CashBack Amount no Support", null, 0): The system does not support cashback for the transaction.
- Onresult.onFailure("Invalid PinBlock", null, 0): The pinblock provided is invalid.
- Onresult.onFailure("PinBlocKsN Missing", null, 0): Missing the PinBlocKsN, which could be related to the PIN block number or other necessary data.
- Onresult.onFailure("Invalid PinBlocKsN", null, 0): The PinBlocKsN provided is incorrect.
- Onresult.onFailure("EMV/CLSS DE55Data Missing", null, 0): The required EMV/CLSS (Europay, MasterCard, and Visa Contactless) data in DE55 format is missing.
- Onresult.onFailure("Tip Amount no Support", null, 0): Another mention of the system not supporting a tip amount for the transaction.
- Onresult.onFailure("Pan Number or Expiry Input Wrong", null, 0): The PAN (card number) or expiry date provided is incorrect.
- Onresult.onFailure("Card Not Present Not Support", null, 0): The system does not support transactions where the card is not present (e.g., for online transactions or phone payments).
- Onresult.onFailure("Serial number is Wrong", null, 0): The serial number provided is incorrect or invalid.
- Onresult.onFailure("Pan Number Input Wrong", null, 0): The PAN (Primary Account Number) input is wrong.
- Onresult.onFailure("Invalid Profile Type", null, 0): The provided profile type is invalid for the transaction.
- Onresult.onFailure("Fee Not Supported To Traditional Profile", null, 0): Fees are not supported in the traditional profile for the transaction.
- Onresult.onFailure("Key Not Available", null, 0): A required encryption or transaction key is missing.
- Onresult.onFailure("Invalid STAN Number", null, 0): The STAN (System Trace Audit Number) provided is invalid.
- Onresult.onFailure("Socket connection failed", TranOutputVo, 0): The connection to the server failed, possibly due to network issues.
- Onresult.onFailure("Invalid ISO", TranOutputVo, 0): The ISO 8583 message or data format is invalid.
- Onresult.onFailure("Transaction Declined", TranOutputVo, 0): The transaction was declined for some reason.
- Onresult.onFailure("HSM RETRY ERROR", TranOutputVo, 0): An error occurred while trying to interact with the Hardware Security Module (HSM).
- Onresult.onFailure("FORMAT ERROR", TranOutputVo, 0): A formatting error occurred, possibly due to incorrect message .
- Onresult.onFailure("HSM_INVALID_DATA", TranOutputVo, 0): The data sent to the HSM was invalid.