本文整理汇总了C#中Nop.Services.Payments.CancelRecurringPaymentResult类的典型用法代码示例。如果您正苦于以下问题:C# CancelRecurringPaymentResult类的具体用法?C# CancelRecurringPaymentResult怎么用?C# CancelRecurringPaymentResult使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CancelRecurringPaymentResult类属于Nop.Services.Payments命名空间,在下文中一共展示了CancelRecurringPaymentResult类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CancelRecurringPayment
/// <summary>
/// Cancels a recurring payment
/// </summary>
/// <param name="cancelPaymentRequest">Request</param>
/// <returns>Result</returns>
public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
{
var result = new CancelRecurringPaymentResult();
result.AddError("Recurring payment not supported");
return result;
}
示例2: CancelRecurringPayment
/// <summary>
/// Cancels a recurring payment
/// </summary>
/// <param name="cancelPaymentRequest">Request</param>
/// <returns>Result</returns>
public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
{
var result = new CancelRecurringPaymentResult();
var order = cancelPaymentRequest.Order;
var req = new ManageRecurringPaymentsProfileStatusReq();
req.ManageRecurringPaymentsProfileStatusRequest = new ManageRecurringPaymentsProfileStatusRequestType();
req.ManageRecurringPaymentsProfileStatusRequest.Version = GetApiVersion();
var details = new ManageRecurringPaymentsProfileStatusRequestDetailsType();
req.ManageRecurringPaymentsProfileStatusRequest.ManageRecurringPaymentsProfileStatusRequestDetails = details;
details.Action = StatusChangeActionType.CANCEL;
//Recurring payments profile ID returned in the CreateRecurringPaymentsProfile response
details.ProfileID = order.SubscriptionTransactionId;
var service = GetService();
var response = service.ManageRecurringPaymentsProfileStatus(req);
string error;
if (!PaypalHelper.CheckSuccess(response, out error))
{
result.AddError(error);
}
return result;
}
示例3: CancelRecurringPayment
/// <summary>
/// Cancels a recurring payment
/// </summary>
/// <param name="cancelPaymentRequest">Request</param>
/// <returns>Result</returns>
public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
{
var result = new CancelRecurringPaymentResult();
var order = cancelPaymentRequest.Order;
var req = new ManageRecurringPaymentsProfileStatusReq();
req.ManageRecurringPaymentsProfileStatusRequest = new ManageRecurringPaymentsProfileStatusRequestType();
req.ManageRecurringPaymentsProfileStatusRequest.Version = GetApiVersion();
var details = new ManageRecurringPaymentsProfileStatusRequestDetailsType();
req.ManageRecurringPaymentsProfileStatusRequest.ManageRecurringPaymentsProfileStatusRequestDetails = details;
details.Action = StatusChangeActionType.Cancel;
//Recurring payments profile ID returned in the CreateRecurringPaymentsProfile response
details.ProfileID = order.SubscriptionTransactionId;
using (var service2 = new PayPalAPIAASoapBinding())
{
if (!_paypalDirectPaymentSettings.UseSandbox)
service2.Url = "https://api-3t.paypal.com/2.0/";
else
service2.Url = "https://api-3t.sandbox.paypal.com/2.0/";
service2.RequesterCredentials = new CustomSecurityHeaderType();
service2.RequesterCredentials.Credentials = new UserIdPasswordType();
service2.RequesterCredentials.Credentials.Username = _paypalDirectPaymentSettings.ApiAccountName;
service2.RequesterCredentials.Credentials.Password = _paypalDirectPaymentSettings.ApiAccountPassword;
service2.RequesterCredentials.Credentials.Signature = _paypalDirectPaymentSettings.Signature;
service2.RequesterCredentials.Credentials.Subject = "";
var response = service2.ManageRecurringPaymentsProfileStatus(req);
string error = "";
if (!PaypalHelper.CheckSuccess(response, out error))
{
result.AddError(error);
}
}
return result;
}
示例4: CancelRecurringPayment
/// <summary>
/// Cancels a recurring payment
/// </summary>
/// <param name="recurringPayment">Recurring payment</param>
public virtual IList<string> CancelRecurringPayment(RecurringPayment recurringPayment)
{
if (recurringPayment == null)
throw new ArgumentNullException("recurringPayment");
var initialOrder = recurringPayment.InitialOrder;
if (initialOrder == null)
return new List<string> { "Initial order could not be loaded" };
var request = new CancelRecurringPaymentRequest();
CancelRecurringPaymentResult result = null;
try
{
request.Order = initialOrder;
result = _paymentService.CancelRecurringPayment(request);
if (result.Success)
{
//update recurring payment
recurringPayment.IsActive = false;
_orderService.UpdateRecurringPayment(recurringPayment);
//add a note
initialOrder.OrderNotes.Add(new OrderNote
{
Note = "Recurring payment has been cancelled",
DisplayToCustomer = false,
CreatedOnUtc = DateTime.UtcNow
});
_orderService.UpdateOrder(initialOrder);
//notify a store owner
_workflowMessageService
.SendRecurringPaymentCancelledStoreOwnerNotification(recurringPayment,
_localizationSettings.DefaultAdminLanguageId);
}
}
catch (Exception exc)
{
if (result == null)
result = new CancelRecurringPaymentResult();
result.AddError(string.Format("Error: {0}. Full exception: {1}", exc.Message, exc.ToString()));
}
//process errors
string error = "";
for (int i = 0; i < result.Errors.Count; i++)
{
error += string.Format("Error {0}: {1}", i, result.Errors[i]);
if (i != result.Errors.Count - 1)
error += ". ";
}
if (!String.IsNullOrEmpty(error))
{
//add a note
initialOrder.OrderNotes.Add(new OrderNote
{
Note = string.Format("Unable to cancel recurring payment. {0}", error),
DisplayToCustomer = false,
CreatedOnUtc = DateTime.UtcNow
});
_orderService.UpdateOrder(initialOrder);
//log it
string logError = string.Format("Error cancelling recurring payment. Order #{0}. Error: {1}", initialOrder.Id, error);
_logger.InsertLog(LogLevel.Error, logError, logError);
}
return result.Errors;
}
示例5: CancelRecurringPayment
/// <summary>
/// Cancels a recurring payment
/// </summary>
/// <param name="cancelPaymentRequest">Request</param>
/// <returns>Result</returns>
public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
{
var result = new CancelRecurringPaymentResult();
long subscriptionId;
long.TryParse(cancelPaymentRequest.Order.SubscriptionTransactionId, out subscriptionId);
using (var webService = new net.authorize.api.Service())
{
if (_authorizeNetPaymentSettings.UseSandbox)
webService.Url = "https://apitest.authorize.net/soap/v1/Service.asmx";
else
webService.Url = "https://api.authorize.net/soap/v1/Service.asmx";
var authentication = PopulateMerchantAuthentication();
var response = webService.ARBCancelSubscription(authentication, subscriptionId);
if (response.resultCode == MessageTypeEnum.Ok)
{
//ok
}
else
{
result.AddError("Error cancelling subscription, please contact customer support. " + GetErrors(response));
}
}
return result;
}