Java tutorial
/* * #%L * BroadleafCommerce Framework Web * %% * Copyright (C) 2009 - 2013 Broadleaf Commerce * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ package co.propack.sample.payment.service.gateway; import co.propack.sample.vendor.nullPaymentGateway.service.payment.NullPaymentGatewayConstants; import co.propack.sample.vendor.nullPaymentGateway.service.payment.NullPaymentGatewayType; import org.broadleafcommerce.common.money.Money; import org.broadleafcommerce.common.payment.PaymentTransactionType; import org.broadleafcommerce.common.payment.PaymentType; import org.broadleafcommerce.common.payment.dto.PaymentResponseDTO; import org.broadleafcommerce.common.payment.service.PaymentGatewayWebResponsePrintService; import org.broadleafcommerce.common.payment.service.PaymentGatewayWebResponseService; import org.broadleafcommerce.common.vendor.service.exception.PaymentException; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.Map; /** * @author Elbert Bautista (elbertbautista) */ @Service("blNullPaymentGatewayHostedWebResponseService") public class NullPaymentGatewayHostedWebResponseServiceImpl implements PaymentGatewayWebResponseService { @Resource(name = "blPaymentGatewayWebResponsePrintService") protected PaymentGatewayWebResponsePrintService webResponsePrintService; @Override public PaymentResponseDTO translateWebResponse(HttpServletRequest request) throws PaymentException { PaymentResponseDTO responseDTO = new PaymentResponseDTO(PaymentType.THIRD_PARTY_ACCOUNT, NullPaymentGatewayType.NULL_HOSTED_GATEWAY) .rawResponse(webResponsePrintService.printRequest(request)); Map<String, String[]> paramMap = request.getParameterMap(); Money amount = Money.ZERO; if (paramMap.containsKey(NullPaymentGatewayConstants.TRANSACTION_AMT)) { String amt = paramMap.get(NullPaymentGatewayConstants.TRANSACTION_AMT)[0]; amount = new Money(amt); } responseDTO.successful(true) .completeCheckoutOnCallback(Boolean .parseBoolean(paramMap.get(NullPaymentGatewayConstants.COMPLETE_CHECKOUT_ON_CALLBACK)[0])) .amount(amount).paymentTransactionType(PaymentTransactionType.UNCONFIRMED) .orderId(paramMap.get(NullPaymentGatewayConstants.ORDER_ID)[0]) .responseMap(NullPaymentGatewayConstants.RESULT_MESSAGE, paramMap.get(NullPaymentGatewayConstants.RESULT_MESSAGE)[0]); return responseDTO; } }