Exemple #1
0
 public virtual Task RemovePaymentMethodAsync(RemovePaymentMethodParam param)
 {
     if (param == null)
     {
         throw new ArgumentNullException(nameof(param));
     }
     if (param.PaymentMethodId == Guid.Empty)
     {
         throw new ArgumentException(GetMessageOfEmpty(nameof(param.PaymentMethodId)), nameof(param));
     }
     return(PaymentRepository.RemovePaymentMethodAsync(param));
 }
Exemple #2
0
        public virtual Task RemovePaymentMethodAsync(RemovePaymentMethodParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param), "param is required");
            }
            if (param.PaymentMethodId == Guid.Empty)
            {
                throw new ArgumentException("param.PaymentMethodId is required", nameof(param.PaymentMethodId));
            }

            return(PaymentRepository.RemovePaymentMethodAsync(param));
        }
        /// <summary>
        /// Remove a payment method from a user profile
        /// </summary>
        /// <param name="param">Parameters used to remove the payment method.</param>
        public virtual async Task RemovePaymentMethodAsync(RemovePaymentMethodParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (param.PaymentMethodId == Guid.Empty)
            {
                throw new ArgumentException(GetMessageOfEmpty(nameof(param.PaymentMethodId)), nameof(param));
            }
            if (param.CustomerId == Guid.Empty)
            {
                throw new ArgumentException(GetMessageOfEmpty(nameof(param.CustomerId)), nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.ScopeId))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.ScopeId)), nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.CartName))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.CartName)), nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.PaymentProviderName))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.PaymentProviderName)), nameof(param));
            }

            await CacheProvider.RemoveAsync(BuildPaymentMethodCacheKey(param.ScopeId, param.CartName, param.CustomerId, param.PaymentProviderName)).ConfigureAwait(false);

            await OvertureClient.SendAsync(new DeleteCustomerPaymentMethodRequest
            {
                ScopeId             = param.ScopeId,
                CustomerId          = param.CustomerId,
                PaymentMethodId     = param.PaymentMethodId,
                PaymentProviderName = param.PaymentProviderName
            }).ConfigureAwait(false);
        }