Search in sources :

Example 1 with OAuthException

use of com.paypal.sdk.exceptions.OAuthException in project OpenOLAT by OpenOLAT.

the class PaypalManagerImpl method request.

public PayResponse request(Identity delivery, OfferAccess offerAccess, String mapperUri, String sessionId) {
    StringBuilder url = new StringBuilder();
    url.append(Settings.createServerURI()).append(mapperUri);
    Offer offer = offerAccess.getOffer();
    Price amount = offer.getPrice();
    Order order = orderManager.saveOneClick(delivery, offerAccess, OrderStatus.PREPAYMENT);
    PaypalTransaction trx = createAndPersistTransaction(amount, order, order.getParts().get(0), offerAccess.getMethod());
    // !!!! make a trace of the process
    dbInstance.commit();
    ReceiverList list = new ReceiverList();
    Receiver rec1 = new Receiver();
    rec1.setAmount(amount.getAmount().doubleValue());
    rec1.setEmail(paypalModule.getPaypalFirstReceiverEmailAddress());
    rec1.setInvoiceId(order.getOrderNr());
    list.getReceiver().add(rec1);
    String returnURL = url.toString() + "/" + trx.getSecureSuccessUUID() + ".html;jsessionid=" + sessionId + "?status=success";
    String cancelURL = url.toString() + "/" + trx.getSecureCancelUUID() + ".html;jsessionid=" + sessionId + "?status=cancel";
    PayRequest payRequest = new PayRequest();
    payRequest.setCancelUrl(cancelURL);
    payRequest.setReturnUrl(returnURL);
    payRequest.setTrackingId(order.getOrderNr());
    payRequest.setCurrencyCode(amount.getCurrencyCode());
    payRequest.setClientDetails(getAppDetails());
    payRequest.setReceiverList(list);
    payRequest.setRequestEnvelope(getAppRequestEnvelope());
    payRequest.setActionType("PAY");
    payRequest.setIpnNotificationUrl(Settings.getServerContextPathURI() + "/paypal/ipn");
    PayResponse payResp = null;
    try {
        AdaptivePaymentsService ap = new AdaptivePaymentsService(getAccountProperties());
        payResp = ap.pay(payRequest);
        log.audit("Paypal send PayRequest: " + (payResp == null ? "no response" : payResp.getPayKey() + "/" + payResp.getPaymentExecStatus()));
        return payResp;
    } catch (SSLConfigurationException e) {
        log.error("Paypal error", e);
    } catch (InvalidCredentialException e) {
        log.error("Paypal error", e);
    } catch (UnsupportedEncodingException e) {
        log.error("Paypal error", e);
    } catch (HttpErrorException e) {
        log.error("Paypal error", e);
    } catch (InvalidResponseDataException e) {
        log.error("Paypal error", e);
    } catch (ClientActionRequiredException e) {
        log.error("Paypal error", e);
    } catch (MissingCredentialException e) {
        log.error("Paypal error", e);
    } catch (OAuthException e) {
        log.error("Paypal error", e);
    } catch (IOException | InterruptedException e) {
        log.error("Paypal error", e);
    } catch (Exception e) {
        log.error("Paypal error", e);
    } finally {
        if (payResp == null) {
            updateTransaction(trx, PaypalTransactionStatus.ERROR);
        } else {
            updateTransaction(payResp, trx);
        }
    }
    return null;
}
Also used : Order(org.olat.resource.accesscontrol.Order) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) AdaptivePaymentsService(com.paypal.svcs.services.AdaptivePaymentsService) OAuthException(com.paypal.sdk.exceptions.OAuthException) Receiver(com.paypal.svcs.types.ap.Receiver) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) ReceiverList(com.paypal.svcs.types.ap.ReceiverList) IOException(java.io.IOException) OAuthException(com.paypal.sdk.exceptions.OAuthException) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) HttpErrorException(com.paypal.exception.HttpErrorException) MissingCredentialException(com.paypal.exception.MissingCredentialException) IOException(java.io.IOException) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) PayRequest(com.paypal.svcs.types.ap.PayRequest) PaypalTransaction(org.olat.resource.accesscontrol.provider.paypal.model.PaypalTransaction) Offer(org.olat.resource.accesscontrol.Offer) Price(org.olat.resource.accesscontrol.Price) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) MissingCredentialException(com.paypal.exception.MissingCredentialException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) PayResponse(com.paypal.svcs.types.ap.PayResponse) HttpErrorException(com.paypal.exception.HttpErrorException)

Example 2 with OAuthException

use of com.paypal.sdk.exceptions.OAuthException in project openolat by klemens.

the class PaypalManagerImpl method convertCurrency.

