SPI  1.2012.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 
411  SPILIBRARY_API SPI_RET_VAL SetAsPetrol(Ashrait::GasolineType GasolineType, AmountType GasolineLiter, AmountType OilLiter,
412  AmountType OilAmount, AmountType Speedometer, std::string CarNumber, AmountType Service);
413 
420  SPILIBRARY_API void SetDisplayLanguage(SPILanguage Language);
421 
427  SPILIBRARY_API void SetAdditionalInformation(std::string Information);
428 
435  SPILIBRARY_API SPI_RET_VAL SetSystemTrace(std::string SystemTrace);
436 
443  SPILIBRARY_API void SetPaymentAggregatorValue(std::string Key, std::string Value);
444 
445 
449 
468  SPILIBRARY_API AshraitEMVTransaction (std::string VendorUID, Ashrait::VirtualReason Virtual);
469 
479  SPILIBRARY_API SPI_RET_VAL SetAsSwipeData (PPIDType DeviceId, std::vector<std::string> DisplayMessages, TimeOutType TimeOutSeconds);
480 
488  SPILIBRARY_API SPI_RET_VAL SetAsCancelTransaction (std::string OriginalUID);
489 
498  SPILIBRARY_API SPI_RET_VAL SetAsCancelPreAuthorization (std::string OriginalUID);
499 
506  SPILIBRARY_API SPI_RET_VAL SetBalaceData (Ashrait::IPayType Type);
507 
517  SPILIBRARY_API SPI_RET_VAL SetAsGenerateStandingOrder (AmountType TotalAmount, FrequencyType Freq);
518 
525  SPILIBRARY_API SPI_RET_VAL SetAsGenerateStandingOrder (PaymentType TotalNumberOfPayments, FrequencyType Freq);
526 
534 
541  SPILIBRARY_API SPI_RET_VAL SetSettelmentRecord(string Record, string UID);
542 
550  SPILIBRARY_API SPI_RET_VAL SetAsCardless();
553 
558 
565  SPILIBRARY_API SPI_RET_VAL SetLoyaltyAmount(AmountType Amount);
566 
571  SPILIBRARY_API std::vector<Ashrait::CreditTerms> GetAvilibleCreditTerms() const;
572 
577  SPILIBRARY_API PaymentType GetMinimumCreditPaymentsAvilible() const;
578 
583  SPILIBRARY_API PaymentType GetMaximumCreditPaymentsAvilible() const;
584 
589  SPILIBRARY_API AmountType GetMinimumAmountForCreditPayment() const;
590 
595  SPILIBRARY_API PaymentType GetMaximumPaymentsAvilible() const;
596 
603  SPILIBRARY_API void GetSolekInformation(std::string &Name, std::string &BusinessNumber, std::string &PhoneNumber) const;
604 
610  SPILIBRARY_API bool IsClub() const;
611 
617  SPILIBRARY_API bool IsPrepaid() const;
618 
624  SPILIBRARY_API bool IsCombinedCard() const;
625 
626 
631  SPILIBRARY_API string GetClubNumber() const;
632 
637  SPILIBRARY_API string GetIsracardGroup() const;
638 
639 
643 
648  SPILIBRARY_API bool WasSuccessful () const;
649 
663  SPILIBRARY_API std::vector<ReceiptLine> GetMerchentRecipt () const;
664 
676  SPILIBRARY_API std::vector<ReceiptLine> GetCustomerRecipt () const;
677 
682  SPILIBRARY_API bool WasPhase1 () const;
683 
690  SPILIBRARY_API string GetUID () const;
691 
697  SPILIBRARY_API std::string GetSolekAuthNum () const;
698 
704  SPILIBRARY_API std::string GetIssuerAuthNum () const;
705 
711  SPILIBRARY_API Ashrait::AuthCodeIssuer GetAuthCodeIssuer() const;
712 
719  SPILIBRARY_API std::string GetSystemTraceNum() const;
720 
727  SPILIBRARY_API std::string GetSwipeData () const;
728 
734  SPILIBRARY_API std::string GetMaskedPan () const;
735 
741  SPILIBRARY_API std::string GetMaskedPanOriginalLength() const;
742 
747  SPILIBRARY_API std::string GetCardExpiryDate() const;
748 
754  SPILIBRARY_API std::string GetCardName() const;
755 
760  SPILIBRARY_API std::string GetTokenizedPAN() const;
761 
762 
768  SPILIBRARY_API std::string GetRRN () const;
769 
774  SPILIBRARY_API Ashrait::Solek GetSolek () const;
775 
780  SPILIBRARY_API Ashrait::Mutag GetMutag () const;
781 
786  SPILIBRARY_API Ashrait::Manpik GetManpik () const;
787 
793  SPILIBRARY_API Ashrait::PanEntryMode GetPanEntryMode () const;
794 
800  SPILIBRARY_API Ashrait::CreditTerms GetCreditTerms () const;
801 
807  SPILIBRARY_API Ashrait::TransactionType GetTranType () const;
808 
814  SPILIBRARY_API std::string GetCompanyBussinessNumber () const;
815 
823  SPILIBRARY_API PaymentType GetNoOfPayments () const;
824 
832  SPILIBRARY_API AmountType GetFirstPayment () const;
833 
840  SPILIBRARY_API AmountType GetNotFirstPayment () const;
841 
847  SPILIBRARY_API AmountType GetTip () const;
848 
858  SPILIBRARY_API void GetBalanceInformation (std::string & OutputBalance, boolean & MustPrint, boolean & MustShow) const;
859 
864  SPILIBRARY_API ExtendedEMVStatus GetExtendedEMVStatus() const;
865 
873  SPILIBRARY_API Ashrait::MissingEventType GetMissingEvent() const;
874 
879  SPILIBRARY_API std::string GetToken() const;
880 
885  SPILIBRARY_API std::string GetSettelmentRecord() const;
886 
887 
892  SPILIBRARY_API AmountType GetAuthorizedAmount() const;
893 
899  SPILIBRARY_API std::string GetPaymentAggregatorValue(std::string Key) const;
900 
903 
906  SPILIBRARY_API ~AshraitEMVTransaction();
907 
911  APIHandle GetAshEMVHandle() const;
912  private:
913  APIHandle AshraitEMVHandle;
915  };
916  }
917 }
918 
919 #endif