SPI  1.2404.0
Secured Payment Interface
SPIDEF.h
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include <iostream>
16 #include <string>
17 #include <cstring>
18 #include "types.def"
19 
20 #ifdef WIN32
21 #ifdef SPI_EXPORTS
22 #define SPILIBRARY_API __declspec(dllexport)
23 #elif SPI_NOEXPORTS
24 #define SPILIBRARY_API
25 #else
26 #define SPILIBRARY_API __declspec(dllimport)
27 #endif
28 #elif __GNUC__
29 #ifdef SPI_EXPORTS
30 #define SPILIBRARY_API __attribute__((visibility("default")))
31 #else
32 #define SPILIBRARY_API
33 #endif
34 #endif
35 
36 
37 
38 using std::string;
39 
41 typedef void* APIHandle;
42 
44 typedef usint PortType;
45 
47 typedef uint64_t AmountType;
48 
50 typedef int32_t PaymentType;
51 
53 typedef sint PPIDType;
54 
56 typedef sint ResultType;
57 
59 typedef uint64_t RateType;
60 
62 typedef int32_t PercentType;
63 
65 typedef int32_t MonthType;
66 
68 typedef ulint TimeOutType;
69 
71 typedef byte FrequencyType;
72 
74 typedef int32_t CurrencyISOType;
75 
77 typedef usint CounterType;
78 
80 typedef uint32_t UnsignedNumericType;
81 
83 typedef int32_t SignedNumericType;
84 
85 
86 
87 
88 namespace Modularity {
89 
90  namespace SPI {
93  {
96  SPI_FAIL = -2,
97  SPI_INVALID = -3,
100  SPI_ABORTED = -6,
103  SPI_NO_INIT = -999
104  };
105 
108  {
109  SPI_READY = 0,
113  SPI_ERROR = -3
114  };
115 
118  {
125  };
126 
129  {
132  };
133 
136  {
141  };
142 
145  {
153  };
154 
156  enum DeviceId
157  {
159  VPOSTouch = 1,
160  };
161 
162 
165  {
166  MP3 = 0,
167  MPOS = 1,
168  XPI = 2
169  };
170 
173  {
174  X_REPORT = 0,
175  Z_REPORT = 1,
184  BASE = 99
185  };
186 
189  {
194  };
195 
198  {
199  Curr_Shekel = 376,
200  Curr_Dollar = 840,
202  };
203 
206  struct ReceiptLine
207  {
208  string key;
209  string value;
210  };
211 
215  {
216  string brandName;
217  string acquireName;
218  string businessNumber;
219  string phoneNumber;
220  };
221 
224  struct SubRetailer
225  {
226  string RetailerId;
227  string RetailerName;
228  bool IsActivated;
229  bool StartWork;
230  };
231 
232 
233 
237  {
238  string AckNumber;
239  string Date;
240  };
241 
244  {
256  };
257 
260  {
307  };
308 
311  {
320  };
321 
324  {
328  };
329 
330 
331  enum SPIMode
332  {
335  };
336 
339  {
348  };
349 
352  {
356  };
357 
360  {
364  };
365 
368  {
371  };
372 
375  {
388  };
389 
392  {
396  };
397 
400  {
401  MSR = 0,
402  MIFARE = 1
403  };
404 
408  namespace Ashrait {
409 
412  {
413  SwipeData = 1,
414  Balance = 2,
421  };
422 
425  {
431  };
432 
435  {
436  ToNone = 0,
437  ToCPI = 1,
438  ToDollar = 2,
439  };
440 
442  enum Status
443  {
444  Ready = 0,
446  BatchNeeded = -2,
447  DBError = -3,
448  PinpadError = -4,
450  Unknown = -6,
453  };
454 
457  {
459  CNP_Phone = 2,
461  };
462 
465  {
468  TT_Unload = 2,
469  TT_Forced = 3,
471  TT_Cash = 7,
474  TT_Refund = 53,
475  TT_Charge = 55,
476  };
477 
479  enum IPayType
480  {
484  IPay_Club = 3,
485  IPay_NoIpay = 99,
486  };
487 
489  enum ECIType
490  {
494  };
495 
498  {
503  };
504 
506  enum Manpik
507  {
511  Manpik_3 = 3,
512  Manpik_4 = 4,
513  Manpik_5 = 5,
515  Manpik_7 = 7,
516  Manpik_8 = 8,
517  Manpik_9 = 9,
518  Manpik_10 = 10,
519  Manpik_11 = 11,
520  Manpik_12 = 12,
521  };
522 
524  enum Solek
525  {
527  Solek_Cal = 2,
528  Solek_3 = 3,
529  Solek_4 = 4,
533  Solek_8 = 8,
534  Solek_9 = 9,
535  Solek_10 = 10,
536  Solek_11 = 11,
537  Solek_12 = 12,
538  };
539 
541  enum Mutag
542  {
543  Mutag_PL = 0,
549  Mutag_JCB = 6,
552  };
553 
556  {
563  PEM_RFU = 11,
565  PEM_Phone = 50,
570  PEM_Empty = 99,
571  };
572 
575  {
576  ABS = 1,
577  Pelecard = 2,
579  Tranzila = 4,
580  EZCard = 5,
581  Arkom = 6,
582  Nayax = 7,
583  };
584 
587  {
597  };
598 
599  }
600 
604  namespace NayaxVend {
605 
608  {
613  };
614 
617  {
620  };
621 
623  enum CardType
624  {
634  };
635 
636  }
637 
641  namespace Cibus {
642 
645  {
651  };
652 
655  {
659  };
660 
663  {
667  };
668 
671  {
674  };
675 
676 
679  {
681  };
682 
685  struct Company
686  {
687  string CompanyId;
688  string CompanyName;
689  };
690 
691  }
692 
696  namespace Multipass {
697 
700  {
708  };
709 
713  {
714  string ItemId;
717  };
718  }
719 
723  namespace NayaxEngine {
724 
727  {
732  };
733  }
734 
735 
736 
737 
738 
739  }
740 }
741 
742 
743 
744 
745 
746 
747 
748 
This namespace contains avilible API from Modularity Inc.
uint64_t AmountType
Definition: SPIDEF.h:47
ulint TimeOutType
Definition: SPIDEF.h:68
byte FrequencyType
Definition: SPIDEF.h:71
A struct which reprensts a line in receipt.
Definition: SPIDEF.h:206
A struct that reprensts information about sub retailer in RavSapak mode.
Definition: SPIDEF.h:224
ExtendedPeriodicStatus
Definition: SPIDEF.h:259
int32_t CurrencyISOType
Definition: SPIDEF.h:74
usint PortType
Definition: SPIDEF.h:44
int32_t MonthType
Definition: SPIDEF.h:65
A struct that reprensts information end of day report.
Definition: SPIDEF.h:236
A struct which reprensts a company in Cibus.
Definition: SPIDEF.h:712
sint PPIDType
Definition: SPIDEF.h:53
sint ResultType
Definition: SPIDEF.h:56
int32_t PercentType
Definition: SPIDEF.h:62
int32_t SignedNumericType
Definition: SPIDEF.h:83
usint CounterType
Definition: SPIDEF.h:77
int32_t PaymentType
Definition: SPIDEF.h:50
A struct which reprensts a company in Cibus.
Definition: SPIDEF.h:685
uint32_t UnsignedNumericType
Definition: SPIDEF.h:80
void * APIHandle
Definition: SPIDEF.h:41
A struct that reprensts information about an acquire for a brand.
Definition: SPIDEF.h:214
uint64_t RateType
Definition: SPIDEF.h:59