SUNMI TCP/IP Integration Guide
Table of Contents
1.8 Semi-Integrated mode TCP/IP.
1.8.1 Client app setup - TCP/IP semi-integrated mode.
1.8.2 Transaction Process TCP/IP semi-integrated mode.
1.10 Client app setup - USB semi-integrated mode
1.14 Client app postman
1.1. Introduction
This document provides instructions for ISV’s developers who wants to integrate their software solutions with SUNMI service and perform transactions.
The Sunmi POSRouter (FDRC) is an application service for processing card reading processing on terminals, EMV processing and payment transactions, and provides a set of off-line interfaces. Both direct and indirect merchants are able to connect their proprietary networks and devices to FDRC.
The Sunmi POSRouter (FDRC) is a JSON based aidl (Android Interface Definition Language) android services API. It provides access to reporting of real-time transactions as well as customer life cycle management.
Major card brands - Visa, Mastercard, American Express, Discover, and JCB.
Transaction Type – Sale, Debit Sale, Refund, Void, Auth, Capture, Tip Adjustment, Search, Print, Forced Auth, Card Authentication, Balance Inquiry, Batch Close.
1.2. About the SUNMI Service
Sunmi service is a EMV certified solution which has the core functionalities of EMV and can be integrated with the merchant solution and use and this service can be used as semi-integrated mode using TCP/IP and USB integration.
1.3. System Requirements
Development Environment: Android Studio 4 and above.
Android Operating System: 4.4.2 and above
1.4. SUNMI Device Models Supported
P2 PRO
P2
P2 MINI
1.5. LOA and Certifications
Sunmi keeps the EMV kernel up to date. Each version of the EMV kernel is certified fully. Contact the Sunmi team to get the LOAs.
Contact EMV certified L2 Kernel versions.
Card brands: Visa, Mastercard, Discover, American Express, JCB, China UnionPay.
1.6.Transaction Type
Merchant Registration
Download/Update CAPK Keys
SRED Enable
Sale
Auth
VOID
Keyed - In
Completion
Refund
Credit
History
Print
1.7 activateDevice
This service is used for merchant registration.
Parameters
Field | Data Type | Request | Value | Description |
|
|
Mid | String | M | “846649064884” | Merchant Id |
|
|
|
| |||||
Tid | String | M | “1675766” | Terminal ID |
|
|
|
|
Service App Installation
Install the latest SUNMI service application in your SUNMI POS terminal.
1.8 Semi-Integrated mode with TCP/IP
The Sunmi service can be used as a semi-integrated solution for processing card reading processing on terminals, EMV processing, and payment transactions, and provides a set of off-line interfaces. Both direct and indirect merchants can connect their proprietary networks and devices to FDRC.
The semi-integrated is a JSON-based aidl (Android Interface Definition Language) Android services API. It provides access to reporting of real-time transactions as well as customer life cycle management.
Semi-integrated TCP/IP will support all the functions declared above in SUNMI SERVICE. All the error codes and callbacks are applicable the same as above.
1.8.1 Client app setup - TCP/IP semi-integrated mode
To support TCP/TP semi-integrated mode client app should be connected to the same Wi-Fi network, while connecting to the service user should provide the server IP and port. Once the correct IP and port are given client app will get connected to the SERVER application.
Example
String SERVER_IP = "192.168.29.184";
int SERVER_PORT = 1600;
Connect to Socket server by connecting to provided port number abd IP Address and sends
// Code to connect Socket Server
Socket socket = new Socket(SERVER_IP, SERVER_PORT);
socket.setKeepAlive(true);
output = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// Code to receive response from Socket Server
while (!socket.isClosed()) {
try {
final String message = input.readLine();
If (message != null) {
}
}
// Code to send request to Socket Server
output.println(message);
output.flush();
1.8.2 Transaction Process TCP/IP semi-integrated mode
Once the connection is established, the user can start the transaction via Wi-Fi by passing the below parameters. On send message flush function will be called and it will send the data to the SERVER application.
The SERVER application will process the data and send it back to the Client app via the broadcast receiver.
val jsonObject = JSONObject()
jsonObject.put("amount", mPayDetail.amount)
jsonObject.put("paymentType", tType)
jsonObject.put("txnType", "1")
jsonObject.put("tipAmount",mPayDetail.tips)
jsonObject.put("surcharge",mPayDetail.surchrgPercentage)
jsonObject.put("cashBack",mPayDetail.cashBackAmount)
jsonObject.put("EBT", if (tType == "EBT") ebtType else "")
sendMessage(jsonObject.toString())
Parameter: Sale Transaction
Field | Data Type | Request | Value | Description |
amount | long | M | 000000001000 | Transaction amount |
paymentType | String | M | “Credit” | Transaction payment type – Credit/Debit/EBT |
txnType | String | M | “Sale”
| Transaction Type – 1 -> Sale 2 -> Void 3 -> Refund or credit 4 -> Auth 10->Verification 13->Balance Enquiry |
tipAmount | long | M | 000000000100 | Tip amount |
Surcharge | String | M | “000000000050” | Surcharge amount |
cashBack | long | M | 000000000200 | Cashback amount |
EBT | String | M | “Cash” | EBT type “Cash”/ ”SNAP” |
The below code will send the data to the SERVER application via the network:
1.8.3 transactionProcessManual
Parameters: Card Number
Field | Data Type | Request | Value | Description |
cardNo | String | M | “6510000000000810” | Card number |
Year | String | M | “2026” | YYYY |
Month | String | M | “08” | MM |
CVV | String | M | “121” | Card CVV number |
1.8.4 transactionProcess_Void
Parameter: Order number
Field | Data Type | Request | Value | Description |
void | String | M | “00000035” | Transaction order number |
1.8.5 transactionProcess_Completion
Parameter: Order number
Field | Data Type | Request | Value | Description |
capture | String | M | “00000034” | Transaction order number |
1.8.6 transactionProcess_Refund
Parameter : Refund Amount
Field | Data Type | Request | Value | Description |
amount | String | M |
“000000001000” | Amount to be refunded |
refund | String | M |
“00000035” | Transaction order number |
refundType |
String |
M |
“fullAmount” | Full refund -> fullAmount Partial refund -> partialAmount |
1.9 InjectCapKeys
injectCapKeys service is used for download or update EMV CAPKs.
1.10 Client app setup - USB semi-integrated mode
Following is the code to Connect USB Semi Mode App
1.11 ResponseObject
This is generic response object for transactionProcess, transactionProcess_Void, transactionProcess_Completion, transactionProcess_Refund, transactionProcessManual services.
Field | Data Type |
Value | Description |
PymtType (payment_type) | String | “Credit” | Payment type “Credit”/ ”Debit” / ”EBT” |
Entry Mode (entry_mode) | String | “000022” | STAN |
RefNum (rrn) | String | “715065695390” | Transaction reference number |
OrderNum (invoice_number) | String | “00000038” | Order number |
TxnAmt (total_amount) | String | “1050” | Transaction amount |
AuthID (approval_code) | String | “OK9494” | Auth id |
AddtlRespData (response) | String | “APPROVAL” | Additional response data |
Auth Mode (auth_mode) | String | “Issuer” | Approved by Issuer |
Account Number (account_number) | String | “ **** **** **** 0011 ” | Card Number |
1.12 Print Receipt
Parameters : Order number
Field | Data Type | Request |
Value | Description |
orderNumber | String | M | “00000038” | Transaction order number |
copyType | Int | M |
2
| 1 -> Customer copy 2 -> Merchant copy |
1.13 Get History
getHistory service is used to retrieve transaction history.
Response: String array.
1.14 Client app POSTMAN
1.15 Result Code
Response Code | Description |
000 | Approve |
001 | Schema Validation Error |
002 | Approve for partial amount |
003 | Approve VIP |
100 | Do not honor |
101 | Expired card |
102 | Suspected fraud |
103 | Unable to process TeleCheck recurring transaction with this payment type (not associated with insufficient or uncollected funds) |
104 | Restricted card |
105 | Call acquirer’s security department |
106 | Allowable PIN tries exceeded |
107 | Call for authorization |
108 | Refer to issuer’s special conditions |
109 | Invalid merchant. The merchant is not in the merchant database, or the merchant is not permitted to use this particular card |
110 | Invalid amount |
111 | Invalid Host Totals Date |
112 | DES Encryption not allowed from the device / terminal |
113 | Host Totals are Incomplete |
114 | Invalid account type |
116 | Not sufficient funds |
117 | Incorrect PIN or PIN length error |
118 | No card record |
119 | Transaction not permitted to cardholder |
120 | Transaction not permitted to terminal |
121 | Exceeds withdrawal amount limit |
122 | Security violation |
123 | Exceeds withdrawal frequency limit |
124 | Violation of law |
129 | Suspected counterfeit card |
130 | Invalid terminal |
131 | Invalid account number |
132 | Unmatched card expiry date |
133 | The TPP ID was not found |
134 | Not sufficient funds |
150 | Invalid merchant set up |
151 | Activation failed |
152 | Exceeds limit |
153 | Already redeemed |
154 | Over monthly limit |
155 | Recharge amount exceeded |
156 | Max number of recharges exceeded |
157 | Invalid entry |
208 | Lost Card / Lost Check |
209 | Stolen card |
211 | Invalid SKU number |
212 | Missing conditional data. |
213 | Invalid account number for card type. |
214 | Invalid payment type/card type for merchant ID |
215 | Invalid transaction for Merchant ID. |
216 | Invalid TransArmor request. Not supported for given Payment Type, or Merchant is not enabled for Transarmor |
217 | Missing or invalid secure payment data. |
218 | Merchant ID not enabled for Secure Code |
219 | Invalid Merchant Category Code |
220 | Customer service phone number missing |
221 | Merchant not enabled for soft descriptors, account updater or optimization processing. |
222 | Partial auth not allowed. |
223 | Customer under 18 years old. |
224 | Account blocked – possible compromise. |
225 | Bill-to address does not match ship-to |
226 | Invalid preapproval number |
227 | Invalid email address |
228 | Need more ID – request full SSN. |
229 | Previously declined/closed account |
230 | One time stop payment requested by cardholder |
231 | Stop payment requested for all payments. |
232 | Stop all payments – account closed. |
233 | Auth response date not valid. |
234 | Issuance under minimum amount |
235 | Outstanding auth – funds on hold. |
236 | Activation amount incorrect. |
237 | Deny – new card issued. |
238 | BIN blocked. |
242 | Customer opt-out. |
243 | Institution does not accept ACH payments |
244 | Original transaction not approved. |
245 | Invalid MICR data. |
246 | Declined due to high risk |
247 | Declined due to stand-in rules. |
248 | Conditional Approval – Hold shipping for 24 hours |
250 | Re-authorization request is declined. Original Auth could not be found. |
251 | Re-authorization request is declined. The customer account number, merchant id, or amount did not match the original authorization. |
252 | Re-authorization request is declined. The amount significantly exceeds the original request amount |
253 | Re-authorization request is declined. The timeframes for re-authorization have been exceeded. |
254 | Counter Offer to Supply Personal Guaranty. |
300 | Invalid EAN or SCV. |
301 | Lock has expired on prepaid card |
302 | Account closed. The account was closed, probably because the account balance was $0.00 |
303 | Unknown account. The account could not be located, or the account does not exist in the account table |
304 | Inactive account. The account has not been activated by an approved location |
308 | Already active. The card is already active and does not need to be reactivated |
311 | Not lost or stolen |
315 | Bad mag stripe. The mag stripe could not be parsed for account information |
316 | Incorrect location. There was a problem with the merchant location |
317 | Max balance exceeded. The transaction, if completed, would cause the account balance to be exceeded by the max_balance as specified in the promotion. Some merchants set the max_balance to a value twice the max transaction amount |
318 | Invalid amount. There was a problem with the amount field in the transaction format – more or less than min/max amounts specified in the promotion for that transaction |
319 | Invalid clerk. The clerk field was either missing, when required, or the content did not match the requirements |
320 | Invalid password |
321 | Invalid new password. The new password does not meet the minimum security criteria |
322 | Exceeded account reloads. The clerk/user/location was only permitted to reload some number of accounts. That number was exceeded. (See your Business Manager in order to extend this limit.) |
323 | Password retry exceeded. The user account has been frozen because the user attempted access and was denied. Seek management assistance |
326 | Incorrect transaction version or format number for POS transactions |
327 | Request not permitted by this account |
328 | Request not permitted by this merchant location |
329 | Bad_repay_date |
330 | Bad checksum. The checksum provided is incorrect |
331 | Balance not available (denial). Due to an internal Fiserv Prepaid Closed Loop issue, information from this account could not be retrieved |
332 | Account locked |
333 | No previous transaction. The void or reversal transaction could not be matched to a previous (original) transaction. In the case of a redemption, the corresponding locking transaction could not be identified |
334 | Already reversed |
336 | Bad Authorization ID. The Authorization ID test failed |
337 | Too many transactions requested |
338 | No transactions available/no more transactions available. There are no transactions for this account or there are no transactions as determined by the specified first transaction number |
339 | Transaction history not available |
340 | New password required |
341 | Invalid status change. The status change requested (e.g., lost/stolen, freeze active card) cannot be performed |
342 | Void of activation after account activity |
343 | No phone service. Attempted a calling card transaction on an account which is not configured for calling card activity |
344 | Internet access disabled |
345 | Invalid Date or Time |
350 | Additional customer authentication required or, Customer Authentication Required (Decline – Discover only) |
351 | Customer PIN authentication required |
355 | Invalid currency. The provided currency is invalid. |
356 | Currency Not Supported |
357 | Currency conversion error |
359 | The terminal transaction number did not match (on a void or reversal). |
367 | Target embossed card entered, and Transaction count entered do not match |
368 | No account link |
369 | Invalid time zone |
370 | Account on hold or subscriber not active |
372 | Promo location restricted |
373 | Invalid Card Account |
374 | Product code(s) restricted |
375 | Bad Post Date. The Post Date is not a valid date. |
376 | Account status is void lock |
377 | Already active and reloadable |
378 | Account is Purged. The Account record was purged from the database. |
380 | Bulk activation error |
381 | Bulk activation unattempted error |
382 | Bulk activation package amount error |
383 | Store location zero not allowed |
384 | Account row locked |
385 | Accepted but not yet processed |
402 | TransArmor Service Unavailable |
403 | TransArmor Invalid Token or Account Number |
404 | TransArmor Key Error |
414 | Void/Full Reversal request unable to process due to network cut-off window elapsed. A Refund transaction is necessary to reconcile the cardholder’s account. Applicable to Debit networks only. |
430 | Prepaid Card Amount Over EU AMLD (Anti-Money Laundering Directive) Limit |
500 | Decline |
501 | Date of Birth Error for Check Processing |
502 | Invalid State Code |
503 | New Account Information |
504 | Do not try again |
505 | Please retry |
506 | Invalid Checking Account Number |
507 | New Account Information available |
508 | Try again later – Declined: Association ‘s payment cancellation advice code provided. Applies to recurring authorizations only. These are examples of what may have occurred: the account is over the credit limit try again in 72 hours. |
509 | Do not try again – Applies to recurring authorizations only. The card has expired |
510 | New Account Information – Applies to recurring authorizations only. The card has expired. |
511 | Try again later – Applies to recurring authorizations only. The card has expired. Get the new expiration date and try again. |
512 | Service not allowed or invalid surcharge amount |
513 | Decline. Transaction not permitted to acquirer or terminal. |
514 | Do not try again – Applies to recurring authorizations only. There was security violation. |
515 | Declined. No term record on Fiserv system |
516 | Please retry – Reasons for this error are one of the following: Format Error, Unable to route transaction, Switch, or issuer unavailable, System Busy, Timeout |
517 | CVV2 Declined |
518 | Invalid account/date or sales date in future |
519 | Invalid Effective Date |
520 | Reversal Rejected. Do not try again. |
521 | Enter lesser amount |
522 | Cash Back greater than total Transaction amount |
523 | Crypto box is offline |
524 | Debit Switch unavailable Timeout Retry – Communications link to debit/EBT network gateway is down or responded with a “System Malfunction (96)” message |
525 | Debit/EBT network gateway cannot get through to the ISSUER. |
526 | Undefined Card – Debit/EBT network gateway cannot route card based on Merchant Entitlement |
527 | Network Response indicates that Merchant ID / SE is invalid |
528 | Debit/EBT transaction count exceeds pre-determined limit in specified time/ Withdrawal limit exceeded. |
529 | Resubmission of transaction violates debit/EBT network frequency |
530 | The authorizing network has a problem decrypting the cryptogram in the request |
531 | Retry with 3DS data |
532 | The DUKPT Base Derivation key is missing or incorrect in the PIN pad, PIN key synchronization error, or Master session PIN key is missing. |
533 | Invalid encryption key offset sent by merchant |
534 | Invalid master session key id sent by merchant |
539 | No Checking Account |
540 | Edit Honor |
541 | No Savings Account |
542 | DUKPT: An error while processing the PIN block that is not related to the point- of-sale equipment. Contact the Help Desk for assistance. |
550 | Invalid Vehicle |
551 | Invalid Driver |
552 | Invalid Product |
553 | Exceeds transaction total limit per product class. |
554 | Over daily limit |
555 | Invalid Date/Time |
556 | Exceeds quantity |
557 | Invalid prompt entry |
558 | Invalid Track 2 data |
559 | Voyager ID problem |
560 | Invalid Odometer |
561 | Invalid Restriction Code |
562 | Pay at pump not allowed |
563 | Over fuel limit |
564 | Over cash limit |
565 | Fuel price error |
566 | Y or N required |
567 | Over repair limit |
568 | Over additive limit |
569 | Invalid user |
570 | Before 1400 and can’t cut. Wait until 2:00 pm Eastern. |
571 | Cut time too close to 1400 |
572 | Checker/Manager not found |
573 | Security insufficient |
574 | No transaction security record |
575 | Insufficient data |
576 | Merchant has mail pending |
577 | No messages pending |
578 | The Visa OCT / MasterCard MoneySend activity has exceeded preset transaction count or amount limit within a rolling 24-hour period for given merchant |
579 | The Visa OCT / MasterCard MoneySend activity has exceeded preset transaction count or amount limit within a rolling 7-day period for given merchant. |
580 | The Visa OCT / MasterCard MoneySend activity has exceeded preset transaction count or amount limit within a rolling 30-day period for given merchant. |
581 | The Visa OCT / MasterCard MoneySend Funding activity has exceeded preset transaction count or amount limit within a rolling 24- hour period for this account number. |
582 | The Visa OCT / MasterCard MoneySend Funding activity has exceeded preset transaction count or amount limit within a rolling 7- day period for this account number. |
583 | The Visa OCT / MasterCard MoneySend Funding activity has exceeded preset transaction count or amount limit within a rolling 30- day period for this account number. |
584 | The Visa OCT / MasterCard MoneySend Payment activity has exceeded preset transaction count or amount limit within a rolling 24- hour period for this account number. |
585 | The Visa OCT / MasterCard MoneySend Payment activity has exceeded preset transaction count or amount limit within a rolling 7- day period for this account number. |
586 | The Visa OCT / MasterCard MoneySend Payment activity has exceeded preset transaction count or amount limit within a rolling 30- day period for this account number. |
587 | The single transaction amount limit was exceeded for a Visa OCT/ MasterCard MoneySend transaction for given merchant. |
588 | All Visa OCT / MasterCard MoneySend transactions are blocked for a rolling 24 hour period, or 7 day period (current and prior 6 days), or 30 day period (current and prior 29 days) for given merchant |
601 | Invalid Batch Number/ Invalid Batch ID or Invalid OpenBatch |
602 | No Open Batch |
603 | Close Unavailable |
604 | Close Not Valid |
701 | Approved EMV Key Load |
702 | EMV Key Download Error |
703 | Approved EMV Key Load, more key load data pending |
704 | Pick Up Card |
708 | Honor With Authentication |
721 | Invalid ZIP Code |
722 | Invalid value in the field / Host Totals Declined |
723 | Driver’s License or ID is Required |
724 | Referred – Not Active |
726 | Unable to Locate Record On File |
727 | Refer – Call Authorization |
728 | Referred – Skip Trace Info |
729 | Hard Negative Info On File |
731 | Rejected Lost/Stolen Checks |
740 | Totals Unavailable |
767 | Hard Capture; Pick Up |
771 | Amount Too Large |
772 | Duplicate Return |
773 | Unsuccessful |
774 | Duplicate Reversal |
775 | Subsystem Unavailable |
776 | Duplicate Completion |
782 | Count Exceeds Limit |
785 | No reason to decline– applicable to $0.00 verification requests and may be returned on Online Refund responses. Should be treated as an approval. |
790 | Not approved. Used only in Visa bill/recurring payment. Merchant must not resubmit same transaction but may continue billing process in subsequent billing period. |
791 | Not approved. Used only in Visa bill/recurring payment. Merchant must stop recurring payment requests. |
792 | See attendant. |
800 | Deferred authorization not cancelled |
801 | Over merchandise limit |
802 | Imprint card |
803 | Not on file |
804 | Fuel only |
805 | Velocity exceeded |
806 | Authorization ID needed |
807 | Over non-fuel limit |
808 | Invalid location |
809 | Over card velocity count |
810 | Over card velocity amount |
811 | Over issuer velocity count |
812 | Over issuer velocity amount |
813 | Over merchant daily velocity count |
814 | Over merchant daily velocity amount |
815 | Over merchant daily velocity both |
816 | Over merchant product velocity amount |
817 | Over merchant product velocity count |
818 | Over merchant product velocity both |
819 | Over chain daily velocity count |
820 | Over chain daily velocity amount |
821 | Over chain daily velocity both |
822 | Over chain product velocity count |
823 | Over chain product velocity both |
824 | Over chain product velocity amount |
825 | No chain ID for chain merchant |
826 | Signature required |
827 | Velocity exception error – pay inside |
828 | Exceeds merchant count for period – pay inside |
829 | Exceeds merchant amount for period – pay inside |
830 | Exceeds merchant count and amount for period – pay inside |
831 | Exceeds zip code count for period – pay inside |
832 | Exceeds zip code amount for period – pay inside |
833 | Exceeds zip code count and amount for period – pay inside |
834 | Exceeds state count for period – pay inside |
835 | Exceeds state amount for period – pay inside |
836 | Exceeds state count and amount for period – pay inside |
837 | Exceeds global count for period – pay inside |
838 | Exceeds global amount for period – pay inside |
839 | Exceeds global count and amount for period – pay inside |
840 | Unknown velocity error – pay inside |
902 | Invalid transaction. This merchant, card or terminal is not permitted to perform this transaction, or the transaction type is invalid, or Fiserv is unable to route a refund request to the network, or there is an issue with the xml message. If a 902 is returned when submitting a completion for the second time, the first completion submitted has been successfully applied, even if the device did not receive a response in the first completion. |
903 | Invalid Reversal Transaction – transaction already settled |
904 | Format error. |
905 | Unsupported message. Transaction was rejected. Call your helpdesk or operations support. |
906 | System Error. There is a problem with the host processing system. Call your helpdesk or operations support. |
907 | Card issuer or switch inoperative or processor not available |
908 | Transaction destination not found for routing. |
909 | System malfunction or timeout |
911 | Card issuer timed out. |
913 | Duplicate transaction. |
914 | Void/Full Reversal request unable to process due to settlement already occurred. A Refund transaction may be necessary to reconcile the cardholder’s account. |
915 | Timeout Reversal not supported. Resend the original transaction with the same Reference Number that timed out. Do not retry the timeout reversal |
916 | Void/Full Reversal request unable to process since the Original Authorization was not found. |
920 | Security H/W or S/W error – try again |
921 | Security H/W or S/W error – no action |
923 | Request in progress |
924 | Limit check failed |
940 | Error. |
941 | Invalid issuer. |
942 | Customer cancellation |
944 | Invalid response |
950 | Violation of business arrangement |
954 | CCV failed. |
958 | CCV2 failed |
959 | CAV failed |
963 | Acquirer channel unavailable |
1.16 Kernel Response Code
Response Code | Response Message |
-100 | Incorrect number of parameters or length |
-101 | Unsupported command |
-1000 | System parameter error |
-1001 | Feature not supported |
-1002 | Initialization failed |
-1003 | System time year error |
-1004 | System time month error |
-1005 | System time day error |
-1006 | System time hour error |
-1007 | System time minute error |
-1008 | System time second error |
-1009 | Hardware failure |
-1010 | Buffer length error |
-2000 | Card parameter error |
-2001 | Have no card |
-2002 | Multiple cards |
-2100 | Magnetic card data decoding |
-2500 | Module detection failed |
-2501 | Drive core data structure error |
-2502 | Module is not powered |
-2503 | Carrier is not turned on |
-2520 | Communication timeout |
-2521 | Internal FIFO operation failed |
-2522 | Communication frame error |
-2523 | Communication character check error |
-2524 | Communication conflict |
-2525 | Signal in communication does not comply with the protocol |
-2526 | CRC check error in communication |
-2527 | M1 card password authentication error |
-2528 | Mifare authentication parameters are incorrect |
-2529 | Card exists |
-2540 | The number of data in the A card communication response does not match the expected |
-2541 | A card communication replies to the first character of the WUPA/REQA command is illegal |
-2542 | Card number checksum error of A card communication response |
-2543 | The first character of the card number answered by the A card communication is wrong. |
-2544 | A card communication response ATS TL byte is illegal |
-2545 | The A0 T0 byte of the A card communication response is illegal. |
-2546 | The A1 TA1 byte of the ATS communication is illegal. |
-2547 | The ATB TB1 byte of the A-card communication response is illegal. |
-2548 | A card communication response ATS TC1 byte is illegal |
-2550 | The number of data in the B card communication response does not match the expected |
-2551 | The first character of the B card communication response WUBP/REQB command is not 0x50 |
-2552 | The fourth bit of the protocol type byte in ATQB is not '0' |
-2553 | The B-card communication responds to the difference in channel coding and setting in the ATTRIB command. |
-2554 | B card communication response HLTB command response non 0x00 error |
-2560 | Retransmitted to the limit if the correct reception is received |
-2561 | Block type coding error |
-2562 | I block PCB error or subsequent data length error |
-2563 | PICC uses I block response link block |
-2564 | Received I block serial number is incorrect |
-2565 | R block PCB error or subsequent data length error |
-2566 | PICC response NAK block |
-2567 | The received R block serial number is incorrect. |
-2568 | S block PCB error or subsequent data length error |
-2569 | S block non-S-WTX request sent by PICC |
-2570 | WTX parameter error requested (=0) |
-2571 | Card return data exceeds FSD |
-2800 | Verify error |
-2801 | Communication timeout |
-2802 | Module is not powered |
-2803 | ATR error |
-2804 | Communication error |
-3000 | Security parameter error |
-3001 | Root key error |
-3002 | Security system is locked |
-3003 | Security file read and write error |
-3004 | Key index error |
-3005 | Key verification error |
-3006 | No PIN entry |
-3007 | PIN input canceled |
-3008 | PIN input timeout |
-3009 | PIN input interval is too short |
-3010 | KCV mode error |
-3011 | KCV check error |
-3012 | KCV ODD check error |
-3013 | No matching key |
-3014 | Error of key type |
-3015 | Key length error |
-3016 | Key exponent length error |
-3017 | Destination key index error |
-3018 | Source key index error |
-3019 | Source key type error |
-3020 | Group index error |
-3022 | No KCV |
-3023 | DUKPT overflow |
-3024 | DUKPT key type error |
-3025 | DUKPT KSN needs to add 1 |
-3026 | Try to use the key outside the scope of the key. |
-3027 | Incorrect use of the key, restricting only decrypted keys to encrypt data, such as calculate the Mac with the master key |
-3028 | Feature not yet supported |
-3029 | Feature key attribute does not match |
-3030 | Not certified |
-4000 | Transaction refuse |
-4001 | Please use other interfaces |
-4002 | Transaction terminated |
-4005 | Final select data error |
-4100 | Transaction terminated (command send and receive error) |
-4101 | Transaction terminated (command receipt timeout) |
-4102 | Transaction terminated (command receipt timeout) |
-4103 | Transaction terminated (status code error) |
-4104 | Transaction terminated (card locked) |
-4105 | Transaction terminated (application locked) |
-4106 | Transaction terminated (terminal not applied) |
-4107 | Transaction terminated (applications with no support for the terminal and card) |
-4108 | Transaction terminated (card return data error) |
-4109 | Transaction terminated (card return data element duplicate) |
-4110 | Transaction terminated (transaction not received) |
-4111 | Transaction terminated (card expired) |
-4112 | The list of preprocessing parameters is empty |
-4113 | Transaction terminated (L1 read card timeout) |
-4114 | Transaction terminated (L1 transmission error) |
-4115 | Transaction terminated (L1 protocol error) |
-4116 | Transaction terminated (L2 mandatory data error) |
-4117 | Transaction terminated (L2 card authentication failed (offline data authentication failed)) |
-4118 | Transaction terminated (L2 status word error) |
-4119 | Transaction terminated (L2 data parsing failed) |
-4120 | Transaction terminated (L2 transaction amount exceeds the contactless transaction limit) |
-4121 | Transaction terminated (L2 card data error) |
-4122 | Transaction terminated (L2 does not support magnetic stripe card mode) |
-4123 | Transaction terminated (L2 card without PPSE) |
-4124 | Transaction terminated (L2 PPSE processing error) |
-4125 | Transaction terminated (L2 candidate list is empty) |
-4126 | Transaction terminated (L2 IDS read error) |
-4127 | Transaction terminated (L2 IDS write error) |
-4128 | Transaction terminated (L2 IDS data error) |
-4129 | Transaction terminated (L2 IDS has no matching AC) |
-4130 | Transaction terminated (L2 terminal data error) |
-4131 | Transaction terminated (L3 timeout) |
-4132 | Transaction terminated (L3 cancel) |
-4133 | Transaction terminated (L3 transaction amount does not exist) |
-4134 | Transaction terminated (re-presentation of the card) |
-4135 | Transaction terminated (using other cards (with Data Record)) |
-4136 | Transaction terminated (using other cards) |
-4137 | Transaction terminated (GPO response error) |
-4138 | Transaction terminated (final selection of card data error) |
-4139 | Transaction terminated (L3 no DET data) |
-4140 | Kernel type is not supported |
-4141 | Contactless transaction limit exceeded |
-4142 | The amount is 0 |
-4144 | Please use another interface (pre-processing failed) |
-4500 | Invalid parameter |
-4501 | Checksum error when downloading public key |
-4502 | Terminal parameters do not exist. |
-4503 | Error with terminal parameter data |
-4504 | The transaction log does not exist |
-4505 | Transaction log data error |
-4506 | EMV data does not exist |
-4507 | PBOC LOG format does not exist |
-4825 | Two present card |
-4854 | Complete command with empty |
-4855 | Complete command with ODOL |
-4856 | Complete command after reselect app |
-4857 | Read record command after reselect app |
-7001 | Printer error |
-7002 | Low battery voltage |
-7003 | Out of paper |
-7004 | Temperature is too high |
-7005 | Printer data error |
-7006 | Invalid print parameters |
-7007 | Device not open or device operation error |
-7008 | Print buffer overflow |
-8001 | Write data fail for tax control module |
-8002 | Read data fail for tax control module |
-10100 | Serial port closed |
-10101 | Serial port overtime |
-10102 | LRC check error |
-10103 | SP Out of sequence |
-10104 | SP is initializing |
-10105 | SP is rebooting |
-10106 | SP is reconnecting. |
-10107 | SP is busy |
-10108 | SP is sleep |
-10200 | Read OS file package error |
-10201 | SP is updating |
-10202 | Connect SP failed |
-10203 | Failed to open upgrade file |
-10204 | Packet timeout |
-10205 | Packet processing error |
-10206 | Upgrade string is too long |
-10207 | Upgrade unsuccessful |
-10208 | Did not get the sdk version number of this machine |
-10209 | The version is the same as the target upgrade version. |
-10210 | Query default information failed |
-10211 | Firmware version does not allow downgrade |
-10212 | Upgrade cancelled |
-10300 | Input parameter error |
-10301 | The length of the response packet data area is illegal. |
-10302 | Answer packet data parsing error |
-10400 | The kernel has been rebooted |
-20001 | Repeated call |
-20002 | Firmware is being upgraded |
-20003 | Parameter error |
-20004 | Thread was aborted |
-20005 | Firmware upgrade failed |
-20006 | Firmware verification failed |
-30001 | Failure to read card (unknown cause card failure, recommended to re-read the card operation) |
-30002 | Unknown card type |
-30003 | Failure of NFC check card |
-30004 | Failure of IC check card |
-30005 | Read card timeout |
-30013 | This card is a chip card and can not fallback. |
-30014 | Create candidate list timeout |
-30015 | Card interaction failure |
-30016 | Wrong card interaction parameters |
-40002 | Key length error |
-40003 | The check value error |
-40004 | Store key fail |
-40005 | Calculate MAC error |
-40006 | Encryption error |
-40007 | Return array data length error |
-40008 | The MAC algorithm type not support |
-40009 | Length of check value error |
-40010 | Key index error |
-40011 | Decrypt error |
-40012 | Length of key error |
-40013 | Get random error |
-40014 | Key does not exist |
-40016 | Verify signature fail |
-40017 | Failed to get alarm information code |
-40018 | Key partition has run out |
-40019 | Inject BDK error |
-50002 | Transaction preprocess fail |
-50003 | Transaction process fail |
-50004 | EMV kernel process fail |
-50005 | PAN format error |
-50006 | Call PINPAD fail |
-50007 | None kernel data |
-50008 | PINPAD parameter error |
-50009 | EMV process not finish |
-50010 | The transaction type not support |
-50011 | Checking card information fail or timeout. |
-50012 | CVM error |
-50013 | Database operation fail |
-50014 | No matching CAPK |
-50015 | Save terminal parameter error |
-50016 | No matching AID |
-50017 | Check card fail |
-50018 | Call interface order error |
-50019 | Transaction data invalid |
-50020 | PIN entry cancel |
-50021 | PIN entry error |
-50022 | The index of app select error |
-50023 | Cert verify error |
-50024 | Online process error |
-50025 | App final select timeout |
-50026 | App final select error |
-50027 | Signature error |
-50028 | Unknown CVM type |
-60001 | Input PIN timeout |
-60002 | Keyboard failed to activate password |
-60003 | PinPadType type error (when the incoming keyboard type is not 1 and 2, the error is returned) |
-60004 | Getting PinBlock failed |
-60005 | PIN status query thread is interrupted |
-70001 | Miss permisstion com.sunmi.perm.MSR |
-70002 | Miss permission com.sunmi.perm.ICC |
-70003 | Miss permission com.sunmi.perm. CONTACTLESS_CARD |
-70004 | Miss permission com.sunmi.perm. PINPAD |
-70005 | Miss permission com.sunmi.perm. SECURITY |
-70006 | Miss permission com.sunmi.perm. LED |