如何在asp.net中集成Paypal信用卡 [英] How to integrate paypal credit card in asp.net

查看:92
本文介绍了如何在asp.net中集成Paypal信用卡的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在asp.net中集成贝宝信用卡

How to integrate paypal credit card in asp.net

推荐答案

<%--%>



< asp:linkbutton id ="lnkFillInfo" runat ="server" text =填写信息" onclick ="lnkFillInfo_Click" xmlns:asp =#unknown"> < asp:linkbutton id ="lnkClearInfo" runat ="server" text =清除信息" onclick ="lnkClearInfo_Click" xmlns:asp =#unknown">
名字* : < asp:textbox id ="txtFirstName" runat ="server" xmlns:asp =#unknown">
< asp:requiredfieldvalidator id ="RequiredFieldValidator4" runat ="server" errormessage ="Required!" validationgroup ="reqpay" controltovalidate ="txtFirstName" cssclass ="ErrorMes" xmlns:asp =#unknown">
姓氏* : < asp:textbox id ="txtLastName" runat ="server" xmlns:asp =#unknown">
< asp:requiredfieldvalidator id ="RequiredFieldValidator5" runat ="server" errormessage ="Required!" validationgroup ="reqpay" controltovalidate ="txtLastName" cssclass ="ErrorMes" xmlns:asp =#unknown">
卡类型* : < asp:dropdownlist id ="ddlCardType" runat ="server" xmlns:asp =#unknown">
< asp:listitem value ="Visa" text ="Visa" selected ="True">
< asp:listitem value ="MASTERCARD" text ="MASTERCARD">
< asp:listitem value ="AMERICAN EXPRESS" text ="AMERICAN EXPRESS">

卡号* : < asp:textbox id ="txtCardNumber" runat ="server" xmlns:asp =#unknown">
< asp:requiredfieldvalidator id ="RequiredFieldValidator1" runat ="server" errormessage ="Required!" validationgroup ="reqpay" controltovalidate ="txtCardNumber" cssclass ="ErrorMes" xmlns:asp =#unknown">
卡上的名称* : < asp:textbox id ="txtCardOnName" runat ="server" xmlns: asp =#unknown">
< asp:requiredfieldvalidator id ="RF1" runat ="server" errormessage =必需!" validationgroup ="reqpay" controltovalidate ="txtCardOnName" cssclass ="ErrorMes" xmlns:asp =#unknown">
到期* : < asp:dropdownlist id ="ddlMonth" runat ="server" xmlns:asp = "#unknown">
 < asp:dropdownlist id ="ddlYear" runat ="server" xmlns:asp =#unknown"> (MM/YYYY)
CCV代码* : < asp:textbox id ="txtCCVCode" runat ="server" xmlns:asp =#unknown">
< asp:requiredfieldvalidator id ="RequiredFieldValidator2" runat ="server" errormessage ="Required!" validationgroup ="reqpay" controltovalidate ="txtCCVCode" cssclass ="ErrorMes" xmlns:asp =#unknown">
金额* : < asp:textbox id ="txtAmount" runat ="server" xmlns:asp = "#unknown">
< asp:requiredfieldvalidator id ="RequiredFieldValidator3" runat ="server" errormessage ="Required!" validationgroup ="reqpay" controltovalidate ="txtAmount" cssclass ="ErrorMes" xmlns:asp =#unknown">
< asp:button id ="btnSubmit" runat ="server" validationgroup ="reqpay" onclick = "btnSubmit_Click" text =付款" xmlns:asp =#unknown">
< asp:label id ="lblMessage" runat ="server" cssclass ="ErrorMes" xmlns: asp =#unknown">



ASPX.CS页面
-------------

受保护的void Page_Load(对象发送者,EventArgs e)
{
如果(!IsPostBack)
{
FillMonth();
FillYear();
}

}
受保护的无效btnSubmit_Click(对象发送者,EventArgs e)
{
CRCardPaymentProcess();
}

公共无效FillMonth()
{
for(int index = 01; index< = 12; index ++)
{
ddlMonth.Items.Add(new ListItem(Convert.ToString(index).PadLeft(2,``0''),Convert.ToString(index).PadLeft(2,``0''))));
}
}
公共无效FillYear()
{
int startyear = System.DateTime.Now.AddYears(-15).Year;
int endyear = System.DateTime.Now.AddYears(10).Year;
for(; startyear< = endyear;)
{
ddlYear.Items.Add(new ListItem(Convert.ToString(startyear),Convert.ToString(startyear)));
startyear ++;
}
}

