Payment App AIDL Integration
1. Introduction
This document descripts how to use android AIDL to call payment app.
2. Transaction Flow
a) put the aidl and java folders into path src/main under app module
b) rebuild your project to build aidl source code
c) bind the service and call payment app
package: com.wizarpos.cashieragent
action: com.wizarpos.payment.aidl.pay
3. Transaction Request Content
Transaction Request is content is json format as below:
TransType
String
Indicate transaction type to be performed.
TransScheme
String
Cooperation with TransType,used in specific schemes
CallerName
String
Caller name
TransIndexCode
String
Indicate Cashier trace number
Should be unique for every transaction
BusinessNum
String
Business registration number
TerminalNum
String
Terminal number
TransAmount
String
[Mandatory for payment]
Total amount including OtherAmount and TipAmount
“112233” means 1122.33(USD) or 112.233(JOD) depending on CurrencyCode
OtherAmount
String
Cash back amount
TipAmount
String
Tip amount
TaxAmount
String
Tax amount, should be included in TransAmount
DutyFreeAmount
String
value of the tax exemption amount, should be included in TransAmount
CurrencyCode
String
Indicate currency code of transaction
156: RMB
840: USD
400: JOD
ReqTransDate
String (YYYYMMDD)
exp. “20201212”
ReqTransTime
String (hhmmss)
exp. “1614033”
OriTransIndexCode
String
Original request TransIndexCode
OriTraceNum
String
OriInvoiceNum
String
Original transaction InvoiceNum
OriTransId
String
Indicate original transaction id
OriRrn
String
Indicate original RRN
OriTransDate
String(YYYYMMDD)
Indicate original transaction date
OriTransTime
String(hhmmss)
Indicate original transaction time
EnableReceipt
boolean
false-Disable Receipt
true-Enable Receipt
AppendingReceiptInfo
String
Indicate message to be printed on receipt
SkipConfirmProcedure
boolean
false-Don not Skip
true-Skip Confirm Procedure
EnableCancelInPayment
boolean
true-Enable user cancel operation
false-Disable user cancel operation
AdditionalInfo
String
Request content sample:
4. Transaction Response Content
Transaction Request is content is json format which contain request data as below:
TransType
String
Indicate transaction type to be performed.
TransScheme
String
Cooperation with TransType,used in specific schemes
CallerName
String
Caller name
TransIndexCode
String
Indicate Cashier trace number
TransResult
boolean
true: Success
false: Failed
RespCode
String
Response code from host server
RespDesc
String
Response message from host server
ApprovalCode
String
Approval code from host
CardNum
String
EntryMode
Int
0x01: Manual Entry
0x02: Swipe Entry(no CVV)
0x05: Contact ICC(with CVV)
0x07: Contactless
0x90: Swipe Entry(with CVV)
0x91: Contactless MSD
0x95: Contact ICC(no CVV)
ExpiryDate
String
CardBrand
String
exp.
Visa/MasterCard/Amex/Discover
TransAmount
String
[Mandatory for Sale/Refund]
“112233” means
1122.33(USD) 112.233(JOD)
OtherAmount
String
Cash back amount
TipAmount
String
Tip amount
Balance
String
TaxAmount
String
Tax amount, should be included in TransAmount
DutyFreeAmount
String
value of the tax exemption amount
CurrencyCode
String
Indicate currency code of transaction
156: RMB
840: USD
400: JOD
CountryCode
String
DccOriCurrencyCode
Integer
[Mandatory when DCC]
Original Request Currency Code to be converted
DccOriAmount
String
[Mandatory when DCC]
Original Request Amount
DccFee
String
[Mandatory when DCC]
DCC Fee of the transaction
DccExchangeRate
String
[Mandatory when DCC]
DCC exchange rate
DccMarkUp
String
[Mandatory when DCC]
DCC mark up
DccFooterText
String
[Mandatory when DCC]
DCC footer text
TransDate
String (YYYYMMDD)
Transaction date
exp. “20201212”
TransTime
String (hhmmss)
Transaction time
exp. “1614033”
MID
String
Merchant ID
TID
String
Terminal ID
MerchantName
String
Merchant Name
MerchantAddress
String
Merchant Address
TraceNum
String
Trace Number of payment app
TransID
String
Transaction ID returned from Host Server
InvoiceNum
String
Invoice Number of transaction
RRN
String
Retrieval Reference number returned from Host Server
AuthCode
String
Transaction Auth Code returned from Host Server
OriTransIndexCode
String
Original request TransIndexCode
OriInvoiceNum
String
Original transaction InvoiceNum
OriTransId
String
Indicate original transaction id
OriRrn
String
Indicate original RRN
EmvAid
String
Indicate EMV AID
EmvAppName
String
Indicate EMV app name
EmvCryptogram
String
Indicate EMV TC or ARQC
EmvTVR
String
Indicate EMV TVR
AdditionalInfo
String
Annex 1
A1.1 Transaction Type
Purchase
PreAuth
AuthCompletion
BalanceInquiry
Reversal
Refund
Settle
Local transaction
QueryTransaction
Query transaction result by OriTransIndexCode
PrintLast
PrintTotal
PrintDetail
PrintParameter
GetPosInfo
VerifyCardPan
Verify whether card number match original transaction
A1.2 Transaction Scheme
Credit
Credit card
Debit
Debit card
EBT
ECS
QR
QR transaction
Last updated