SPI  1.2403.0
Secured Payment Interface
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
AshraitEMVTransaction.h
Go to the documentation of this file.
1 
13 #ifndef __ASHRAITEMVTRANSACTION_H__
14 #define __ASHRAITEMVTRANSACTION_H__
15 
16 #include <iostream>
17 #include <string>
18 #include <cstring>
19 #include <vector>
20 
21 #include "SPIDEF.h"
22 #include "transaction.h"
23 
24 using std::string;
25 using std::vector;
26 
27 namespace Modularity {
28  namespace SPI {
34  public:
38 
70  SPILIBRARY_API AshraitEMVTransaction (AmountType Amount, string VendorUID, CurrencyType Currency);
71 
89  SPILIBRARY_API SPI_RET_VAL SetAsCNPTransaction (Ashrait::CardNotPresentType Type, string CardNumber, string Exp, string CVV, string ID, std::string Address, std::string City, std::string ZipCode);
90 
101  SPILIBRARY_API SPI_RET_VAL SetAsInternetTransaction (Ashrait::ECIType ECI, string CAVVUCAF, string XID, string CAP_DPA);
102 
108  SPILIBRARY_API void SetCVV(std::string CVV);
109 
115  SPILIBRARY_API void SetCardHolderId(std::string CardHolderId);
116 
123  SPILIBRARY_API SPI_RET_VAL SetMSRData(std::string Data);
124 
131  SPILIBRARY_API SPI_RET_VAL SetAsRefund ();
132 
140  SPILIBRARY_API SPI_RET_VAL SetAsCashback (AmountType CashbackAmount);
141 
148  SPILIBRARY_API SPI_RET_VAL SetAsCash ();
149 
158  SPILIBRARY_API SPI_RET_VAL SetAsChargePrepaid (Ashrait::IPayType Type, AmountType UnitsAmount = 0);
159 
167  SPILIBRARY_API SPI_RET_VAL SetAsUnChargePrepaid (Ashrait::IPayType Type);
168 
180  SPILIBRARY_API SPI_RET_VAL SetAsSingleStandingPayment (std::string OriginUID, PaymentType PaymentIndex, std::string SolekAuthNum, std::string IssuerAuthNum, AmountType Commision = 0);
181 
194  SPILIBRARY_API SPI_RET_VAL SetAsSingleStandingPayment (std::string OriginUID, AmountType TotalAmount, PaymentType PaymentIndex, std::string SolekAuthNum, std::string IssuerAuthNum, AmountType Commision = 0);
195 
208  SPILIBRARY_API SPI_RET_VAL SetAsSingleStandingPayment (std::string OriginUID, PaymentType TotalNumberOfPayments, PaymentType PaymentIndex, std::string SolekAuthNum, std::string IssuerAuthNum, AmountType Commision = 0);
209 
217  SPILIBRARY_API SPI_RET_VAL SetAsCreditTransaction (PaymentType NoOfPayments);
218 
228  SPILIBRARY_API SPI_RET_VAL SetAsPaymentsTransaction (PaymentType NoOfPayments, AmountType First, Ashrait::PaymentLinked Link);
229 
236  SPILIBRARY_API SPI_RET_VAL SetAsSpecialCredit ();
237 
244  SPILIBRARY_API SPI_RET_VAL SetAsImmediateCredit ();
245 
253  SPILIBRARY_API SPI_RET_VAL SetAsIPayTransaction (AmountType MoneyAmount);
254 
262  SPILIBRARY_API SPI_RET_VAL SetAsIPayTransaction (PercentType Percents);
263 
273  SPILIBRARY_API SPI_RET_VAL SetAsIPayTransaction (Ashrait::IPayType Type, AmountType MoneyAmount, AmountType UnitsAmount);
274 
286  SPILIBRARY_API SPI_RET_VAL SetForeignCurrency (CurrencyISOType ISOCode, AmountType ConversionAmount, RateType ChangeRate);
287 
295  SPILIBRARY_API SPI_RET_VAL SetIsracardGift (std::string OfferCode, std::string GiftNumber);
296 
303  SPILIBRARY_API SPI_RET_VAL SetOfferCode(std::string OfferCode);
304 
311  SPILIBRARY_API SPI_RET_VAL SetTip (AmountType TipAmount);
312 
319  SPILIBRARY_API SPI_RET_VAL SetDeferMonths (MonthType Months);
320 
328  SPILIBRARY_API SPI_RET_VAL SetDueDate (std::string DueDateYYMMDD);
329 
336  SPILIBRARY_API SPI_RET_VAL SetToForceOfflineApproval ();
337 
343  SPILIBRARY_API SPI_RET_VAL SetToForceOnlineAuthorization ();
344 
351  SPILIBRARY_API SPI_RET_VAL SetAsSelfService ();
352 
361  SPILIBRARY_API SPI_RET_VAL SetFullAddress (std::string Address, std::string City, std::string ZipCode);
362 
369  SPILIBRARY_API SPI_RET_VAL SetZipCode (std::string ZipCode);
370 
379  SPILIBRARY_API SPI_RET_VAL SetAsPreAuthorization ();
380 
389  SPILIBRARY_API SPI_RET_VAL CompletePreAuthorization (std::string UID);
390 
397  SPILIBRARY_API SPI_RET_VAL SetAuthorizationNumber (std::string AuthNumber);
398 
403  SPILIBRARY_API void SetAsPetrol();
404 
410  SPILIBRARY_API void SetServiceAmount(AmountType ServiceAmount);
411 
412 
413 
421  SPILIBRARY_API void SetDisplayLanguage(SPILanguage Language);
422 
428  SPILIBRARY_API void SetAdditionalInformation(std::string Information);
429 
436  SPILIBRARY_API SPI_RET_VAL SetSystemTrace(std::string SystemTrace);
437 
444  SPILIBRARY_API void SetPaymentAggregatorValue(std::string Key, std::string Value);
445 
452  SPILIBRARY_API void SetCustomData(std::string Key, std::string Value);
453 
458  SPILIBRARY_API void SetSubRetailer(std::string SubRetailer);
459 
465  SPILIBRARY_API void SetZData(UnsignedNumericType ZData);
466 
472  SPILIBRARY_API void SetMutav(std::string Mutav);
473 
478  SPILIBRARY_API void SetOfflineMode();
479 
483 
502  SPILIBRARY_API AshraitEMVTransaction (std::string VendorUID, Ashrait::VirtualReason Virtual);
503 
513  SPILIBRARY_API SPI_RET_VAL SetAsSwipeData (PPIDType DeviceId, std::vector<std::string> DisplayMessages, TimeOutType TimeOutSeconds);
514 
522  SPILIBRARY_API SPI_RET_VAL SetAsCancelTransaction (std::string OriginalUID);
523 
532  SPILIBRARY_API SPI_RET_VAL SetAsCancelPreAuthorization (std::string OriginalUID);
533 
540  SPILIBRARY_API SPI_RET_VAL SetBalaceData (Ashrait::IPayType Type);
541 
551  SPILIBRARY_API SPI_RET_VAL SetAsGenerateStandingOrder (AmountType TotalAmount, FrequencyType Freq);
552 
559  SPILIBRARY_API SPI_RET_VAL SetAsGenerateStandingOrder (PaymentType TotalNumberOfPayments, FrequencyType Freq);
560 
568 
576  SPILIBRARY_API SPI_RET_VAL SetSettelmentRecord(string Record, string UID);
577 
585  SPILIBRARY_API SPI_RET_VAL SetAsCardless();
588 
593 
600  SPILIBRARY_API SPI_RET_VAL SetLoyaltyAmount(AmountType Amount);
601 
606  SPILIBRARY_API std::vector<Ashrait::CreditTerms> GetAvilibleCreditTerms() const;
607 
612  SPILIBRARY_API PaymentType GetMinimumCreditPaymentsAvilible() const;
613 
618  SPILIBRARY_API PaymentType GetMaximumCreditPaymentsAvilible() const;
619 
624  SPILIBRARY_API AmountType GetMinimumAmountForCreditPayment() const;
625 
630  SPILIBRARY_API PaymentType GetMaximumPaymentsAvilible() const;
631 
638  SPILIBRARY_API void GetSolekInformation(std::string &Name, std::string &BusinessNumber, std::string &PhoneNumber) const;
639 
645  SPILIBRARY_API bool IsClub() const;
646 
652  SPILIBRARY_API bool IsPrepaid() const;
653 
659  SPILIBRARY_API bool IsCombinedCard() const;
660 
661 
666  SPILIBRARY_API string GetClubNumber() const;
667 
674  SPILIBRARY_API string GetIsracardClubNumber() const;
675 
676 
677 
682  SPILIBRARY_API string GetIsracardGroup() const;
683 
690  SPILIBRARY_API bool IsCvvRequiered() const;
691 
698  SPILIBRARY_API bool IsCardHoderIdRequiered() const;
699 
706  SPILIBRARY_API std::string GetSubRetailer() const;
707 
708 
712 
717  SPILIBRARY_API bool WasSuccessful () const;
718 
732  SPILIBRARY_API std::vector<ReceiptLine> GetMerchentRecipt () const;
733 
745  SPILIBRARY_API std::vector<ReceiptLine> GetCustomerRecipt () const;
746 
751  SPILIBRARY_API bool WasPhase1 () const;
752 
759  SPILIBRARY_API string GetUID () const;
760 
766  SPILIBRARY_API std::string GetSolekAuthNum () const;
767 
773  SPILIBRARY_API std::string GetIssuerAuthNum () const;
774 
780  SPILIBRARY_API Ashrait::AuthCodeIssuer GetAuthCodeIssuer() const;
781 
788  SPILIBRARY_API std::string GetSystemTraceNum() const;
789 
796  SPILIBRARY_API std::string GetSwipeData () const;
797 
803  SPILIBRARY_API std::string GetMaskedPan () const;
804 
810  SPILIBRARY_API std::string GetMaskedPanOriginalLength() const;
811 
816  SPILIBRARY_API std::string GetCardExpiryDate() const;
817 
823  SPILIBRARY_API std::string GetCardName() const;
824 
829  SPILIBRARY_API std::string GetTokenizedPAN() const;
830 
831 
837  SPILIBRARY_API std::string GetRRN () const;
838 
843  SPILIBRARY_API Ashrait::Solek GetSolek () const;
844 
849  SPILIBRARY_API Ashrait::Mutag GetMutag () const;
850 
855  SPILIBRARY_API Ashrait::Manpik GetManpik () const;
856 
862  SPILIBRARY_API Ashrait::PanEntryMode GetPanEntryMode () const;
863 
869  SPILIBRARY_API Ashrait::CreditTerms GetCreditTerms () const;
870 
876  SPILIBRARY_API Ashrait::TransactionType GetTranType () const;
877 
883  SPILIBRARY_API std::string GetCompanyBussinessNumber () const;
884 
892  SPILIBRARY_API PaymentType GetNoOfPayments () const;
893 
901  SPILIBRARY_API AmountType GetFirstPayment () const;
902 
909  SPILIBRARY_API AmountType GetNotFirstPayment () const;
910 
916  SPILIBRARY_API AmountType GetTip () const;
917 
927  SPILIBRARY_API void GetBalanceInformation (std::string & OutputBalance, boolean & MustPrint, boolean & MustShow) const;
928 
933  SPILIBRARY_API ExtendedEMVStatus GetExtendedEMVStatus() const;
934 
942  SPILIBRARY_API Ashrait::MissingEventType GetMissingEvent() const;
943 
948  SPILIBRARY_API std::string GetToken() const;
949 
954  SPILIBRARY_API std::string GetSettelmentRecord() const;
955 
956 
961  SPILIBRARY_API AmountType GetAuthorizedAmount() const;
962 
968  SPILIBRARY_API std::string GetPaymentAggregatorValue(std::string Key) const;
969 
974  SPILIBRARY_API std::string GetMutav() const;
975 
980  SPILIBRARY_API std::string GetMiniSettelemntAckNumber() const;
981 
986  SPILIBRARY_API std::vector<std::string> GetMiniSettelemntTransactions() const;
987 
998  SPILIBRARY_API UnsignedNumericType GetTranKinds() const;
999 
1009  SPILIBRARY_API std::string GetAuthorizationCommStat() const;
1010 
1019  SPILIBRARY_API std::string GetMiniSettelmentCommStat() const;
1020 
1026  SPILIBRARY_API bool IsPendingAuthorization() const;
1027 
1028 
1029 
1032 
1035  SPILIBRARY_API ~AshraitEMVTransaction();
1036 
1040  APIHandle GetAshEMVHandle() const;
1041  private:
1042  APIHandle AshraitEMVHandle;
1044  };
1045  }
1046 }
1047 
1048 #endif