public void Refund(Order order, ref CancelPaymentResult cancelPaymentResult) { XmlTransaction sxml = new XmlTransaction(XmlPaymentSettings.TestMode ? XmlTransaction.MODE_TEST : XmlTransaction.MODE_LIVE, SecurePaySettings.MerchantId, SecurePaySettings.MerchantPassword, ID); bool success = false; string code = ""; success = sxml.processRefund(cancelPaymentResult.Amount, order.OrderGuid.ToString(), cancelPaymentResult.CaptureTransactionId); code = sxml["response_code"]; if (!success) { cancelPaymentResult.Error = String.Format("Declined ({0})", code); cancelPaymentResult.FullError = sxml.Error; } else { cancelPaymentResult.PaymentStatus = PaymentStatusEnum.Refunded; } }
/// <summary> /// Process payment /// </summary> /// <param name="paymentInfo">Payment info required for an order processing</param> /// <param name="customer">Customer</param> /// <param name="orderGuid">Unique order identifier</param> /// <param name="processPaymentResult">Process payment result</param> public void ProcessPayment(PaymentInfo paymentInfo, Customer customer, Guid orderGuid, ref ProcessPaymentResult processPaymentResult) { XmlTransaction sxml = new XmlTransaction(XmlPaymentSettings.TestMode ? XmlTransaction.MODE_TEST : XmlTransaction.MODE_LIVE, SecurePaySettings.MerchantId, SecurePaySettings.MerchantPassword, ID); bool success = false; string code = ""; if (XmlPaymentSettings.AuthorizeOnly) { success = sxml.processPreauth(paymentInfo.OrderTotal, orderGuid.ToString(), paymentInfo.CreditCardNumber, paymentInfo.CreditCardExpireMonth.ToString("D2"), paymentInfo.CreditCardExpireYear.ToString().Substring(2, 2), paymentInfo.CreditCardCvv2.ToString()); } else { success = sxml.processCredit(paymentInfo.OrderTotal, orderGuid.ToString(), paymentInfo.CreditCardNumber, paymentInfo.CreditCardExpireMonth.ToString("D2"), paymentInfo.CreditCardExpireYear.ToString().Substring(2, 2), paymentInfo.CreditCardCvv2.ToString()); } code = sxml["response_code"]; if (!success) { processPaymentResult.Error = String.Format("Declined ({0})", code); processPaymentResult.FullError = sxml.Error; } else { if (XmlPaymentSettings.AuthorizeOnly) { processPaymentResult.AuthorizationTransactionCode = (XmlPaymentSettings.AuthorizeOnly ? sxml["preauth_id"] : ""); processPaymentResult.AuthorizationTransactionId = sxml["transaction_id"]; processPaymentResult.AuthorizationTransactionResult = String.Format("Approved ({0})", code); processPaymentResult.PaymentStatus = PaymentStatusEnum.Authorized; } else { processPaymentResult.CaptureTransactionId = sxml["transaction_id"]; processPaymentResult.CaptureTransactionResult = String.Format("Approved ({0})", code); processPaymentResult.PaymentStatus = PaymentStatusEnum.Paid; } } }
/// <summary> /// Captures payment (from admin panel) /// </summary> /// <param name="order">Order</param> /// <param name="processPaymentResult">Process payment result</param> public void Capture(Order order, ref ProcessPaymentResult processPaymentResult) { XmlTransaction sxml = new XmlTransaction(XmlPaymentSettings.TestMode ? XmlTransaction.MODE_TEST : XmlTransaction.MODE_LIVE, SecurePaySettings.MerchantId, SecurePaySettings.MerchantPassword, ID); bool success = false; string code = ""; success = sxml.processAdvice(order.OrderTotal, order.OrderGuid.ToString(), processPaymentResult.AuthorizationTransactionCode); code = sxml["response_code"]; if (!success) { processPaymentResult.Error = String.Format("Declined ({0})", code); processPaymentResult.FullError = sxml.Error; } else { processPaymentResult.CaptureTransactionId = sxml["transaction_id"]; processPaymentResult.CaptureTransactionResult = String.Format("Approved ({0})", code); processPaymentResult.PaymentStatus = PaymentStatusEnum.Paid; } }
public void Refund(Order order, ref CancelPaymentResult cancelPaymentResult) { XmlTransaction sxml = new XmlTransaction(XmlPaymentSettings.TestMode ? XmlTransaction.MODE_TEST : XmlTransaction.MODE_LIVE, SecurePaySettings.MerchantId, SecurePaySettings.MerchantPassword, ID); bool success = false; string code = ""; success = sxml.processRefund(cancelPaymentResult.Amount, order.OrderGuid.ToString(), cancelPaymentResult.CaptureTransactionId); code = sxml["response_code"]; if(!success) { cancelPaymentResult.Error = String.Format("Declined ({0})", code); cancelPaymentResult.FullError = sxml.Error; } else { cancelPaymentResult.PaymentStatus = PaymentStatusEnum.Refunded; } }
/// <summary> /// Process payment /// </summary> /// <param name="paymentInfo">Payment info required for an order processing</param> /// <param name="customer">Customer</param> /// <param name="orderGuid">Unique order identifier</param> /// <param name="processPaymentResult">Process payment result</param> public void ProcessPayment(PaymentInfo paymentInfo, Customer customer, Guid orderGuid, ref ProcessPaymentResult processPaymentResult) { XmlTransaction sxml = new XmlTransaction(XmlPaymentSettings.TestMode ? XmlTransaction.MODE_TEST : XmlTransaction.MODE_LIVE, SecurePaySettings.MerchantId, SecurePaySettings.MerchantPassword, ID); bool success = false; string code = ""; if(XmlPaymentSettings.AuthorizeOnly) { success = sxml.processPreauth(paymentInfo.OrderTotal, orderGuid.ToString(), paymentInfo.CreditCardNumber, paymentInfo.CreditCardExpireMonth.ToString("D2"), paymentInfo.CreditCardExpireYear.ToString().Substring(2, 2), paymentInfo.CreditCardCvv2.ToString()); } else { success = sxml.processCredit(paymentInfo.OrderTotal, orderGuid.ToString(), paymentInfo.CreditCardNumber, paymentInfo.CreditCardExpireMonth.ToString("D2"), paymentInfo.CreditCardExpireYear.ToString().Substring(2, 2), paymentInfo.CreditCardCvv2.ToString()); } code = sxml["response_code"]; if (!success) { processPaymentResult.Error = String.Format("Declined ({0})", code); processPaymentResult.FullError = sxml.Error; } else { if(XmlPaymentSettings.AuthorizeOnly) { processPaymentResult.AuthorizationTransactionCode = (XmlPaymentSettings.AuthorizeOnly ? sxml["preauth_id"] : ""); processPaymentResult.AuthorizationTransactionId = sxml["transaction_id"]; processPaymentResult.AuthorizationTransactionResult = String.Format("Approved ({0})", code); processPaymentResult.PaymentStatus = PaymentStatusEnum.Authorized; } else { processPaymentResult.CaptureTransactionId = sxml["transaction_id"]; processPaymentResult.CaptureTransactionResult = String.Format("Approved ({0})", code); processPaymentResult.PaymentStatus = PaymentStatusEnum.Paid; } } }
/// <summary> /// Captures payment (from admin panel) /// </summary> /// <param name="order">Order</param> /// <param name="processPaymentResult">Process payment result</param> public void Capture(Order order, ref ProcessPaymentResult processPaymentResult) { XmlTransaction sxml = new XmlTransaction(XmlPaymentSettings.TestMode ? XmlTransaction.MODE_TEST : XmlTransaction.MODE_LIVE, SecurePaySettings.MerchantId, SecurePaySettings.MerchantPassword, ID); bool success = false; string code = ""; success = sxml.processAdvice(order.OrderTotal,order.OrderGuid.ToString(),processPaymentResult.AuthorizationTransactionCode); code = sxml["response_code"]; if (!success) { processPaymentResult.Error = String.Format("Declined ({0})", code); processPaymentResult.FullError = sxml.Error; } else { processPaymentResult.CaptureTransactionId = sxml["transaction_id"]; processPaymentResult.CaptureTransactionResult = String.Format("Approved ({0})", code); processPaymentResult.PaymentStatus = PaymentStatusEnum.Paid; } }