支付宝接口源代码

支付宝的接口调用很不方便,刚做好一个封装,实现了虚拟交易和实物交易。
解决方案中有三个项目以及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 , " [email protected] " , " [email protected] " ,
    
" 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 , " [email protected] " , " [email protected] " );
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 " );
}


支付宝的交易状态都被定义成了类似名称的事件。
http://www.cnblogs.com/Files/bluewater/CommonAliPay.rar
因为时间很紧,有些地方还不完善,大家提出意见,有时间我会修改的

网上赠与服务集成技术文档V1.35.pdf
http://www.chenjiliang.com/Article/ArticleAttach/84/2123/apply_alipay_donate_service.zip

你可能感兴趣的:(String,object,测试,url,asp.net,文档)