公共无效FillInfo()
{
txtFirstName.Text =詹姆斯";
txtLastName.Text =史密斯";
txtCardNumber.Text ="4641631486853053";
ddlMonth.SelectedValue ="04";
ddlYear.SelectedValue ="2017";
txtCCVCode.Text ="123";
txtAmount.Text ="120";
}
公共无效ClearInfo()
{
txtFirstName.Text = string.Empty;
txtLastName.Text = string.Empty;
txtCardNumber.Text = string.Empty;
ddlMonth.SelectedIndex = 0;
ddlYear.SelectedIndex = 0;
txtCCVCode.Text = string.Empty;
txtAmount.Text = string.Empty;
}

公共无效CRCardPaymentProcess()
{
字符串strNVPSandboxServer ="https://api-3t.sandbox.paypal.com/nvp";
字符串strAPIVersion ="2.3";

字符串strUsername =商家ID";
字符串strPassword =商家密码";
字符串strSignature =商家签名";
字符串strCredentials ="USER =" + strUsername +& PWD =" + strPassword +& SIGNATURE =" + strSignature;


字符串strNVP = strCredentials +& METHOD = DoDirectPayment" +
& CREDITCARDTYPE =" + ddlCardType.SelectedValue +
& ACCT =" + txtCardNumber.Text +
& EXPDATE =" + ddlMonth.SelectedValue + ddlYear.SelectedValue +
& CVV2 =" + txtCCVCode.Text +
& AMT =" + txtAmount.Text +
& FIRSTNAME =" + txtFirstName.Text +
& LASTNAME =" + txtLastName.Text +
& IPADDRESS =" + Request.UserHostAddress.ToString()+
//& IPADDRESS =" +"127.0.0.1" +
//& STREET =" +"1 Main St" +
//& CITY =" +圣何塞" +
//& STATE =" +"CA" +
//& COUNTRY =" +美国" +
//& ZIP = 95110" +"95131" +
//& COUNTRYCODE = US" +
& PAYMENTACTION =授权" +
& VERSION =" + strAPIVersion;

试试
{
//创建Web请求和Web响应对象,确保使用正确的服务器(沙盒/实时)
HttpWebRequest wrWebRequest =(HttpWebRequest)WebRequest.Create(strNVPSandboxServer);
wrWebRequest.Method ="POST";
StreamWriter requestWriter =新的StreamWriter(wrWebRequest.GetRequestStream());
requestWriter.Write(strNVP);
requestWriter.Close();

//获取响应.
HttpWebResponse hwrWebResponse =(HttpWebResponse)wrWebRequest.GetResponse();
StreamReader responseReader =新的StreamReader(wrWebRequest.GetResponse().GetResponseStream());

//并读取响应
字符串responseData = responseReader.ReadToEnd();
responseReader.Close();

字符串结果= Server.UrlDecode(responseData);

string [] arrResult = result.Split(''&'');
Hashtable htResponse = new Hashtable();
string [] responseItemArray;
foreach(arrResult中的字符串responseItem)
{
responseItemArray = responseItem.Split(''='');
htResponse.Add(responseItemArray [0],responseItemArray [1]);
}

字符串strAck = htResponse ["ACK"].ToString();
if(strAck ==成功" || strAck =="SuccessWithWarning")
{
字符串strAmt = htResponse ["AMT"].ToString();
字符串strCcy = htResponse ["CURRENCYCODE"].ToString();
字符串strTransactionID = htResponse ["TRANSACTIONID"].ToString();
string strSuccess = string.Format(谢谢您,
您的订单:
<%-- --%>



<asp:linkbutton id="lnkFillInfo" runat="server" text="Fill Information" onclick="lnkFillInfo_Click" xmlns:asp="#unknown"> <asp:linkbutton id="lnkClearInfo" runat="server" text="Clear Info" onclick="lnkClearInfo_Click" xmlns:asp="#unknown">
First Name* : <asp:textbox id="txtFirstName" runat="server" xmlns:asp="#unknown">
<asp:requiredfieldvalidator id="RequiredFieldValidator4" runat="server" errormessage="Required !" validationgroup="reqpay" controltovalidate="txtFirstName" cssclass="ErrorMes" xmlns:asp="#unknown">
Last Name* : <asp:textbox id="txtLastName" runat="server" xmlns:asp="#unknown">
<asp:requiredfieldvalidator id="RequiredFieldValidator5" runat="server" errormessage="Required !" validationgroup="reqpay" controltovalidate="txtLastName" cssclass="ErrorMes" xmlns:asp="#unknown">
Card Type* : <asp:dropdownlist id="ddlCardType" runat="server" xmlns:asp="#unknown">
<asp:listitem value="Visa" text="Visa" selected="True">
<asp:listitem value="MASTERCARD" text="MASTERCARD">
<asp:listitem value="AMERICAN EXPRESS" text="AMERICAN EXPRESS">

Card Number* : <asp:textbox id="txtCardNumber" runat="server" xmlns:asp="#unknown">
<asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" errormessage="Required !" validationgroup="reqpay" controltovalidate="txtCardNumber" cssclass="ErrorMes" xmlns:asp="#unknown">
Name on Card* : <asp:textbox id="txtCardOnName" runat="server" xmlns:asp="#unknown">
<asp:requiredfieldvalidator id="RF1" runat="server" errormessage="Required !" validationgroup="reqpay" controltovalidate="txtCardOnName" cssclass="ErrorMes" xmlns:asp="#unknown">
Expiration* : <asp:dropdownlist id="ddlMonth" runat="server" xmlns:asp="#unknown">
 <asp:dropdownlist id="ddlYear" runat="server" xmlns:asp="#unknown"> (MM/YYYY)
CCV Code* : <asp:textbox id="txtCCVCode" runat="server" xmlns:asp="#unknown">
<asp:requiredfieldvalidator id="RequiredFieldValidator2" runat="server" errormessage="Required !" validationgroup="reqpay" controltovalidate="txtCCVCode" cssclass="ErrorMes" xmlns:asp="#unknown">
Amount* : <asp:textbox id="txtAmount" runat="server" xmlns:asp="#unknown">
<asp:requiredfieldvalidator id="RequiredFieldValidator3" runat="server" errormessage="Required !" validationgroup="reqpay" controltovalidate="txtAmount" cssclass="ErrorMes" xmlns:asp="#unknown">
<asp:button id="btnSubmit" runat="server" validationgroup="reqpay" onclick="btnSubmit_Click" text="Pay" xmlns:asp="#unknown">
<asp:label id="lblMessage" runat="server" cssclass="ErrorMes" xmlns:asp="#unknown">



ASPX.CS PAGE
-------------

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FillMonth();
FillYear();
}

}
protected void btnSubmit_Click(object sender, EventArgs e)
{
CRCardPaymentProcess();
}

public void FillMonth()
{
for (int index = 01; index <= 12; index++)
{
ddlMonth.Items.Add(new ListItem(Convert.ToString(index).PadLeft(2, ''0''), Convert.ToString(index).PadLeft(2, ''0'')));
}
}
public void FillYear()
{
int startyear = System.DateTime.Now.AddYears(-15).Year;
int endyear = System.DateTime.Now.AddYears(10).Year;
for (; startyear <= endyear;)
{
ddlYear.Items.Add(new ListItem(Convert.ToString(startyear), Convert.ToString(startyear)));
startyear++;
}
}

public void FillInfo()
{
txtFirstName.Text = "James";
txtLastName.Text = "Smith";
txtCardNumber.Text = "4641631486853053";
ddlMonth.SelectedValue = "04";
ddlYear.SelectedValue = "2017";
txtCCVCode.Text = "123";
txtAmount.Text = "120";
}
public void ClearInfo()
{
txtFirstName.Text = string.Empty;
txtLastName.Text = string.Empty;
txtCardNumber.Text = string.Empty;
ddlMonth.SelectedIndex = 0;
ddlYear.SelectedIndex = 0;
txtCCVCode.Text = string.Empty;
txtAmount.Text = string.Empty;
}

public void CRCardPaymentProcess()
{
string strNVPSandboxServer = "https://api-3t.sandbox.paypal.com/nvp";
string strAPIVersion = "2.3";

string strUsername = "merchant id";
string strPassword = "merchant password";
string strSignature = "merchant signature";
string strCredentials = "USER=" + strUsername + "&PWD=" + strPassword + "&SIGNATURE=" + strSignature;


string strNVP = strCredentials + "&METHOD=DoDirectPayment" +
"&CREDITCARDTYPE=" + ddlCardType.SelectedValue +
"&ACCT=" + txtCardNumber.Text +
"&EXPDATE=" + ddlMonth.SelectedValue + ddlYear.SelectedValue +
"&CVV2=" + txtCCVCode.Text +
"&AMT=" + txtAmount.Text +
"&FIRSTNAME=" + txtFirstName.Text +
"&LASTNAME=" + txtLastName.Text +
"&IPADDRESS=" + Request.UserHostAddress.ToString() +
//"&IPADDRESS=" + "127.0.0.1" +
//"&STREET=" + "1 Main St" +
//"&CITY=" + "San Jose" +
//"&STATE=" + "CA" +
//"&COUNTRY=" + "United States" +
//"&ZIP=95110" + "95131" +
//"&COUNTRYCODE=US" +
"&PAYMENTACTION=Authorization" +
"&VERSION=" + strAPIVersion;

try
{
//Create web request and web response objects, make sure you using the correct server (sandbox/live)
HttpWebRequest wrWebRequest = (HttpWebRequest)WebRequest.Create(strNVPSandboxServer);
wrWebRequest.Method = "POST";
StreamWriter requestWriter = new StreamWriter(wrWebRequest.GetRequestStream());
requestWriter.Write(strNVP);
requestWriter.Close();

// Get the response.
HttpWebResponse hwrWebResponse = (HttpWebResponse)wrWebRequest.GetResponse();
StreamReader responseReader = new StreamReader(wrWebRequest.GetResponse().GetResponseStream());

//and read the response
string responseData = responseReader.ReadToEnd();
responseReader.Close();

string result = Server.UrlDecode(responseData);

string[] arrResult = result.Split(''&'');
Hashtable htResponse = new Hashtable();
string[] responseItemArray;
foreach (string responseItem in arrResult)
{
responseItemArray = responseItem.Split(''='');
htResponse.Add(responseItemArray[0], responseItemArray[1]);
}

string strAck = htResponse["ACK"].ToString();
if (strAck == "Success" || strAck == "SuccessWithWarning")
{
string strAmt = htResponse["AMT"].ToString();
string strCcy = htResponse["CURRENCYCODE"].ToString();
string strTransactionID = htResponse["TRANSACTIONID"].ToString();
string strSuccess = string.Format("Thank you,
Your order for:


{0}已处理.
您的交易代码为{1}",strAmt ,strTransactionID);//谢谢您,
您的订单:
{0} has been processed.
Your transaction code is : {1}", strAmt, strTransactionID);// "Thank you,
Your order for:


"+ strAmt +""+ strCcy +"已处理.;
lblMessage.Text = strSuccess;
}
其他
{
字符串strErr =错误:" + htResponse ["L_LONGMESSAGE0"].ToString();
string strErrcode =错误代码:" + htResponse ["L_ERRORCODE0"].ToString();
lblMessage.Text = string.Format("{0}
{1}",strErr,strErrcode);
返回;
}
}
catch(ex ex例外)
{
//采取措施以捕获错误,例如写入日志文件.
Response.Write(错误处理");
}

}
受保护的void lnkFillInfo_Click(对象发送者,EventArgs e)
{
FillInfo();
}
受保护的void lnkClearInfo_Click(object sender,EventArgs e)
{
ClearInfo();
}
" + strAmt + " " + strCcy + " has been processed.";
lblMessage.Text = strSuccess;
}
else
{
string strErr = "Error: " + htResponse["L_LONGMESSAGE0"].ToString();
string strErrcode = "Error code: " + htResponse["L_ERRORCODE0"].ToString();
lblMessage.Text = string.Format("{0}
{1}", strErr, strErrcode);
return;
}
}
catch (Exception ex)
{
// do something to catch the error, like write to a log file.
Response.Write("error processing");
}

}
protected void lnkFillInfo_Click(object sender, EventArgs e)
{
FillInfo();
}
protected void lnkClearInfo_Click(object sender, EventArgs e)
{
ClearInfo();
}


这篇关于如何在asp.net中集成Paypal信用卡的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