@Override
public boolean convertCurrency() {
    try {
        String[] fromcodes = new String[] { "CHF" };
        String[] tocodes = new String[] { "USD" };
        BigDecimal[] amountItems = new BigDecimal[] { new BigDecimal("20.00") };
        CurrencyList list = new CurrencyList();
        CurrencyCodeList cclist = new CurrencyCodeList();
        for (int i = 0; i < amountItems.length; i++) {
            CurrencyType ct = new CurrencyType();
            ct.setAmount(amountItems[i].doubleValue());
            ct.setCode(fromcodes[i]);
            list.getCurrency().add(ct);
        }
        for (int i = 0; i < tocodes.length; i++) {
            cclist.getCurrencyCode().add(tocodes[i]);
        }
        ConvertCurrencyRequest req = new ConvertCurrencyRequest();
        req.setBaseAmountList(list);
        req.setConvertToCurrencyList(cclist);
        req.setRequestEnvelope(getAppRequestEnvelope());
        AdaptivePaymentsService ap = new AdaptivePaymentsService(getAccountProperties());
        ConvertCurrencyResponse resp = ap.convertCurrency(req);
        for (Iterator<CurrencyConversionList> iterator = resp.getEstimatedAmountTable().getCurrencyConversionList().iterator(); iterator.hasNext(); ) {
            CurrencyConversionList ccclist = iterator.next();
            log.info(ccclist.getBaseAmount().getCode() + " :: " + ccclist.getBaseAmount().getAmount());
            List<CurrencyType> l = ccclist.getCurrencyList().getCurrency();
            for (int i = 0; i < l.size(); i++) {
                CurrencyType ct = l.get(i);
                log.info(ct.getCode() + " :: " + ct.getAmount());
            }
        }
        return true;
    } catch (SSLConfigurationException e) {
        log.error("Paypal error", e);
        return false;
    } catch (InvalidCredentialException e) {
        log.error("Paypal error", e);
        return false;
    } catch (UnsupportedEncodingException e) {
        log.error("Paypal error", e);
        return false;
    } catch (HttpErrorException e) {
        log.error("Paypal error", e);
        return false;
    } catch (InvalidResponseDataException e) {
        log.error("Paypal error", e);
        return false;
    } catch (ClientActionRequiredException e) {
        log.error("Paypal error", e);
        return false;
    } catch (MissingCredentialException e) {
        log.error("Paypal error", e);
        return false;
    } catch (OAuthException e) {
        log.error("Paypal error", e);
        return false;
    } catch (IOException | InterruptedException e) {
        log.error("Paypal error", e);
        return false;
    } catch (Exception e) {
        log.error("", e);
        return false;
    }
}
Also used : AdaptivePaymentsService(com.paypal.svcs.services.AdaptivePaymentsService) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) ConvertCurrencyResponse(com.paypal.svcs.types.ap.ConvertCurrencyResponse) ConvertCurrencyRequest(com.paypal.svcs.types.ap.ConvertCurrencyRequest) CurrencyList(com.paypal.svcs.types.ap.CurrencyList) HttpErrorException(com.paypal.exception.HttpErrorException) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) CurrencyConversionList(com.paypal.svcs.types.ap.CurrencyConversionList) OAuthException(com.paypal.sdk.exceptions.OAuthException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) IOException(java.io.IOException) BigDecimal(java.math.BigDecimal) OAuthException(com.paypal.sdk.exceptions.OAuthException) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) HttpErrorException(com.paypal.exception.HttpErrorException) MissingCredentialException(com.paypal.exception.MissingCredentialException) IOException(java.io.IOException) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) MissingCredentialException(com.paypal.exception.MissingCredentialException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) CurrencyCodeList(com.paypal.svcs.types.ap.CurrencyCodeList) CurrencyType(com.paypal.svcs.types.common.CurrencyType)

Example 3 with OAuthException

use of com.paypal.sdk.exceptions.OAuthException in project openolat by klemens.

the class PaypalManagerImpl method request.

