C Libraries

C/C++ Windows Library

Lowest-level integration with two headers: SBCoreECR.h and EcrApi.h.

Core Functions (SBCoreECR.h)

int pack(const char* inputReqData, int transactionType, const char* szSignature, unsigned char* szEcrBuffer);
int parse(const unsigned char* respData, unsigned char* szRespFields);

High-Level API (EcrApi.h)

int doTCPIPTransaction(char* ip, int port, char* request, int txnType, char* signature, char* response);
int doCOMTransaction(char* port, int baud, int parity, int databit, int stopbit, char* request, int txnType, char* signature, char* response);
int doBlueToothTransaction(char* btaddr, char* request, int txnType, char* signature, char* response);

Usage Example

#include "EcrApi.h"

int main() {
    char response[4096] = {0};
    
    int status = doTCPIPConnection("192.168.0.102", 8888);
    if (status != 0) return -1;
    
    doTCPIPTransaction("192.168.0.102", 8888, requestData, 17, signature, response); // Register
    doTCPIPTransaction("192.168.0.102", 8888, requestData, 18, signature, response); // Session
    doTCPIPTransaction("192.168.0.102", 8888, requestData, 0, signature, response);  // Purchase
    
    printf("Response: %s\n", response);
    doDisConnection();
    return 0;
}

Transaction Type Codes

CodeTransaction Type
0Purchase
1Purchase with Naqd/Cashback
2Refund
3Authorization
4Purchase Advice (Full)
5Purchase Advice (Partial)
6Auth Extension
7Auth Void
9Cash Advance
10Reconciliation
11Reversal
15Bill Payment
17Register
18Start Session
19End Session
23Duplicate / Previous Txn
24Check Status
25Health Check