|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.starhope.appius.sql.SQLPeerDatum
org.starhope.appius.mb.PaymentGateway
org.starhope.appius.pay.AuthorizeNetGateway
public class AuthorizeNetGateway
Field Summary | |
---|---|
private UserAddress |
address
|
private String |
buyerCompany
|
private String |
buyerFamilyName
|
private String |
buyerGivenName
|
private static long |
serialVersionUID
WRITEME: Document this field. |
Constructor Summary | |
---|---|
AuthorizeNetGateway()
|
Method Summary | |
---|---|
void |
alterEnrolment(Payment payment,
UserEnrolment newForm)
|
void |
endEnrolment(Payment payment)
|
List<CredentialType> |
enumerateCredentialTypes()
Provides a list of all credential types supported by the given payment gateway. |
private ARBAPI |
getARBAPI()
|
Payment |
getPayment(BigDecimal id)
This is an overriding method. |
Payment |
getPayment(String gatewayTransactionCode)
|
boolean |
isAvailable()
Submits a known-good test transaction. |
void |
setUser(GeneralUser possibleUser)
Deprecated. |
void |
startEnrolment(Payment payment)
Start an Authorize.Net subscription through their (now-beautiful!! WTF?) Automated Recurring Billing engine. |
void |
startTransaction(Payment payment)
|
void |
transactPayment(Payment payment)
|
Methods inherited from class org.starhope.appius.mb.PaymentGateway |
---|
flush, get, get, getByClass, getCacheUniqueID, getCode, getImplementor, getManagementURL, getTitle, getUser, set, set, setCode, setImplementor, setManagementURL, setTitle, setUser, setUser, toJSON |
Methods inherited from class org.starhope.appius.sql.SQLPeerDatum |
---|
changed, compareTo, findInCache, get, saveInCache |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
private UserAddress address
private String buyerCompany
private String buyerFamilyName
private String buyerGivenName
Constructor Detail |
---|
public AuthorizeNetGateway()
Method Detail |
---|
public void alterEnrolment(Payment payment, UserEnrolment newForm) throws UnsupportedCurrencyException, NotFoundException, UnsupportedCredentialException, IOException, RetryPaymentException, GameLogicException
alterEnrolment
in interface PaymentGatewayReal
alterEnrolment
in class PaymentGateway
payment
- WRITEMEnewForm
- WRITEME
UnsupportedCurrencyException
- WRITEME
NotFoundException
- WRITEME
UnsupportedCredentialException
- WRITEME
IOException
- WRITEME
RetryPaymentException
- WRITEME
GameLogicException
- WRITEMEPaymentGatewayReal.alterEnrolment(org.starhope.appius.mb.Payment,
org.starhope.appius.mb.UserEnrolment)
public void endEnrolment(Payment payment) throws IllegalStateException, NotFoundException
endEnrolment
in interface PaymentGatewayReal
endEnrolment
in class PaymentGateway
payment
- WRITEME
NotFoundException
- WRITEME
IllegalStateException
PaymentGatewayReal.endEnrolment(org.starhope.appius.mb.Payment)
public List<CredentialType> enumerateCredentialTypes()
PaymentGatewayReal
enumerateCredentialTypes
in interface PaymentGatewayReal
enumerateCredentialTypes
in class PaymentGateway
CredentialType
:sPaymentGatewayReal.enumerateCredentialTypes()
private ARBAPI getARBAPI()
public Payment getPayment(BigDecimal id)
getPayment
in interface PaymentGatewayReal
getPayment
in class PaymentGateway
id
- The identifier used by the implementing payment
gateway to uniquely identify the transaction in question.
PaymentGatewayReal.getPayment(java.math.BigDecimal)
public Payment getPayment(String gatewayTransactionCode)
gatewayTransactionCode
- The transaction code of the payment
in question
public boolean isAvailable()
isAvailable
in interface PaymentGatewayReal
isAvailable
in class PaymentGateway
PaymentGatewayReal.isAvailable()
@Deprecated public void setUser(GeneralUser possibleUser)
This method does not work right now.
possibleUser
- The user or child of the user to be setpublic void startEnrolment(Payment payment) throws UnsupportedCurrencyException, NotFoundException, UnsupportedCredentialException, IOException, RetryPaymentException, GameLogicException, AlreadyUsedException
startEnrolment
in interface PaymentGatewayReal
startEnrolment
in class PaymentGateway
payment
- WRITEME
UnsupportedCurrencyException
- WRITEME
NotFoundException
- WRITEME
UnsupportedCredentialException
- WRITEME
IOException
- WRITEME
RetryPaymentException
- WRITEME
GameLogicException
- WRITEME
AlreadyUsedException
- WRITEMEPaymentGatewayReal.startEnrolment(org.starhope.appius.mb.Payment)
public void startTransaction(Payment payment) throws UnsupportedCurrencyException, NotFoundException, UnsupportedCredentialException, IOException, RetryPaymentException, GameLogicException, AlreadyUsedException, DataException
startTransaction
in interface PaymentGatewayReal
startTransaction
in class PaymentGateway
payment
- WRITEME
UnsupportedCurrencyException
- WRITEME
NotFoundException
- WRITEME
UnsupportedCredentialException
- WRITEME
IOException
- WRITEME
RetryPaymentException
- WRITEME
GameLogicException
- WRITEME
AlreadyUsedException
- WRITEME
DataException
- WRITEMEPaymentGatewayReal.startTransaction(org.starhope.appius.mb.Payment)
public void transactPayment(Payment payment) throws UnsupportedCurrencyException, NotFoundException, UnsupportedCredentialException, IOException, RetryPaymentException, GameLogicException, AlreadyUsedException, DataException
transactPayment
in interface PaymentGatewayReal
transactPayment
in class PaymentGateway
payment
- payment
UnsupportedCurrencyException
- if the payment is not
expressed in USD or if the scale is less than 1¢. We
re-throw an ArithmeticException
from
BigDecimal.setScale(int, java.math.RoundingMode)
(q.v. for
remarks) if setting the scale to "2" (thus, 1¢
increments) would induce rounding.
NotFoundException
- if the buyer or address aren't found or
mismatch in some exciting way
UnsupportedCredentialException
- if a type of payment
credentials are presented which we don't support.
This shouldn't happen, since we enumerate supported
types in enumerateCredentialTypes specifically to
prevent that.
IOException
- if a connection to Authorize.Net can't be
established due to a network failure or similar
problem.
RetryPaymentException
- if the payment can't be processed
right now, but we should retry after a few minutes.
GameLogicException
- if the payment has already been
completed
AlreadyUsedException
- if the Payment object is already
closed (used)
DataException
- if Authorize.Net rejects the paymentPaymentGatewayReal.transactPayment(Payment)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |