/// <summary> /// Example starting the transaction with the demo basket /// </summary> protected void btn_StartCardPayment_Click(object sender, EventArgs e) { CNPMerchantWebService merchantWS = new CNPMerchantWebService(); TransactionDetails td = new TransactionDetails(); td.currencyCode = Basket.getBasket()[0].currencyCode; td.description = "My first transaction"; td.goodsList = Basket.getBasket().ToArray(); td.merchantId = "000000000000001"; td.terminalID = "TEST TID"; td.returnURL = Request.Url.OriginalString.Replace("Checkout.aspx", "Result.aspx"); td.totalAmount = Basket.getTotalAmount().ToString(); td.currencyCodeSpecified = true; td.languageCode = "en"; td.orderId = (new Random()).Next(10000).ToString(); td.merchantLocalDateTime = String.Format("{0:dd.MM.yyyy HH:mm:ss}", DateTime.Now); td.purchaserName = "IVANOV IVAN"; td.purchaserEmail = "*****@*****.**"; StartTransactionResult result = merchantWS.startTransaction(td); if (result.success) { Session["customerReference"] = result.customerReference; Response.Redirect(result.redirectURL); } else { lbl_Error.Text = result.errorDescription; } }
/// <summary> /// Attempts to request reversal then checks the transaction status /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_RequestReversal_Click(object sender, EventArgs e) { CNPMerchantWebService merchantWS = new CNPMerchantWebService(); bool retval; bool retvalSpecified; merchantWS.completeTransaction("000000000000001", (string)Session["customerReference"], false, true, null, out retval, out retvalSpecified); if (retvalSpecified && retval) { StoredTransactionStatus ts = merchantWS.getTransactionStatus("000000000000001", (string)Session["customerReference"]); if (ts != null) { lbl_Status.Text = ts.transactionStatus; } } else { lbl_Status.Text = "Failed to reverse."; } }
/// <summary> /// Checks the transaction status /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { CNPMerchantWebService merchantWS = new CNPMerchantWebService(); if (Session["customerReference"] == null) { lbl_Status.Text = "No transaction in flight..."; return; } StoredTransactionStatus ts = merchantWS.getTransactionStatus("000000000000001", (string)Session["customerReference"]); if (ts != null) { lbl_Status.Text = ts.transactionStatus; } else { lbl_Status.Text = "Error transaction not found..."; } }