<script src="/Script/BeforeContent.js" type="text/javascript"></script> <script src="http://a.alimama.cn/inf.js" type="text/javascript"></script>
支付宝接口源代码(刚完成,应该是目前最好的了)
支付宝的接口调用很不方便,刚做好一个封装,实现了虚拟交易和实物交易。
解决方案中有三个项目以及NDoc生成的文档,简单的序列图:CommonAliPay,封装的 支付宝接口。
TestAli,asp.net的测试项目
TestCommonAliPay,Nunit的测试项目。
源代码下载地址: http://www.cnblogs.com/Files/bluewater/CommonAliPay.rar
调用方法:
1、引入CommonAliPay.dll
2、实现 支付宝服务接口的方法调用方式:
上面是通用的调用方式。
解决方案中有三个项目以及NDoc生成的文档,简单的序列图:CommonAliPay,封装的 支付宝接口。
TestAli,asp.net的测试项目
TestCommonAliPay,Nunit的测试项目。
源代码下载地址: http://www.cnblogs.com/Files/bluewater/CommonAliPay.rar
调用方法:
1、引入CommonAliPay.dll
2、实现 支付宝服务接口的方法调用方式:
AliPay ap
=
new
AliPay();
string key = "" ; // 填写自己的key
string partner = "" ; // 填写自己的Partner
StandardGoods bp = new StandardGoods( " trade_create_by_buyer " , partner, key, " MD5 " , " 卡2 " ,
Guid.NewGuid().ToString(), 2.551m , 1 , " hao_ding2000@yahoo.com.cn " , " hao_ding2000@yahoo.com.cn " ,
" EMS " , 25.00m , " BUYER_PAY " , " 1 " );
bp.Notify_Url = " http://203.86.79.185/ali/notify.aspx " ;
ap.CreateStandardTrade( " https://www.alipay.com/cooperate/gateway.do " , bp, this );
string key = "" ; // 填写自己的key
string partner = "" ; // 填写自己的Partner
StandardGoods bp = new StandardGoods( " trade_create_by_buyer " , partner, key, " MD5 " , " 卡2 " ,
Guid.NewGuid().ToString(), 2.551m , 1 , " hao_ding2000@yahoo.com.cn " , " hao_ding2000@yahoo.com.cn " ,
" EMS " , 25.00m , " BUYER_PAY " , " 1 " );
bp.Notify_Url = " http://203.86.79.185/ali/notify.aspx " ;
ap.CreateStandardTrade( " https://www.alipay.com/cooperate/gateway.do " , bp, this );
下面是只支持虚拟货物的方式:
string
key
=
""
;
//
填写自己的key
string partner = "" ; // 填写自己的Partner
AliPay ap = new AliPay();
DigitalGoods bp = new DigitalGoods( " create_digital_goods_trade_p " , partner, key, " MD5 " , " 卡2 " ,
Guid.NewGuid().ToString(), 2.551m , 1 , " hao_ding2000@yahoo.com.cn " , " hao_ding2000@yahoo.com.cn " );
bp.Notify_Url = " http://203.86.79.185/ali/notify.aspx " ;
ap.CreateDigitalTrade( " https://www.alipay.com/cooperate/gateway.do " , bp, this );
string partner = "" ; // 填写自己的Partner
AliPay ap = new AliPay();
DigitalGoods bp = new DigitalGoods( " create_digital_goods_trade_p " , partner, key, " MD5 " , " 卡2 " ,
Guid.NewGuid().ToString(), 2.551m , 1 , " hao_ding2000@yahoo.com.cn " , " hao_ding2000@yahoo.com.cn " );
bp.Notify_Url = " http://203.86.79.185/ali/notify.aspx " ;
ap.CreateDigitalTrade( " https://www.alipay.com/cooperate/gateway.do " , bp, this );
3、实现 支付宝通知接口方法的调用(支持虚拟和实物):
protected
void
Page_Load(
object
sender, EventArgs e)
{
string key = "" ; // 填写自己的key
string partner = "" ; // 填写自己的Partner
AliPay ap = new AliPay();
string notifyid = Request.Form[ " notify_id " ];
Verify v = new Verify( " notify_verify " , partner, notifyid);
ap.WaitSellerSendGoods += new AliPay.ProcessNotifyEventHandler(ap_WaitSellerSendGoods);
ap.WaitBuyerPay += new AliPay.ProcessNotifyEventHandler(ap_WaitBuyerPay);
ap.ProcessNotify( this , " https://www.alipay.com/cooperate/gateway.do " , key, v, " utf-8 " );
}
void ap_WaitBuyerPay( object sender, NotifyEventArgs e)
{
// // 加入自己的处理逻辑
Log4net.log.Error( " wait buyer pay fire " );
}
private void ap_WaitSellerSendGoods( object sender, NotifyEventArgs e)
{
// 加入自己的处理逻辑
Log4net.log.Error( " WaitSellerSendGoods fire " );
}
{
string key = "" ; // 填写自己的key
string partner = "" ; // 填写自己的Partner
AliPay ap = new AliPay();
string notifyid = Request.Form[ " notify_id " ];
Verify v = new Verify( " notify_verify " , partner, notifyid);
ap.WaitSellerSendGoods += new AliPay.ProcessNotifyEventHandler(ap_WaitSellerSendGoods);
ap.WaitBuyerPay += new AliPay.ProcessNotifyEventHandler(ap_WaitBuyerPay);
ap.ProcessNotify( this , " https://www.alipay.com/cooperate/gateway.do " , key, v, " utf-8 " );
}
void ap_WaitBuyerPay( object sender, NotifyEventArgs e)
{
// // 加入自己的处理逻辑
Log4net.log.Error( " wait buyer pay fire " );
}
private void ap_WaitSellerSendGoods( object sender, NotifyEventArgs e)
{
// 加入自己的处理逻辑
Log4net.log.Error( " WaitSellerSendGoods fire " );
}
支付宝的交易状态都被定义成了类似名称的事件。
http://www.cnblogs.com/Files/bluewater/CommonAliPay.rar
因为时间很紧,有些地方还不完善,大家提出意见,有时间我会修改的
网上赠与服务集成技术文档V1.35.pdf
http://www.chenjiliang.com/Article/ArticleAttach/84/2123/apply_alipay_donate_service.zip