Skip to content

Commit 80fd507

Browse files
authored
Merge pull request #14 from prverma3/future
Added more analytical fields in sdk
2 parents 303cdc2 + cc9b945 commit 80fd507

35 files changed

+51563
-6
lines changed

BaseClient/util.h

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,24 @@
1313
extern "C" {
1414
#endif
1515

16+
/* Please do not modify these values */
17+
#if defined(_WIN64)
18+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Win64";
19+
#elif defined(_WIN32)
20+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Win32";
21+
#else
22+
#if defined(__linux)
23+
#if defined(__LP64__) || defined(_LP64)
24+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Linux x86_64";
25+
#else
26+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Linux x86_32";
27+
#endif
28+
#else
29+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Unknown";
30+
#endif
31+
#endif
32+
33+
1634
#include <stdlib.h>
1735

1836

@@ -49,8 +67,10 @@ const char CYBS_SK_ERROR_INFO[] = "_errorInfo";
4967
const char CYBS_C_USE_AKAMAI[] = "sendToAkamai";
5068

5169

52-
/* clientLibraryVersion */
53-
static const wchar_t CLIENT_LIBRARY_VERSION_VALUE[] = L"6.0.0";
70+
/* Please do not modify these values */
71+
static const wchar_t CLIENT_LIBRARY_VERSION_VALUE[] = L"6.0.1";
72+
static const wchar_t CLIENT_LIBRARY_VALUE[] = L"C SOAP";
73+
static const wchar_t CLIENT_APPLICATION_VALUE[] = L"Simple Order API";
5474

5575
typedef struct {
5676
const void *key;
@@ -102,4 +122,4 @@ void printdata(CybsMap *store);
102122

103123
#endif /* #define __KVS_H__ */
104124

105-
125+

NVPClient/.NVPClient.cpp.swp

16 KB
Binary file not shown.

NVPClient/NVPClient.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,11 @@ unsigned long pthreads_thread_id(void );
3636
const char akamaiCasserver[] = "https://ics2wstesta.ic3.com/commerce/1.x/transactionProcessor";
3737

3838
char DEFAULT_CERT_FILE[] = "ca-bundle";
39-
char SERVER_PUBLIC_KEY_NAME[] = "CyberSource_SJC_US/serialNumber";
39+
char SERVER_PUBLIC_KEY_NAME[] = "CyberSource_SJC_US/serialNumber";
4040
static const wchar_t CLIENT_LIBRARY_VERSION[] = L"clientLibraryVersion";
41+
static const wchar_t CLIENT_LIBRARY[] = L"clientLibrary";
42+
static const wchar_t CLIENT_ENVIRONMENT[] = L"clientEnvironment";
43+
static const wchar_t CLIENT_APPLICATION[] = L"clientApplication";
4144

4245
#define RETURN_ERROR( status, info ) \
4346
{ \
@@ -570,6 +573,13 @@ int runTransaction(INVPTransactionProcessorProxy *proxy, CybsMap *configMap, std
570573

571574
req[CLIENT_LIBRARY_VERSION] = CLIENT_LIBRARY_VERSION_VALUE;
572575

576+
req[CLIENT_LIBRARY] = CLIENT_LIBRARY_VALUE;
577+
578+
req[CLIENT_ENVIRONMENT] = CLIENT_ENVIRONMENT_VALUE;
579+
580+
req[CLIENT_APPLICATION] = CLIENT_APPLICATION_VALUE;
581+
582+
573583
if (cfg.isLogEnabled)
574584
cybs_log_NVP(cfg, req, CYBS_LT_REQUEST);
575585

NVPTest/NVPTest

148 KB
Binary file not shown.

NVPTest/NVPTest.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ void runCapture( CybsMap* cfgMap, std::wstring authRequestID ) {
181181
std::map <std::wstring, std::wstring> requestMap;
182182
std::map <std::wstring, std::wstring> resMap;
183183

184-
requestMap[L"merchantID"] = L"cybs_test_ashish";
185184
requestMap[L"ccCaptureService_run"] = L"true";
186185
requestMap[L"merchantReferenceCode"] = L"your_merchant_reference_code";
187186
requestMap[L"ccCaptureService_authRequestID"] = authRequestID;

NVPTest/NVPTest.o

217 KB
Binary file not shown.

XMLClient/XMLClient.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,9 @@ int cybs_runTransaction(ITransactionProcessorProxy *proxy, ns2__RequestMessage *
560560
// Set client library version in request
561561
//std::string clientLibVersion (CLIENT_LIBRARY_VERSION_VALUE);
562562
ns2__requestMessage->clientLibraryVersion = const_cast< wchar_t* >(CLIENT_LIBRARY_VERSION_VALUE);
563+
ns2__requestMessage->clientLibrary = const_cast< wchar_t* >(CLIENT_LIBRARY_VALUE);
564+
ns2__requestMessage->clientEnvironment = const_cast< wchar_t* >(CLIENT_ENVIRONMENT_VALUE);
565+
ns2__requestMessage->clientApplication = const_cast< wchar_t* >(CLIENT_APPLICATION_VALUE);
563566

564567
/* converting ns2__requestMessage to xml */
565568
std::stringstream ss;
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
#pragma once
2+
3+
#ifdef BASECLIENT_EXPORTS
4+
#define BASECLIENT_API __declspec(dllexport)
5+
#else
6+
#define BASECLIENT_API
7+
#endif
8+
9+
#ifndef __BASECLIENT_H__
10+
#define __BASECLIENT_H__
11+
12+
#ifdef __cplusplus
13+
extern "C" {
14+
#endif
15+
16+
/* Please do not modify these values */
17+
#if defined(_WIN64)
18+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Win64";
19+
#elif defined(_WIN32)
20+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Win32";
21+
#else
22+
#if defined(__linux)
23+
#if defined(__LP64__) || defined(_LP64)
24+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Linux x86_64";
25+
#else
26+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Linux x86_32";
27+
#endif
28+
#else
29+
static const wchar_t CLIENT_ENVIRONMENT_VALUE[] = L"Unknown";
30+
#endif
31+
#endif
32+
33+
34+
#include <stdlib.h>
35+
36+
37+
#define CYBS_NUM_BUCKETS 256;
38+
39+
#define CYBS_MAX_NAMESPACE_URI 64
40+
#define CYBS_MAX_MERCHANT_ID 32
41+
#define CYBS_MAX_PASSWORD 32
42+
#define CYBS_MAX_PATH 256
43+
#define CYBS_MAX_URL 128
44+
#define CYBS_MAX_PROXY_USERNAME 64
45+
#define CYBS_MAX_PROXY_PASSWORD 64
46+
47+
const char CYBS_C_MERCHANT_ID[] = "merchantID";
48+
const char CYBS_C_KEYS_DIRECTORY[] = "keysDirectory";
49+
const char CYBS_C_TARGET_API_VERSION[] = "targetAPIVersion";
50+
const char CYBS_C_KEY_FILENAME[] = "keyFilename";
51+
const char CYBS_C_SERVER_URL[] = "serverURL";
52+
const char CYBS_C_NAMESPACE_URI[] = "namespaceURI";
53+
const char CYBS_C_PWD[] = "password";
54+
const char CYBS_C_ENABLE_LOG[] = "enableLog";
55+
const char CYBS_C_LOG_DIRECTORY[] = "logDirectory";
56+
const char CYBS_C_LOG_FILENAME[] = "logFilename";
57+
const char CYBS_C_LOG_MAXIMUM_SIZE[] = "logMaximumSize";
58+
const char CYBS_C_TIMEOUT[] = "timeout";
59+
const char CYBS_C_PROXY_SERVER[] = "proxyServer";
60+
const char CYBS_C_PROXY_PORT[] = "proxyPort";
61+
const char CYBS_C_PROXY_USERNAME[] = "proxyUsername";
62+
const char CYBS_C_PROXY_PWD[] = "proxyPassword";
63+
const char CYBS_C_SSL_CERT_FILE[] = "sslCertFile";
64+
const char CYBS_C_SEND_TO_PROD[] = "sendToProduction";
65+
const char CYBS_C_USE_SIGN_AND_ENCRYPTION[] = "useSignAndEncrypted";
66+
const char CYBS_SK_ERROR_INFO[] = "_errorInfo";
67+
const char CYBS_C_USE_AKAMAI[] = "sendToAkamai";
68+
69+
70+
/* Please do not modify these values */
71+
static const wchar_t CLIENT_LIBRARY_VERSION_VALUE[] = L"6.0.1";
72+
static const wchar_t CLIENT_LIBRARY_VALUE[] = L"C SOAP";
73+
static const wchar_t CLIENT_APPLICATION_VALUE[] = L"Simple Order API";
74+
75+
typedef struct {
76+
const void *key;
77+
void *value;
78+
} CybsTable;
79+
80+
typedef struct {
81+
CybsTable *pairs;
82+
size_t length;
83+
size_t totallength;
84+
} CybsMap;
85+
86+
typedef struct config
87+
{
88+
char merchantID[CYBS_MAX_MERCHANT_ID + 1];
89+
char keyFile[CYBS_MAX_PATH + 1];
90+
char keyFileName[CYBS_MAX_PATH + 1];
91+
char serverURL[CYBS_MAX_URL + 1];
92+
char password[CYBS_MAX_PASSWORD + 1];
93+
char proxyServer[CYBS_MAX_URL + 1];
94+
char proxyUsername[CYBS_MAX_PROXY_USERNAME + 1];
95+
char proxyPassword[CYBS_MAX_PROXY_PASSWORD + 1];
96+
char sslCertFile[CYBS_MAX_PATH + 1];
97+
char logFileDir[CYBS_MAX_PATH + 1];
98+
char logFileName[CYBS_MAX_PATH + 1];
99+
char logFilePath[CYBS_MAX_PATH + 1];
100+
int nLogMaxSizeInMB;
101+
int proxyPort;
102+
char isLogEnabled;
103+
char isEncryptionEnabled;
104+
char useAkamai;
105+
} CybsEffectiveConfig;
106+
107+
BASECLIENT_API CybsMap *cybs_create_map(void);
108+
109+
BASECLIENT_API void cybs_destroy_map(CybsMap *store);
110+
111+
BASECLIENT_API void cybs_add(CybsMap *store, const void *key, void *value);
112+
113+
BASECLIENT_API void *cybs_get(CybsMap *store, const void *key);
114+
115+
BASECLIENT_API void cybs_load_config (const char *configFilename, CybsMap *map);
116+
117+
void printdata(CybsMap *store);
118+
119+
#ifdef __cplusplus
120+
}
121+
#endif
122+
123+
#endif /* #define __KVS_H__ */
124+
125+
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#pragma once
2+
3+
#ifdef NVPCYBERSOURCE_EXPORTS
4+
#define NVPCYBERSOURCE_API __declspec(dllexport)
5+
#else
6+
#define NVPCYBERSOURCE_API
7+
#endif
8+
9+
#include "util.h"
10+
#include <iostream>
11+
#include "soapINVPTransactionProcessorProxy.h"
12+
#include "stdsoap2.h"
13+
#include <map>
14+
15+
#ifdef WIN32
16+
static const char DEFAULT_LOG_DIRECTORY[] = "\\"; /* root of current directory */
17+
#else
18+
static const char DEFAULT_LOG_DIRECTORY[] = "/"; /* root directory */
19+
#endif
20+
static const char DEFAULT_LOG_FILENAME[] = "cybs.log";
21+
static const char DEFAULT_LOG_MAX_SIZE[] = "10";
22+
23+
typedef enum
24+
{
25+
CYBS_S_OK = 0,
26+
CYBS_S_PRE_SEND_ERROR = 1,
27+
CYBS_S_SEND_ERROR = 2,
28+
CYBS_S_RECEIVE_ERROR = 3,
29+
CYBS_S_POST_RECEIVE_ERROR = 4,
30+
CYBS_S_CRITICAL_SERVER_FAULT = 5,
31+
CYBS_S_SERVER_FAULT = 6,
32+
CYBS_S_OTHER_FAULT = 7,
33+
CYBS_S_HTTP_ERROR = 8
34+
} CybsStatus;
35+
36+
#ifdef WIN32
37+
static const char DIR_SEPARATOR = '\\';
38+
#else
39+
static const char DIR_SEPARATOR = '/';
40+
#endif
41+
42+
NVPCYBERSOURCE_API int runTransaction(INVPTransactionProcessorProxy *proxy, CybsMap *configMap, std::map <std::wstring, std::wstring> request, std::map <std::wstring, std::wstring> &resMap);
43+
int getKeyFilePath (char szDest[], char *szDir, const char *szFilename, char *merhantID);
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#pragma once
2+
3+
#ifdef XMLCYBERSOURCE_EXPORTS
4+
#define XMLCYBERSOURCE_API __declspec(dllexport)
5+
#else
6+
#define XMLCYBERSOURCE_API
7+
#endif
8+
9+
#include <iostream>
10+
#include "soapITransactionProcessorProxy.h"
11+
#include "stdsoap2.h"
12+
#include "util.h"
13+
14+
#ifdef WIN32
15+
static const char DEFAULT_LOG_DIRECTORY[] = "\\"; /* root of current directory */
16+
#else
17+
static const char DEFAULT_LOG_DIRECTORY[] = "/"; /* root directory */
18+
#endif
19+
static const char DEFAULT_LOG_FILENAME[] = "cybs.log";
20+
static const char DEFAULT_LOG_MAX_SIZE[] = "10";
21+
22+
typedef enum
23+
{
24+
CYBS_S_OK = 0,
25+
CYBS_S_PRE_SEND_ERROR = 1,
26+
CYBS_S_SEND_ERROR = 2,
27+
CYBS_S_RECEIVE_ERROR = 3,
28+
CYBS_S_POST_RECEIVE_ERROR = 4,
29+
CYBS_S_CRITICAL_SERVER_FAULT = 5,
30+
CYBS_S_SERVER_FAULT = 6,
31+
CYBS_S_OTHER_FAULT = 7,
32+
CYBS_S_HTTP_ERROR = 8
33+
} CybsStatus;
34+
35+
#ifdef WIN32
36+
static const char DIR_SEPARATOR = '\\';
37+
#else
38+
static const char DIR_SEPARATOR = '/';
39+
#endif
40+
41+
XMLCYBERSOURCE_API int cybs_runTransaction(ITransactionProcessorProxy *proxy, ns2__RequestMessage *ns2__requestMessage, ns2__ReplyMessage **ns2__replyMessage, CybsMap *configMap);
42+
XMLCYBERSOURCE_API void cybs_add_request(char *xml, ns2__RequestMessage *req);
43+
int getKeyFilePath (char szDest[], char *szDir, const char *szFilename, char *merhantID);

0 commit comments

Comments
 (0)