SPI  1.1.28
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 
109  SPILIBRARY_API SPI_RET_VAL SetMSRData(std::string Data);
110 
117  SPILIBRARY_API SPI_RET_VAL SetAsRefund ();
118 
126  SPILIBRARY_API SPI_RET_VAL SetAsCashback (AmountType CashbackAmount);
127 
134  SPILIBRARY_API SPI_RET_VAL SetAsCash ();
135 
144  SPILIBRARY_API SPI_RET_VAL SetAsChargePrepaid (Ashrait::IPayType Type, AmountType UnitsAmount = 0);
145 
153  SPILIBRARY_API SPI_RET_VAL SetAsUnChargePrepaid (Ashrait::IPayType Type);
154 
166  SPILIBRARY_API SPI_RET_VAL SetAsSingleStandingPayment (std::string OriginUID, PaymentType PaymentIndex, std::string SolekAuthNum, std::string IssuerAuthNum, AmountType Commision = 0);
167 
180  SPILIBRARY_API SPI_RET_VAL SetAsSingleStandingPayment (std::string OriginUID, AmountType TotalAmount, PaymentType PaymentIndex, std::string SolekAuthNum, std::string IssuerAuthNum, AmountType Commision = 0);
181 
194  SPILIBRARY_API SPI_RET_VAL SetAsSingleStandingPayment (std::string OriginUID, PaymentType TotalNumberOfPayments, PaymentType PaymentIndex, std::string SolekAuthNum, std::string IssuerAuthNum, AmountType Commision = 0);
195 
203  SPILIBRARY_API SPI_RET_VAL SetAsCreditTransaction (PaymentType NoOfPayments);
204 
214  SPILIBRARY_API SPI_RET_VAL SetAsPaymentsTransaction (PaymentType NoOfPayments, AmountType First, Ashrait::PaymentLinked Link);
215 
222  SPILIBRARY_API SPI_RET_VAL SetAsSpecialCredit ();
223 
230  SPILIBRARY_API SPI_RET_VAL SetAsImmediateCredit ();
231 
239  SPILIBRARY_API SPI_RET_VAL SetAsIPayTransaction (AmountType MoneyAmount);
240 
248  SPILIBRARY_API SPI_RET_VAL SetAsIPayTransaction (PercentType Percents);
249 
259  SPILIBRARY_API SPI_RET_VAL SetAsIPayTransaction (Ashrait::IPayType Type, AmountType MoneyAmount, AmountType UnitsAmount);
260 
272  SPILIBRARY_API SPI_RET_VAL SetForeignCurrency (CurrencyISOType ISOCode, AmountType ConversionAmount, RateType ChangeRate);
273 
281  SPILIBRARY_API SPI_RET_VAL SetIsracardGift (std::string OfferCode, std::string GiftNumber);
282 
289  SPILIBRARY_API SPI_RET_VAL SetTip (AmountType TipAmount);
290 
297  SPILIBRARY_API SPI_RET_VAL SetDeferMonths (MonthType Months);
298 
306  SPILIBRARY_API SPI_RET_VAL SetDueDate (std::string DueDateYYMMDD);
307 
314  SPILIBRARY_API SPI_RET_VAL SetToForceOfflineApproval ();
315 
321  SPILIBRARY_API SPI_RET_VAL SetToForceOnlineAuthorization ();
322 
329  SPILIBRARY_API SPI_RET_VAL SetAsSelfService ();
330 
339  SPILIBRARY_API SPI_RET_VAL SetFullAddress (std::string Address, std::string City, std::string ZipCode);
340 
347  SPILIBRARY_API SPI_RET_VAL SetZipCode (std::string ZipCode);
348 
357  SPILIBRARY_API SPI_RET_VAL SetAsPreAuthorization ();
358 
367  SPILIBRARY_API SPI_RET_VAL CompletePreAuthorization (std::string UID);
368 
375  SPILIBRARY_API SPI_RET_VAL SetAuthorizationNumber (std::string AuthNumber);
376 
389  SPILIBRARY_API SPI_RET_VAL SetAsPetrol(Ashrait::GasolineType GasolineType, AmountType GasolineLiter, AmountType OilLiter,
390  AmountType OilAmount, AmountType Speedometer, std::string CarNumber, AmountType Service);
391 
395 
414  SPILIBRARY_API AshraitEMVTransaction (std::string VendorUID, Ashrait::VirtualReason Virtual);
415 
425  SPILIBRARY_API SPI_RET_VAL SetAsSwipeData (PPIDType DeviceId, std::vector<std::string> DisplayMessages, TimeOutType TimeOutSeconds);
426 
434  SPILIBRARY_API SPI_RET_VAL SetAsCancelTransaction (std::string OriginalUID);
435 
444  SPILIBRARY_API SPI_RET_VAL SetAsCancelPreAuthorization (std::string OriginalUID);
445 
452  SPILIBRARY_API SPI_RET_VAL SetBalaceData (Ashrait::IPayType Type);
453 
463  SPILIBRARY_API SPI_RET_VAL SetAsGenerateStandingOrder (AmountType TotalAmount, FrequencyType Freq);
464 
471  SPILIBRARY_API SPI_RET_VAL SetAsGenerateStandingOrder (PaymentType TotalNumberOfPayments, FrequencyType Freq);
472 
482 
487 
494  SPILIBRARY_API SPI_RET_VAL SetLoyaltyAmount(AmountType Amount);
495 
500  SPILIBRARY_API std::vector<Ashrait::CreditTerms> GetAvilibleCreditTerms() const;
501 
506  SPILIBRARY_API PaymentType GetMinimumCreditPaymentsAvilible() const;
507 
512  SPILIBRARY_API PaymentType GetMaximumCreditPaymentsAvilible() const;
513 
518  SPILIBRARY_API AmountType GetMinimumAmountForCreditPayment() const;
519 
524  SPILIBRARY_API PaymentType GetMaximumPaymentsAvilible() const;
525 
529 
534  SPILIBRARY_API bool WasSuccessful () const;
535 
549  SPILIBRARY_API std::vector<ReceiptLine> GetMerchentRecipt () const;
550 
562  SPILIBRARY_API std::vector<ReceiptLine> GetCustomerRecipt () const;
563 
568  SPILIBRARY_API bool WasPhase1 () const;
569 
576  SPILIBRARY_API string GetUID () const;
577 
583  SPILIBRARY_API std::string GetSolekAuthNum () const;
584 
590  SPILIBRARY_API std::string GetIssuerAuthNum () const;
591 
597  SPILIBRARY_API std::string GetSwipeData () const;
598 
604  SPILIBRARY_API std::string GetMaskedPan () const;
605 
610  SPILIBRARY_API std::string GetTokenizedPAN() const;
611 
612 
618  SPILIBRARY_API std::string GetRRN () const;
619 
624  SPILIBRARY_API Ashrait::Solek GetSolek () const;
625 
630  SPILIBRARY_API Ashrait::Mutag GetMutag () const;
631 
636  SPILIBRARY_API Ashrait::Manpik GetManpik () const;
637 
643  SPILIBRARY_API Ashrait::PanEntryMode GetPanEntryMode () const;
644 
650  SPILIBRARY_API Ashrait::CreditTerms GetCreditTerms () const;
651 
657  SPILIBRARY_API Ashrait::TransactionType GetTranType () const;
658 
664  SPILIBRARY_API std::string GetCompanyBussinessNumber () const;
665 
673  SPILIBRARY_API PaymentType GetNoOfPayments () const;
674 
682  SPILIBRARY_API AmountType GetFirstPayment () const;
683 
690  SPILIBRARY_API AmountType GetNotFirstPayment () const;
691 
697  SPILIBRARY_API AmountType GetTip () const;
698 
708  SPILIBRARY_API void GetBalanceInformation (std::string & OutputBalance, boolean & MustPrint, boolean & MustShow) const;
709 
714  SPILIBRARY_API ExtendedEMVStatus GetExtendedEMVStatus() const;
715 
723  SPILIBRARY_API Ashrait::MissingEventType GetMissingEvent() const;
724 
729  SPILIBRARY_API std::string GetToken() const;
730 
735  SPILIBRARY_API AmountType GetAuthorizedAmount() const;
736 
739 
742  SPILIBRARY_API ~AshraitEMVTransaction();
743 
747  APIHandle GetAshEMVHandle() const;
748  private:
749  APIHandle AshraitEMVHandle;
751  };
752  }
753 }
754 
755 #endif