本文整理汇总了C#中ProcessorArgumentCollection.SetPurchaseOrderNumber方法的典型用法代码示例。如果您正苦于以下问题:C# ProcessorArgumentCollection.SetPurchaseOrderNumber方法的具体用法?C# ProcessorArgumentCollection.SetPurchaseOrderNumber怎么用?C# ProcessorArgumentCollection.SetPurchaseOrderNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProcessorArgumentCollection
的用法示例。
在下文中一共展示了ProcessorArgumentCollection.SetPurchaseOrderNumber方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PerformProcessPayment
protected override IPaymentResult PerformProcessPayment(SalePreparationBase preparation, IPaymentMethod paymentMethod)
{
// We have to use the CheckoutConfirmationModel in this implementation. If this were to be used
// outside of a demo, you could consider writing your own base controller that inherits directly from
// Merchello.Web.Mvc.PaymentMethodUiController<TModel> and complete the transaction there in which case the
// BazaarPaymentMethodFormControllerBase would be a good example.
var form = UmbracoContext.HttpContext.Request.Form;
var purchaseOrderNumber = form.Get("purchaseOrderNumber");
if (string.IsNullOrEmpty(purchaseOrderNumber))
{
var invalidData = new InvalidDataException("The Purchase Order Number cannot be an empty string");
return new PaymentResult(Attempt<IPayment>.Fail(invalidData), null, false);
}
// You need a ProcessorArgumentCollection for this transaction to store the payment method nonce
// The braintree package includes an extension method off of the ProcessorArgumentCollection - SetPaymentMethodNonce([nonce]);
var args = new ProcessorArgumentCollection();
args.SetPurchaseOrderNumber(purchaseOrderNumber);
// We will want this to be an Authorize(paymentMethod.Key, args);
// -- Also in a real world situation you would want to validate the PO number somehow.
return preparation.AuthorizePayment(paymentMethod.Key, args);
}