com.elasticpath.domain.payment.impl
Class PayflowProPaymentGatewayImpl

java.lang.Object
  extended by com.elasticpath.domain.impl.AbstractEpDomainImpl
      extended by com.elasticpath.domain.impl.AbstractTransientImpl
          extended by com.elasticpath.domain.payment.impl.AbstractPaymentGatewayImpl
              extended by com.elasticpath.domain.payment.impl.AbstractCreditCardPaymentGatewayImpl
                  extended by com.elasticpath.domain.payment.impl.PayflowProPaymentGatewayImpl
All Implemented Interfaces:
EpDomain, CreditCardPaymentGateway, PaymentGateway, Transient, java.io.Serializable

public class PayflowProPaymentGatewayImpl
extends AbstractCreditCardPaymentGatewayImpl
implements CreditCardPaymentGateway

Implements a payment gateway for Verisign/paypal's PayflowPro. Supports the following gateway properties in commerce-config.xml:

Parameter NameRequired?Comments
userYES
passwordYES
vendorYES
partnerYES
certificateLocationYESRELATIVE/PATH/TO/CERT/DIRECTORY (from WEB-INF)
hostAddressYES
hostPortNODefaults to 443
timeoutNODefaults to 30 (seconds)
proxyAddressNO
proxyPortNO
proxyLogonNO
proxyPasswordNO

See Also:
Serialized Form

Field Summary
static long serialVersionUID
          Serial version id.
 
Constructor Summary
PayflowProPaymentGatewayImpl()
           
 
Method Summary
 void capture(OrderPayment payment)
          Captures a payment on a previously authorized card.
 PaymentType getPaymentType()
          Get the type of this payment gateway.
 void preAuthorize(OrderPayment payment, Address billingAddress)
          Pre-authorize a payment.
 void reversePreAuthorization(OrderPayment payment)
          Reverse a previous pre-authorization.
 void sale(OrderPayment payment, Address billingAddress)
          Immediately process a payment.
 void voidCaptureOrCredit(OrderPayment payment)
          Void a previous capture or credit.
 
Methods inherited from class com.elasticpath.domain.payment.impl.AbstractCreditCardPaymentGatewayImpl
getSupportedCardTypes, setSupportedCardTypes, setValidateCvv2, validateCvv2
 
Methods inherited from class com.elasticpath.domain.payment.impl.AbstractPaymentGatewayImpl
getName, getProperties, getSupportedCurrencies, refund, setName, setProperties, setSupportedCurrencies
 
Methods inherited from class com.elasticpath.domain.impl.AbstractEpDomainImpl
getElasticPath, setElasticPath
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.elasticpath.domain.payment.CreditCardPaymentGateway
getSupportedCardTypes, setSupportedCardTypes, setValidateCvv2, validateCvv2
 
Methods inherited from interface com.elasticpath.domain.payment.PaymentGateway
getName, getProperties, getSupportedCurrencies, refund, setName, setProperties, setSupportedCurrencies
 
Methods inherited from interface com.elasticpath.domain.EpDomain
getElasticPath, setElasticPath
 

Field Detail

serialVersionUID

public static final long serialVersionUID
Serial version id.

See Also:
Constant Field Values
Constructor Detail

PayflowProPaymentGatewayImpl

public PayflowProPaymentGatewayImpl()
Method Detail

capture

public void capture(OrderPayment payment)
Captures a payment on a previously authorized card.

Specified by:
capture in interface PaymentGateway
Parameters:
payment - the payment to be captured
Throws:
CardExpiredException - if the card has expired
CardErrorException - if there was an error processing the given information
PaymentGatewayException - if the payment processing fails

getPaymentType

public PaymentType getPaymentType()
Get the type of this payment gateway.

Specified by:
getPaymentType in interface PaymentGateway
Returns:
the payment type

preAuthorize

public void preAuthorize(OrderPayment payment,
                         Address billingAddress)
Pre-authorize a payment.

Specified by:
preAuthorize in interface PaymentGateway
Parameters:
payment - the payment to be preauthorized
billingAddress - the name and address of the person being billed
Throws:
CardDeclinedException - if the card is declined
CardExpiredException - if the card has expired
CardErrorException - if there was an error processing the given information
PaymentGatewayException - if the payment processing fails

reversePreAuthorization

public void reversePreAuthorization(OrderPayment payment)
Reverse a previous pre-authorization.

Specified by:
reversePreAuthorization in interface PaymentGateway
Parameters:
payment - the payment that was previously pre-authorized
Throws:
CardExpiredException - if the card has expired
CardErrorException - if there was an error processing the given information
PaymentGatewayException - if the payment processing fails

sale

public void sale(OrderPayment payment,
                 Address billingAddress)
Immediately process a payment.

Specified by:
sale in interface PaymentGateway
Parameters:
payment - the payment to be preauthorized
billingAddress - the name and address of the person being billed
Throws:
CardDeclinedException - if the card is declined
CardExpiredException - if the card has expired
CardErrorException - if there was an error processing the given information
PaymentGatewayException - if the payment processing fails

voidCaptureOrCredit

public void voidCaptureOrCredit(OrderPayment payment)
Void a previous capture or credit. Can usually only be executed on the same day of the original transaction.

Specified by:
voidCaptureOrCredit in interface PaymentGateway
Parameters:
payment - the payment to be voided
Throws:
CardExpiredException - if the card has expired
CardErrorException - if there was an error processing the given information
PaymentGatewayException - if the payment processing fails