List of all members | Public Member Functions | Protected Member Functions
PaymentechProcessor Class Reference

#include <paymentechprocessor.h>

Public Member Functions

 PaymentechProcessor ()
 
- Public Member Functions inherited from CreditCardProcessor
virtual ~CreditCardProcessor ()
 
virtual int authorize (const int pccardid, const QString &pcvv, const double pamount, double ptax, bool ptaxexempt, double pfreight, double pduty, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid, QString preftype, int &prefid)
 Processes pre-authorization transactions. More...
 
virtual int charge (const int pccardid, const QString &pcvv, const double pamount, const double ptax, const bool ptaxexempt, const double pfreight, const double pduty, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid, QString preftype, int &prefid)
 Processes charge transactions. More...
 
virtual int chargePreauthorized (const QString &pcvv, const double pamount, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid)
 Processes 'capture' transactions, or charges against a prior preauthorization. More...
 
virtual int credit (const int pccardid, const QString &pcvv, const double pamount, const double ptax, const bool ptaxexempt, const double pfreight, const double pduty, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid, QString preftype, int &prefid)
 Processes credit transactions. More...
 
virtual Q_INVOKABLE int defaultPort (bool=false)
 Return the default port expected by the subclass. More...
 
virtual Q_INVOKABLE QString defaultServer ()
 Return the default server expected by the subclass. More...
 
virtual Q_INVOKABLE bool handlesChecks ()
 Returns whether the subclass handles checks. More...
 
virtual Q_INVOKABLE bool isLive ()
 Returns whether credit card processing is configured in live mode. More...
 
virtual Q_INVOKABLE bool isTest ()
 Returns whether credit card processing is configured in test mode. More...
 
virtual Q_INVOKABLE void reset ()
 Reset error handling internal settings so previous transactions don't interfere with new transactions. More...
 
virtual int reversePreauthorized (const double pamount, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid, QString preftype, int prefid)
 Reverse a preauthorization. More...
 
virtual Q_INVOKABLE int testConfiguration ()
 Test whether common credit card processing configuration options are consistent. More...
 
virtual int voidPrevious (int &)
 Processes void transactions. More...
 

Protected Member Functions

virtual int buildCommon (QString &pordernum, const int pccardid, const QString &pcvv, const double pamount, const int pcurrid, QString &prequest, QString pordertype, const QString &pAuthcode=QString::null, const QString &pRespdate=QString::null)
 
virtual int doAuthorize (const int, const QString &pcvv, double &, const double, const bool, const double, const double, const int, QString &, QString &, int &, ParameterList &)
 Placeholder for subclasses to override. More...
 
virtual int doCharge (const int pccardid, const QString &pcvv, const double pamount, const double ptax, const bool ptaxexempt, const double pfreight, const double pduty, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid, ParameterList &pparams)
 This function actually does an Authorization then a Charge Preauth. Changes don't occurr real-time so we do the preauth real-time and if that succeeds just put the record in the correct state to be charged later. If the processor can't do the charge then the transaction must be undone. More...
 
virtual int doChargePreauthorized (const int pccardid, const QString &pcvv, const double pamount, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid, ParameterList &pparams)
 Updated a previously created auth record as a charge with approved string "SUBMITTED" and a separate process will do the actuall processing of the charge updating the record appropriately. If the later processing fails then the appropriate step must be taken to undo any record money. More...
 
virtual int doCredit (const int pccardid, const QString &pcvv, const double pamount, const double ptax, const bool ptaxexempt, const double pfreight, const double pduty, const int pcurrid, QString &pneworder, QString &preforder, int &pccpayid, ParameterList &pparams)
 Create a credit record that will be processed later by a processor. If the processing fails then the record needs to undo any transactions. More...
 
virtual int doTestConfiguration ()
 Placeholder for subclasses to override. More...
 
virtual int doVoidPrevious (const int pccardid, const QString &pcvv, const double pamount, const int pcurrid, QString &pneworder, QString &preforder, QString &papproval, int &pccpayid, ParameterList &pparams)
 Placeholder for subclasses to override. More...
 
