use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalTransaction in project OpenOLAT by OpenOLAT.
the class PaypalManagerImpl method updateTransactionByNotification.
@Override
public void updateTransactionByNotification(Map<String, String> values, boolean verified) {
if (verified) {
// CREATED - The payment request was received; funds will be transferred
// COMPLETED - The payment was successful
// INCOMPLETE - Some transfers succeeded and some failed for a parallel payment or, for a delayed chained payment, secondary receivers have not been paid
// ERROR - The payment failed and all attempted transfers failed or all
// REVERSALERROR - One or more transfers failed when attempting to
// PROCESSING - The payment is in progress
// PENDING - The payment is awaiting processing
// String status = values.get("status");
// if("COMPLETED".equals(status))
String invoiceId = values.get("transaction[0].invoiceId");
PaypalTransaction trx = loadTransactionByInvoiceId(invoiceId);
if (trx != null) {
completeTransaction(trx, values);
} else {
log.error("Paypal IPN Transaction not found: " + values, null);
}
} else {
String invoiceId = values.get("transaction[0].invoiceId");
log.error("Paypal IPN Transaction not verified: " + invoiceId + " raw values: " + values, null);
}
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalTransaction in project OpenOLAT by OpenOLAT.
the class PaypalManagerImpl method createAndPersistTransaction.
/*
* @return
*/
private PaypalTransaction createAndPersistTransaction(Price amount, Order order, OrderPart part, AccessMethod method) {
PaypalTransaction transaction = new PaypalTransaction();
transaction.setRefNo(order.getOrderNr());
transaction.setSecureSuccessUUID(UUID.randomUUID().toString().replace("-", ""));
transaction.setSecureCancelUUID(UUID.randomUUID().toString().replace("-", ""));
transaction.setStatus(PaypalTransactionStatus.NEW);
transaction.setOrderId(order.getKey());
transaction.setOrderPartId(part.getKey());
transaction.setMethodId(method.getKey());
transaction.setSecurePrice(amount);
dbInstance.saveObject(transaction);
return transaction;
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalTransaction in project OpenOLAT by OpenOLAT.
the class PaypalManagerImpl method updateTransaction.
@Override
public void updateTransaction(String uuid) {
PaypalTransaction trx = loadTransactionByUUID(uuid);
if (uuid.equals(trx.getSecureSuccessUUID())) {
log.audit("Paypal transaction success: " + trx);
completeTransaction(trx, null);
} else if (uuid.equals(trx.getSecureCancelUUID())) {
// cancel -> return to the access panel
log.audit("Paypal transaction canceled by user: " + trx);
cancelTransaction(trx);
}
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalTransaction in project OpenOLAT by OpenOLAT.
the class PaypalTransactionDataModel method filter.
@Override
public void filter(List<FlexiTableFilter> filters) {
String key = filters == null || filters.isEmpty() || filters.get(0) == null ? null : filters.get(0).getFilter();
if (StringHelper.containsNonWhitespace(key)) {
List<PaypalTransaction> filteredRows = new ArrayList<>(backups.size());
if (PaypalMergedState.isValueOf(key)) {
PaypalMergedState filterState = PaypalMergedState.valueOf(key);
for (PaypalTransaction row : backups) {
if (PaypalMergedState.value(row) == filterState) {
filteredRows.add(row);
}
}
} else {
filteredRows.addAll(backups);
}
super.setObjects(filteredRows);
} else {
super.setObjects(backups);
}
}
use of org.olat.resource.accesscontrol.provider.paypal.model.PaypalTransaction in project OpenOLAT by OpenOLAT.
the class PaypalTransactionsController method formInnerEvent.
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if (source == backLink) {
if (detailsController != null) {
flc.remove(detailsController.getInitialComponent());
removeAsListenerAndDispose(detailsController);
}
addSearchToHistory(ureq);
} else if (source == tableEl) {
if (event instanceof SelectionEvent) {
SelectionEvent se = (SelectionEvent) event;
PaypalTransaction row = dataModel.getObject(se.getIndex());
if (CMD_SELECT.equals(se.getCommand())) {
doSelectTransaction(ureq, row);
}
} else if (event instanceof FlexiTableSearchEvent) {
FlexiTableSearchEvent se = (FlexiTableSearchEvent) event;
doSearch(ureq, se.getSearch());
}
}
super.formInnerEvent(ureq, source, event);
}
Aggregations