コード例 #1
0
        public PaymentInitializeResult Initialize(PaymentMethod currentPayment, string orderNumber, string returnUrl, string orderRef)
        {
            Log.InfoFormat("Retrieving consumer legal address for payment with ID:{0} belonging to order with ID: {1}", currentPayment.Payment.Id, currentPayment.OrderGroupId);
            CustomerDetails customerDetails = CreateModel(currentPayment);

            if (customerDetails == null)
            {
                throw new Exception("Payment class must be ExtendedPayExPayment when using this payment method");
            }

            ConsumerLegalAddressResult result = _verificationManager.GetConsumerLegalAddress(customerDetails.SocialSecurityNumber, customerDetails.CountryCode);

            if (!result.Status.Success)
            {
                return new PaymentInitializeResult {
                           ErrorMessage = result.Status.Description
                }
            }
            ;

            _paymentActions.UpdateConsumerInformation(currentPayment, result);
            Log.InfoFormat("Successfully retrieved consumer legal address for payment with ID:{0} belonging to order with ID: {1}", currentPayment.Payment.Id, currentPayment.OrderGroupId);

            return(_paymentInitializer.Initialize(currentPayment, orderNumber, returnUrl, orderRef));
        }
コード例 #2
0
        public PaymentInitializeResult Initialize(PaymentMethod currentPayment, string orderNumber, string returnUrl, string orderRef)
        {
            if (currentPayment.RequireAddressUpdate)
            {
                Log.InfoFormat(
                    "Retrieving consumer legal address for payment with ID:{0} belonging to order with ID: {1}",
                    currentPayment.Payment.Id, currentPayment.OrderGroupId);
                CustomerDetails customerDetails = CreateModel(currentPayment);
                if (customerDetails == null)
                {
                    throw new Exception("Payment class must be ExtendedPayExPayment when using this payment method");
                }

                var result = _paymentManager.GetAddressByPaymentMethod(currentPayment.PaymentMethodCode,
                                                                       customerDetails.SocialSecurityNumber, customerDetails.PostNumber, customerDetails.CountryCode,
                                                                       customerDetails.IpAddress);
                if (!result.Status.Success)
                {
                    return new PaymentInitializeResult {
                               ErrorMessage = result.Status.Description
                    }
                }
                ;

                var convertToConsumerAddress = ConvertToConsumerAddress(result);
                _paymentActions.UpdateConsumerInformation(currentPayment, convertToConsumerAddress);

                var extendedPayment = currentPayment.Payment as ExtendedPayExPayment;
                _updateAddressHandler.UpdateAddress(currentPayment.Cart, extendedPayment);

                Log.InfoFormat(
                    "Successfully retrieved consumer legal address for payment with ID:{0} belonging to order with ID: {1}",
                    currentPayment.Payment.Id, currentPayment.OrderGroupId);
            }
            else
            {
                Log.InfoFormat(
                    "Payment method is configured to not use consumer legal address for payment with ID:{0} belonging to order with ID: {1}",
                    currentPayment.Payment.Id, currentPayment.OrderGroupId);
            }

            return(_paymentInitializer.Initialize(currentPayment, orderNumber, returnUrl, orderRef));
        }