Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions PaymentTransactions/CreditCardProcessor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import java.math.BigDecimal;

/**
* Created by michael on 5/27/15.
*/
public class CreditCardProcessor {

/* Fields */

private String appId;
private String transKey;
private Merchant merchant;

/* Singleton */

private static CreditCardProcessor _instance;
public static CreditCardProcessor instance() {
if (_instance == null) _instance = new CreditCardProcessor();
return _instance;
}

public void config(String appLoginId, String transactionKey) {
this.instance().appId = appLoginId;
this.transKey = transactionKey;
this.merchant = Merchant.createMerchant(Environment.SANDBOX,
apiLoginID, transactionKey);
}

public void runCreditCardTransaction(String cardNumber, String expMonth, String expYear, BigDecimal amt) {

CreditCard card = new CreditCard();
card.setCreditCardNumber(cardNumber);
card.setExpirationMonth(expMonth);
card.setExpirationYear(expYear);

Transaction trans = this.merchant.createAIMTransaction(
TransactionType.AUTH_CAPTURE, amt);
trans.setCreditCard(card);

Result<Transaction> result = (Result<Transaction>)merchant
.postTransaction(trans);

if(result.isApproved()) {
System.out.println("Approved!");
System.out.println(" Id: " + result.getTarget().getTransactionId());
} else if (result.isDeclined()) {
System.out.println("Declined by issuing bank");
System.out.println(result.getReasonResponseCode() + " : " + result.getResponseText());
} else {
System.out.println("Unable to process transaction");
Sytem.out.println(result.getReasonResponseCode() + " : " + result.getResponseText());
}
}

}
46 changes: 46 additions & 0 deletions RecurringBilling/CreateSubscription.java
Original file line number Diff line number Diff line change
@@ -1 +1,47 @@
import net.authorize.arb;
public class CreateSubscription {
private String appId;
private String transKey;
/* Singleton */
private static CreateSubscription helper;
public static CreateSubscription SharedHelper() {
if (helper == null) helper = new CreateSubscription();
return helper;
}

public void scheduleSubscription(BigDecimal amt, String startDate, CreditCard card) {
Merchant merchant = Merchant.createMerchant(Environment.SANDBOX,
apiLoginID, transactionKey);
PaymentSchedule schedule = PaymentSchedule.createPaymentSchedule();
schedule.setIntervalLength(1);
schedule.setSubscriptionUnit(SubscriptionUnitType.MONTHS);
schedule.setStartDate(startDate);
schedule.setTotalOccurrences(12); // assuming an annual sub here.
schedule.setTrialOccurrences(0);
Address info = Address.createAddress();
info.setFirstName("Jack " + System.currentTimeMillis());
info.setLastName("Sparrow");
Customer customer = Customer.createCustomer();
customer.setBillTo(info);
Subscription subscription = Subscription.createSubscription();
subscription.setPayment(Payment.createPayment(credit_card));
subscription.setSchedule(new_schedule);
subscription.setCustomer(customer);
subscription.setAmount(new BigDecimal(6.00));
subscription.setTrialAmount(Transaction.ZERO_AMOUNT);
subscription.setRefId("REF:" + System.currentTimeMillis());
subscription.setName("Demo Subscription " + System.currentTimeMillis());

Transaction transaction = merchant.createARBTransaction(TransactionType.CREATE_SUBSCRIPTION,
subscription);
Result<Transaction> result = (Result<Transaction>)merchant.postTransaction(transaction);

System.out.println("Result Code: " + (result.getResultCode() != null ? result.getResultCode() : "No result code") + " ");
System.out.println("Result Subscription Id: " + result.getResultSubscriptionId() + " ");
for(int i = 0; i < result.getMessages().size(); i++){
Message message = (Message)result.getMessages().get(i);
System.out.println("Message: " + message.getCode() + " - " + message.getText() + " ");
}
}

}