I have used this for paypal pro integration
string amt = lblTotal.Text; amt = string.Format("{0:0.00}", double.Parse(amt)); string APIUsername = string.Empty; string APIPassword = string.Empty; string APISignature = string.Empty; string strAPIVersion = string.Empty; string type = string.Empty; string live = string.Empty; string sand = string.Empty; string strNVPSandboxServer = string.Empty; DataTable dt = new DataTable(); dt = ClsSettings.FillPaypalPro(); if (dt.Rows.Count > 0) { APIUsername = Convert.ToString(dt.Rows[0]["ApiUserName"]); APIPassword = Convert.ToString(dt.Rows[0]["ApiPassword"]); APISignature = Convert.ToString(dt.Rows[0]["ApiSignature"]); strAPIVersion = Convert.ToString(dt.Rows[0]["ApiVersion"]); type = Convert.ToString(dt.Rows[0]["IsSandbox"]); live = Convert.ToString(dt.Rows[0]["LiveUrl"]); sand = Convert.ToString(dt.Rows[0]["SandboxUrl"]); } string Subject = ""; string BNCode = "PP-ECWizard"; string strCredentials = ("USER=" + (APIUsername + ("&PWD=" + (APIPassword + ("&SIGNATURE=" + APISignature))))); if (type == "Live") { strNVPSandboxServer = live; } else { strNVPSandboxServer = sand; } string strNVP = strCredentials; strNVP += "&METHOD=DoDirectPayment"; //strNVP += "&PROFILESTARTDATE=Jun. 28, 2009 03:05:08 PDT"; //strNVP += "&DESC=DirectPayments"; //strNVP += "&BILLINGPERIOD=Month"; //strNVP += "&BILLINGFREQUENCY=12"; strNVP += "&PAYMENTACTION=Sale"; //strNVP += "&IPADDRESS=72.43.147.74"; strNVP += "&IPADDRESS=72.43.147.74"; strNVP += "&AMT=" + amt + ""; strNVP += "&CURRENCYCODE=USD"; //strNVP += "&CREDITCARDTYPE=" + ddlCradtype.SelectedItem.Text + "" strNVP += "&CREDITCARDTYPE=" + ddlCradtype.SelectedValue.Trim() + ""; //strNVP += "&CREDITCARDTYPE=Visa" strNVP += "&ACCT=" + txtCreditCardNo.Text.Trim() + ""; strNVP += "&CVV2=" + txtCode.Text.Trim() + ""; strNVP += "&EXPDATE=" + ddlMonth.SelectedItem.Text.Trim() + "" + ddlYear.SelectedItem.Text.Trim() + " "; strNVP += "&FIRSTNAME=" + FirstName + ""; strNVP += "&LASTNAME=" + lastname + ""; strNVP += "&STREET=" + address + ""; strNVP += "&CITY=" + city + ""; strNVP += "&STATE=" + State + ""; //strNVP += "&STATE=New York"; strNVP += "&COUNTRY=USA"; //strNVP += "&COUNTRY=CANADA"; strNVP += "&ZIP=" + zip + ""; strNVP += "&COUNTRYCODE=US"; //strNVP += "&COUNTRYCODE=CA"; strNVP += "&VERSION=" + strAPIVersion; HttpWebRequest wrWebRequest = (HttpWebRequest)WebRequest.Create(strNVPSandboxServer); wrWebRequest.Method = "POST"; StreamWriter requestWriter = new StreamWriter(wrWebRequest.GetRequestStream()); requestWriter.Write(strNVP); requestWriter.Close(); HttpWebResponse hwrWebResponse = (HttpWebResponse)wrWebRequest.GetResponse(); StreamReader responseReader = new StreamReader(wrWebRequest.GetResponse().GetResponseStream()); string responseData = responseReader.ReadToEnd(); responseReader.Close(); string result = Server.UrlDecode(responseData); string[] arrResult = result.Split('&'); Hashtable htResponse = new Hashtable(); string[] responseItemArray = null; foreach (string responseItem in arrResult) { responseItemArray = responseItem.Split('='); htResponse.Add(responseItemArray[0], responseItemArray[1]); } string strAck = htResponse["ACK"].ToString(); if (((strAck == "Success") || (strAck == "SuccessWithWarning"))) { int EditId = objQuestion.UpdateCasePaymentStatus(CaseID); SendMail(); SendMailtoAdmin(); //Dim strProfileStatus As String = htResponse("PROFILESTATUS").ToString string strProfileID = htResponse["TRANSACTIONID"].ToString(); Response.Redirect(("Thanks.aspx?TransactionID=" + (strProfileID + ""))); } else { string strErr = ("Error: " + htResponse["L_LONGMESSAGE0"].ToString()); string strErrcode = ("Error code: " + htResponse["L_ERRORCODE0"].ToString()); lbltransError.Text = htResponse["L_LONGMESSAGE0"].ToString(); lbltransError.ForeColor = System.Drawing.Color.Red; dvButton_Org.Style.Add("display", "block"); dvCraditCard.Style.Add("display", "block"); dvButton_grey.Style.Add("display", "none"); btnCheckOut.Text = "Process Credit Card"; //Response.Redirect(("Cancel.aspx?id=" + (strErr + ""))); return; }
I just want to know how do I check that the payment is actally done and completed I want do the bold part only if the payment is completed.
Please help