virtual int handleResponse (const QString &, const int, const QString &, const double, const int, QString &, QString &, int &, ParameterList &)
 
virtual bool handlesCreditCards ()
 Returns whether the subclass handles credit cards. More...
 
- Protected Member Functions inherited from CreditCardProcessor
 CreditCardProcessor ()
 Construct and initialize a default CreditCardProcessor. More...
 
virtual FraudCheckResultavsCodeLookup (QChar pcode)
 
virtual QString buildURL (const QString, const QString, const bool)
 Construct a valid URL from the information in the configuration. More...
 
virtual int checkCreditCard (const int pccid, const QString &pcvv, QString &pccard_x)
 Check if the given credit card is consistent and active. More...
 
virtual int checkCreditCardProcessor ()
 
virtual FraudCheckResultcvvCodeLookup (QChar pcode)
 
virtual int doReversePreauthorized (const double pamount, const int pcurrid, QString &pneworder, QString &preforder, int pccpayid, ParameterList &pparams)
 Placeholder for subclasses to override. More...
 
virtual int fraudChecks ()
 Handle fraud checking as determined by the system configuration. More...
 
virtual int sendViaHTTP (const QString &, QString &)
 Send an HTTP request to the configured credit card service and wait for its response. More...
 
virtual int updateCCPay (int &, ParameterList &)
 Insert into or update the ccpay table based on parameters extracted from the credit card processing service' response to a transaction request. More...
 

Additional Inherited Members

- Public Types inherited from CreditCardProcessor
enum  CCTransaction {
  Authorize, Reverse, Capture, Charge,
  Credit, Void
}
 
enum  FraudCheck {
  Match = 0x0000, NoMatch = 0x0001, NotAvail = 0x0002, Address = 0x0004,
  PostalCode = 0x0008, Name = 0x0010, NotProcessed = 0x0020, Invalid = 0x0040,
  ServiceUnavailable = 0x0080, IssuerNotCertified = 0x0100, Suspicious = 0x0200, Unsupported = 0x0400
}
 
- Static Public Member Functions inherited from CreditCardProcessor
static Q_INVOKABLE ParameterList authorize (const ParameterList &)
 Processes pre-authorization transactions. More...
 
static Q_INVOKABLE ParameterList charge (const ParameterList &)
 Processes charge transactions. More...
 
static Q_INVOKABLE ParameterList chargePreauthorized (const ParameterList &)
 Captures preauthorized transactions. More...
 
static Q_INVOKABLE ParameterList credit (const ParameterList &)
 Processes credit transactions. More...
 
static Q_INVOKABLE QString errorMsg ()
 Returns the most recent error message set by CreditCardProcessor or one of its subclasses. More...
 
static Q_INVOKABLE QString errorMsg (const int)
 Returns the error message associated with the given pcode. More...
 
static Q_INVOKABLE CreditCardProcessorgetProcessor (const QString=QString())
 Get a new instance of a specific CreditCardProcessor subclass. More...
 
static Q_INVOKABLE int printReceipt (const int)
 Print the CCReceipt report for a credit card transaction. More...
 
static Q_INVOKABLE QString typeToCode (CCTransaction ptranstype)
 
static Q_INVOKABLE ParameterList voidPrevious (const ParameterList &)
 Processes void transactions. More...
 
- Protected Attributes inherited from CreditCardProcessor
QList< FraudCheckResult * > _avsCodes
 
QString _company
 
QList< FraudCheckResult * > _cvvCodes
 
int _defaultLivePort
 
QString _defaultLiveServer
 
int _defaultTestPort
 
QString _defaultTestServer
 
QList< QPair< QString, QString > > _extraHeaders
 
QHttp * _http
 
bool _ignoreSslErrors
 
bool _passedAvs
 
bool _passedCvv
 
QString _plogin
 
QString _ppassword
 
QString _pport
 
QString _pserver
 
- Protected Slots inherited from CreditCardProcessor
void sslErrors (const QList< QSslError > &errors)
 
