org.starhope.appius.pay.util
Class PaymentCredential

java.lang.Object
  extended by org.starhope.appius.pay.util.PaymentCredential

public class PaymentCredential
extends Object

Author:
brpocock

Field Summary
private  UserAddress address
           
private  String buyerCompany
           
private  String buyerFamilyName
           
private  String buyerGivenName
           
private  BigDecimal cardCode
          The CCV, Card Code.
private  BigDecimal cardNumber
          The credit-card number
private  CredentialType credentialType
          The type of credentials presented.
private  Date expiry
          The expiry date of a credit card (used for validation)
 
Constructor Summary
PaymentCredential()
           
 
Method Summary
 void applyTo(com.admc.authnet.AimTransaction xact)
           Apply a (credit-card only) set of payment credentials to an Authorize.Net one-time-purchase (AIM, Advanced Integration Method) object.
 void applyTo(ARBNameAndAddress billTo)
           
 void applyTo(ARBPayment payment)
           Apply the credit-card information to the Authorize.net ARBPayment object.
 UserAddress getAddress()
           
 String getBuyerFamilyName()
           
 String getBuyerGivenName()
           
 CredentialType getCredentialType()
           
static String getFriendlyName(CredentialType type)
           
private  String getLastFour()
           
 void populate(com.paypal.sdk.core.nvp.NVPEncoder encoder)
          Apply credentials to a PayPal transaction
 void setBuyerInfo(String buyerGivenName, String buyerFamilyName, UserAddress address)
           
 void setCardCode(BigDecimal num)
           
 void setCardNumber(BigDecimal num)
           
 void setCredentialType(CredentialType credentialType)
           
 void setExpiry(Date d)
           
 void shred()
          Discard all credential information
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

address

private UserAddress address

buyerCompany

private final String buyerCompany

buyerFamilyName

private String buyerFamilyName

buyerGivenName

private String buyerGivenName

cardCode

private BigDecimal cardCode
The CCV, Card Code.


cardNumber

private BigDecimal cardNumber
The credit-card number


credentialType

private CredentialType credentialType
The type of credentials presented. See CredentialType for all valid values. Note that at present we only actually support credit cards and gift cards.


expiry

private Date expiry
The expiry date of a credit card (used for validation)

Constructor Detail

PaymentCredential

public PaymentCredential()
Method Detail

getFriendlyName

public static String getFriendlyName(CredentialType type)
Parameters:
type - a type of credentials
Returns:
a "friendly" (but possibly verbose) description of the type of transaction credentials, suitable for displaying to the end-user. This is used by, e.g. UnsupportedCredentialException to display "pretty" error messages.

applyTo

public void applyTo(com.admc.authnet.AimTransaction xact)

Apply a (credit-card only) set of payment credentials to an Authorize.Net one-time-purchase (AIM, Advanced Integration Method) object.

At present, this (or applyTo(ARBPayment)) are the only supported way to extract the card information once it's entered into this object; however, the last 4 digits of the card number are visible via #toString()

Parameters:
xact - An Authorize.Net transaction in the form of AimTransaction

applyTo

public void applyTo(ARBNameAndAddress billTo)

applyTo

public void applyTo(ARBPayment payment)
             throws UnsupportedCredentialException

Apply the credit-card information to the Authorize.net ARBPayment object.

At present, this (or applyTo(AimTransaction)) are the only supported way to extract the card information once it's entered into this object; however, the last 4 digits of the card number are visible via #toString()

Parameters:
payment - The ARB Payment object to which we want to append the card information.
Throws:
UnsupportedCredentialException - if this is not a credit-card credentials bundle

getCredentialType

public CredentialType getCredentialType()
Returns:
the credentialType

getLastFour

private String getLastFour()
Returns:
The last four digits of a credit-card number. Used by toString() and only accessible thereby.

populate

public void populate(com.paypal.sdk.core.nvp.NVPEncoder encoder)
Apply credentials to a PayPal transaction

Parameters:
encoder - the PayPal transaction-in-progress

setBuyerInfo

public void setBuyerInfo(String buyerGivenName,
                         String buyerFamilyName,
                         UserAddress address)

getBuyerGivenName

public String getBuyerGivenName()
Returns:
String buyerGivenName

getBuyerFamilyName

public String getBuyerFamilyName()
Returns:
String buyerFamilyName

getAddress

public UserAddress getAddress()
Returns:
UserAddress address

setCardCode

public void setCardCode(BigDecimal num)
Parameters:
num - The CCV, Card Code Verification, number (3 or 4 digits)

setCardNumber

public void setCardNumber(BigDecimal num)
Parameters:
num - The credit-card number (usually 16 digits)

setCredentialType

public void setCredentialType(CredentialType credentialType)
Parameters:
credentialType - the credentialType to set

setExpiry

public void setExpiry(Date d)
Parameters:
d - The expiration date. Only the month and year are used: the day can be "1" for validity

shred

public void shred()
Discard all credential information


toString

public String toString()
Overrides:
toString in class Object