当前位置: 首页>>代码示例>>C#>>正文


C# ProcessorArgumentCollection.AsQuickPayCallbackResponseModel方法代码示例

本文整理汇总了C#中ProcessorArgumentCollection.AsQuickPayCallbackResponseModel方法的典型用法代码示例。如果您正苦于以下问题:C# ProcessorArgumentCollection.AsQuickPayCallbackResponseModel方法的具体用法?C# ProcessorArgumentCollection.AsQuickPayCallbackResponseModel怎么用?C# ProcessorArgumentCollection.AsQuickPayCallbackResponseModel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ProcessorArgumentCollection的用法示例。


在下文中一共展示了ProcessorArgumentCollection.AsQuickPayCallbackResponseModel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ProcessPayment

        private IPaymentResult ProcessPayment(IInvoice invoice, TransactionMode transactionMode, decimal amount, ProcessorArgumentCollection args)
        {
            var quickPayResponseData = args.AsQuickPayCallbackResponseModel();

              var payment = GatewayProviderService.CreatePayment(PaymentMethodType.CreditCard, invoice.Total, PaymentMethod.Key);
              payment.CustomerKey = invoice.CustomerKey;
              payment.Authorized = false;
              payment.Collected = false;
              payment.PaymentMethodName = "QuickPay";

              payment.ExtendedData.SetValue(Constants.ExtendedDataKeys.QuickpayPaymentId, quickPayResponseData.PaymentId);
              payment.ExtendedData.SetValue(Constants.ExtendedDataKeys.PaymentAmount, quickPayResponseData.Amount);
              payment.ExtendedData.SetValue(Constants.ExtendedDataKeys.PaymentCurrency, quickPayResponseData.Currency);

              var result = _processor.ProcessPayment(invoice, payment, transactionMode, amount);

              GatewayProviderService.Save(payment);

              if (!result.Payment.Success) {
            GatewayProviderService.ApplyPaymentToInvoice(payment.Key, invoice.Key, AppliedPaymentType.Denied, result.Payment.Exception.Message, 0);
              } else {
            GatewayProviderService.ApplyPaymentToInvoice(payment.Key, invoice.Key, AppliedPaymentType.Debit,
            (transactionMode == TransactionMode.AuthorizeAndCapture ? string.Empty : "Payment authorized and ready for capture"),
            transactionMode == TransactionMode.AuthorizeAndCapture ? invoice.Total : 0);
              }

              return result;
        }
开发者ID:joelbhansen,项目名称:MerchelloQuickPayProvider,代码行数:28,代码来源:QuickPayPaymentGatewayMethod.cs


注:本文中的ProcessorArgumentCollection.AsQuickPayCallbackResponseModel方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。