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)); }
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); }