public PayResponse request(Identity delivery, OfferAccess offerAccess, String mapperUri, String sessionId) {
    StringBuilder url = new StringBuilder();
    url.append(Settings.createServerURI()).append(mapperUri);
    Offer offer = offerAccess.getOffer();
    Price amount = offer.getPrice();
    Order order = orderManager.saveOneClick(delivery, offerAccess, OrderStatus.PREPAYMENT);
    PaypalTransaction trx = createAndPersistTransaction(amount, order, order.getParts().get(0), offerAccess.getMethod());
    // !!!! make a trace of the process
    dbInstance.commit();
    ReceiverList list = new ReceiverList();
    Receiver rec1 = new Receiver();
    rec1.setAmount(amount.getAmount().doubleValue());
    rec1.setEmail(paypalModule.getPaypalFirstReceiverEmailAddress());
    rec1.setInvoiceId(order.getOrderNr());
    list.getReceiver().add(rec1);
    String returnURL = url.toString() + "/" + trx.getSecureSuccessUUID() + ".html;jsessionid=" + sessionId + "?status=success";
    String cancelURL = url.toString() + "/" + trx.getSecureCancelUUID() + ".html;jsessionid=" + sessionId + "?status=cancel";
    PayRequest payRequest = new PayRequest();
    payRequest.setCancelUrl(cancelURL);
    payRequest.setReturnUrl(returnURL);
    payRequest.setTrackingId(order.getOrderNr());
    payRequest.setCurrencyCode(amount.getCurrencyCode());
    payRequest.setClientDetails(getAppDetails());
    payRequest.setReceiverList(list);
    payRequest.setRequestEnvelope(getAppRequestEnvelope());
    payRequest.setActionType("PAY");
    payRequest.setIpnNotificationUrl(Settings.getServerContextPathURI() + "/paypal/ipn");
    PayResponse payResp = null;
    try {
        AdaptivePaymentsService ap = new AdaptivePaymentsService(getAccountProperties());
        payResp = ap.pay(payRequest);
        log.audit("Paypal send PayRequest: " + (payResp == null ? "no response" : payResp.getPayKey() + "/" + payResp.getPaymentExecStatus()));
        return payResp;
    } catch (SSLConfigurationException e) {
        log.error("Paypal error", e);
    } catch (InvalidCredentialException e) {
        log.error("Paypal error", e);
    } catch (UnsupportedEncodingException e) {
        log.error("Paypal error", e);
    } catch (HttpErrorException e) {
        log.error("Paypal error", e);
    } catch (InvalidResponseDataException e) {
        log.error("Paypal error", e);
    } catch (ClientActionRequiredException e) {
        log.error("Paypal error", e);
    } catch (MissingCredentialException e) {
        log.error("Paypal error", e);
    } catch (OAuthException e) {
        log.error("Paypal error", e);
    } catch (IOException | InterruptedException e) {
        log.error("Paypal error", e);
    } catch (Exception e) {
        log.error("Paypal error", e);
    } finally {
        if (payResp == null) {
            updateTransaction(trx, PaypalTransactionStatus.ERROR);
        } else {
            updateTransaction(payResp, trx);
        }
    }
    return null;
}
Also used : Order(org.olat.resource.accesscontrol.Order) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) AdaptivePaymentsService(com.paypal.svcs.services.AdaptivePaymentsService) OAuthException(com.paypal.sdk.exceptions.OAuthException) Receiver(com.paypal.svcs.types.ap.Receiver) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) ReceiverList(com.paypal.svcs.types.ap.ReceiverList) IOException(java.io.IOException) OAuthException(com.paypal.sdk.exceptions.OAuthException) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) HttpErrorException(com.paypal.exception.HttpErrorException) MissingCredentialException(com.paypal.exception.MissingCredentialException) IOException(java.io.IOException) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) PayRequest(com.paypal.svcs.types.ap.PayRequest) PaypalTransaction(org.olat.resource.accesscontrol.provider.paypal.model.PaypalTransaction) Offer(org.olat.resource.accesscontrol.Offer) Price(org.olat.resource.accesscontrol.Price) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) MissingCredentialException(com.paypal.exception.MissingCredentialException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) PayResponse(com.paypal.svcs.types.ap.PayResponse) HttpErrorException(com.paypal.exception.HttpErrorException)

Example 4 with OAuthException

use of com.paypal.sdk.exceptions.OAuthException in project OpenOLAT by OpenOLAT.

the class PaypalManagerImpl method convertCurrency.