- Static Protected Member Functions inherited from CreditCardProcessor
static double currToCurr (const int, const int, const double, int *=0)
 Convert between two currencies. More...
 
- Static Protected Attributes inherited from CreditCardProcessor
static QString _errorMsg = ""
 
static QHash< int, QString > _msgHash
 

Constructor & Destructor Documentation

PaymentechProcessor::PaymentechProcessor ( )

Member Function Documentation

int PaymentechProcessor::buildCommon ( QString &  pordernum,
const int  pccardid,
const QString &  pcvv,
const double  pamount,
const int  pcurrid,
QString &  prequest,
QString  pordertype,
const QString &  pAuthcode = QString::null,
const QString &  pRespdate = QString::null 
)
protectedvirtual
int PaymentechProcessor::doAuthorize ( const int  pccardid,
const QString &  pcvv,
double &  pamount,
const double  ptax,
const bool  ptaxexempt,
const double  pfreight,
const double  pduty,
const int  pcurrid,
QString &  pneworder,
QString &  preforder,
int &  pccpayid,
ParameterList &  pParams 
)
protectedvirtual

Placeholder for subclasses to override.

See also
authorize

Reimplemented from CreditCardProcessor.

int PaymentechProcessor::doCharge ( const int  pccardid,
const QString &  pcvv,
const double  pamount,
const double  ptax,
const bool  ptaxexempt,
const double  pfreight,
const double  pduty,
const int  pcurrid,
QString &  pneworder,
QString &  preforder,
int &  pccpayid,
ParameterList &  pparams 
)
protectedvirtual

This function actually does an Authorization then a Charge Preauth. Changes don't occurr real-time so we do the preauth real-time and if that succeeds just put the record in the correct state to be charged later. If the processor can't do the charge then the transaction must be undone.

Reimplemented from CreditCardProcessor.

int PaymentechProcessor::doChargePreauthorized ( const int  pccardid,
const QString &  pcvv,
const double  pamount,
const int  pcurrid,
QString &  pneworder,
QString &  preforder,
int &  pccpayid,
ParameterList &  pparams 
)
protectedvirtual

Updated a previously created auth record as a charge with approved string "SUBMITTED" and a separate process will do the actuall processing of the charge updating the record appropriately. If the later processing fails then the appropriate step must be taken to undo any record money.

Reimplemented from CreditCardProcessor.

int PaymentechProcessor::doCredit ( const int  pccardid,
const QString &  pcvv,
const double  pamount,
const double  ptax,
const bool  ptaxexempt,
const double  pfreight,
const double  pduty,
const int  pcurrid,
QString &  pneworder,
QString &  preforder,
int &  pccpayid,
ParameterList &  pparams 
)
protectedvirtual

Create a credit record that will be processed later by a processor. If the processing fails then the record needs to undo any transactions.

Reimplemented from CreditCardProcessor.

int PaymentechProcessor::doTestConfiguration ( )
protectedvirtual

Placeholder for subclasses to override.

See also
testConfiguration

Reimplemented from CreditCardProcessor.

int PaymentechProcessor::doVoidPrevious ( const int  pccardid,
const QString &  pcvv,
const double  pamount,
const int  pcurrid,
QString &  pneworder,
QString &  preforder,
QString &  papproval,
int &  pccpayid,
ParameterList &  pParams 
)
protectedvirtual

Placeholder for subclasses to override.

See also
voidPrevious

Reimplemented from CreditCardProcessor.

int PaymentechProcessor::handleResponse ( const QString &  presponse,
const int  pccardid,
const QString &  ptype,
const double  pamount,
const int  pcurrid,
QString &  pneworder,
QString &  preforder,
int &  pccpayid,
ParameterList &  pparams 
)
protectedvirtual
bool PaymentechProcessor::handlesCreditCards ( )
protectedvirtual

Returns whether the subclass handles credit cards.

Reimplemented from CreditCardProcessor.


The documentation for this class was generated from the following files:

Generated on Fri Oct 7 2016 16:24:50 xTuple ERP Programmer Reference, Version 4.7.0 doxygen 1.8.10