/// <remarks/> public void DoCaptureAsync(DoCaptureReq DoCaptureReq, object userState) { if ((this.DoCaptureOperationCompleted == null)) { this.DoCaptureOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDoCaptureOperationCompleted); } this.InvokeAsync("DoCapture", new object[] { DoCaptureReq}, this.DoCaptureOperationCompleted, userState); }
/// <summary> /// Captures payment /// </summary> /// <param name="order">Order</param> /// <param name="processPaymentResult">Process payment result</param> public void Capture(Order order, ref ProcessPaymentResult processPaymentResult) { InitSettings(); string authorizationID = processPaymentResult.AuthorizationTransactionId; DoCaptureReq req = new DoCaptureReq(); req.DoCaptureRequest = new DoCaptureRequestType(); req.DoCaptureRequest.Version = this.APIVersion; req.DoCaptureRequest.AuthorizationID = authorizationID; req.DoCaptureRequest.Amount = new BasicAmountType(); req.DoCaptureRequest.Amount.Value = order.OrderTotal.ToString("N", new CultureInfo("en-us")); req.DoCaptureRequest.Amount.currencyID = PaypalHelper.GetPaypalCurrency(IoC.Resolve<ICurrencyService>().PrimaryStoreCurrency); req.DoCaptureRequest.CompleteType = CompleteCodeType.Complete; DoCaptureResponseType response = service2.DoCapture(req); string error = string.Empty; bool Success = PaypalHelper.CheckSuccess(response, out error); if (Success) { processPaymentResult.PaymentStatus = PaymentStatusEnum.Paid; processPaymentResult.CaptureTransactionId = response.DoCaptureResponseDetails.PaymentInfo.TransactionID; processPaymentResult.CaptureTransactionResult = response.Ack.ToString(); } else { processPaymentResult.Error = error; } }
/// <remarks/> public void DoCaptureAsync(DoCaptureReq DoCaptureReq) { this.DoCaptureAsync(DoCaptureReq, null); }