@Override
public boolean convertCurrency() {
    try {
        String[] fromcodes = new String[] { "CHF" };
        String[] tocodes = new String[] { "USD" };
        BigDecimal[] amountItems = new BigDecimal[] { new BigDecimal("20.00") };
        CurrencyList list = new CurrencyList();
        CurrencyCodeList cclist = new CurrencyCodeList();
        for (int i = 0; i < amountItems.length; i++) {
            CurrencyType ct = new CurrencyType();
            ct.setAmount(amountItems[i].doubleValue());
            ct.setCode(fromcodes[i]);
            list.getCurrency().add(ct);
        }
        for (int i = 0; i < tocodes.length; i++) {
            cclist.getCurrencyCode().add(tocodes[i]);
        }
        ConvertCurrencyRequest req = new ConvertCurrencyRequest();
        req.setBaseAmountList(list);
        req.setConvertToCurrencyList(cclist);
        req.setRequestEnvelope(getAppRequestEnvelope());
        AdaptivePaymentsService ap = new AdaptivePaymentsService(getAccountProperties());
        ConvertCurrencyResponse resp = ap.convertCurrency(req);
        for (Iterator<CurrencyConversionList> iterator = resp.getEstimatedAmountTable().getCurrencyConversionList().iterator(); iterator.hasNext(); ) {
            CurrencyConversionList ccclist = iterator.next();
            log.info(ccclist.getBaseAmount().getCode() + " :: " + ccclist.getBaseAmount().getAmount());
            List<CurrencyType> l = ccclist.getCurrencyList().getCurrency();
            for (int i = 0; i < l.size(); i++) {
                CurrencyType ct = l.get(i);
                log.info(ct.getCode() + " :: " + ct.getAmount());
            }
        }
        return true;
    } catch (SSLConfigurationException e) {
        log.error("Paypal error", e);
        return false;
    } catch (InvalidCredentialException e) {
        log.error("Paypal error", e);
        return false;
    } catch (UnsupportedEncodingException e) {
        log.error("Paypal error", e);
        return false;
    } catch (HttpErrorException e) {
        log.error("Paypal error", e);
        return false;
    } catch (InvalidResponseDataException e) {
        log.error("Paypal error", e);
        return false;
    } catch (ClientActionRequiredException e) {
        log.error("Paypal error", e);
        return false;
    } catch (MissingCredentialException e) {
        log.error("Paypal error", e);
        return false;
    } catch (OAuthException e) {
        log.error("Paypal error", e);
        return false;
    } catch (IOException | InterruptedException e) {
        log.error("Paypal error", e);
        return false;
    } catch (Exception e) {
        log.error("", e);
        return false;
    }
}
Also used : AdaptivePaymentsService(com.paypal.svcs.services.AdaptivePaymentsService) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) ConvertCurrencyResponse(com.paypal.svcs.types.ap.ConvertCurrencyResponse) ConvertCurrencyRequest(com.paypal.svcs.types.ap.ConvertCurrencyRequest) CurrencyList(com.paypal.svcs.types.ap.CurrencyList) HttpErrorException(com.paypal.exception.HttpErrorException) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) CurrencyConversionList(com.paypal.svcs.types.ap.CurrencyConversionList) OAuthException(com.paypal.sdk.exceptions.OAuthException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) IOException(java.io.IOException) BigDecimal(java.math.BigDecimal) OAuthException(com.paypal.sdk.exceptions.OAuthException) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) InvalidCredentialException(com.paypal.exception.InvalidCredentialException) HttpErrorException(com.paypal.exception.HttpErrorException) MissingCredentialException(com.paypal.exception.MissingCredentialException) IOException(java.io.IOException) ClientActionRequiredException(com.paypal.exception.ClientActionRequiredException) SSLConfigurationException(com.paypal.exception.SSLConfigurationException) MissingCredentialException(com.paypal.exception.MissingCredentialException) InvalidResponseDataException(com.paypal.exception.InvalidResponseDataException) CurrencyCodeList(com.paypal.svcs.types.ap.CurrencyCodeList) CurrencyType(com.paypal.svcs.types.common.CurrencyType)

Aggregations

ClientActionRequiredException (com.paypal.exception.ClientActionRequiredException)4 HttpErrorException (com.paypal.exception.HttpErrorException)4 InvalidCredentialException (com.paypal.exception.InvalidCredentialException)4 InvalidResponseDataException (com.paypal.exception.InvalidResponseDataException)4 MissingCredentialException (com.paypal.exception.MissingCredentialException)4 SSLConfigurationException (com.paypal.exception.SSLConfigurationException)4 OAuthException (com.paypal.sdk.exceptions.OAuthException)4 AdaptivePaymentsService (com.paypal.svcs.services.AdaptivePaymentsService)4 IOException (java.io.IOException)4 UnsupportedEncodingException (java.io.UnsupportedEncodingException)4 ConvertCurrencyRequest (com.paypal.svcs.types.ap.ConvertCurrencyRequest)2 ConvertCurrencyResponse (com.paypal.svcs.types.ap.ConvertCurrencyResponse)2 CurrencyCodeList (com.paypal.svcs.types.ap.CurrencyCodeList)2 CurrencyConversionList (com.paypal.svcs.types.ap.CurrencyConversionList)2 CurrencyList (com.paypal.svcs.types.ap.CurrencyList)2 PayRequest (com.paypal.svcs.types.ap.PayRequest)2 PayResponse (com.paypal.svcs.types.ap.PayResponse)2 Receiver (com.paypal.svcs.types.ap.Receiver)2 ReceiverList (com.paypal.svcs.types.ap.ReceiverList)2 CurrencyType (com.paypal.svcs.types.common.CurrencyType)2