此篇是支付宝SDK的使用
支付宝接口有两个比较重要的地方,一个是同步通知,一个是异步通知。同步通知的作用是通知客服支付成功,而异步通知处理业务逻辑。
第一步:引用官方的AOPSDK
当然了 在官方的SDK里 你可以去打开看一下他的官方DEMO
比较重要的三个DEMO 一个是pagepay,和return,Notify
支付页面,同步通知页面和异步通知页面这三个,可以参考一下。
第二步:配置config
在支付宝的官方DEMO里有一个叫config的公共类,需要传参数进去
例如:`using System.Web;
///
/// config 的摘要说明
///
public class config
{
public config()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
// 应用ID,您的APPID
public static string app_id = “”;
// 沙箱支付宝网关
public static string gatewayUrl = " https://openapi.alipaydev.com/gateway.do";
// 商户私钥,您的原始格式RSA私钥
public static string private_key = "";
// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
public static string alipay_public_key = "";
// 签名方式
public static string sign_type = "RSA2";
// 编码格式
public static string charset = "UTF-8";
}`
第三步:创建支付页面、同步通知页面、异步通知页面创建
这里大家可以参照官方DEMo设计,这里就不多说了,注意几个要点。1.异步通知的前段是没有任何代码的,2.就是如果你的异步通知页面如果公网访问不了,那就无法处理数据,3.异步通知是post方式传输,同步的get方法。具体参数参照官方API
第四步:后台代码
后台代码直接支付官方Demo的代码就可以了,然后修改参数。即可
例如
DefaultAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", config.sign_type, config.alipay_public_key, config.charset, false);
// 外部订单号,商户网站订单系统中唯一的订单号
string out_trade_no = WIDout_trade_no.Text.Trim();
// 订单名称
string subject = WIDsubject.Text.Trim();
// 付款金额
string total_amout = WIDtotal_amount.Text.Trim();
// 商品描述
string body = WIDbody.Text.Trim();
// 组装业务参数model
AlipayTradePagePayModel model = new AlipayTradePagePayModel();
model.Body = body;
model.Subject = subject;
model.TotalAmount = total_amout;
model.OutTradeNo = out_trade_no;
model.PassbackParams = passback_params;
model.ProductCode = "FAST_INSTANT_TRADE_PAY";
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
// 设置同步回调地址
request.SetReturnUrl("http:");
// 设置异步通知接收地址
request.SetNotifyUrl("http:");
// 将业务model载入到request
request.SetBizModel(model);
AlipayTradePagePayResponse response = null;
try
{
response = client.pageExecute(request, null, "post");
Response.Write(response.Body);
}
catch (Exception exp)
{
throw exp;
}
这部分类似于传参给支付宝封装的MODEL然后回传给支付宝,验签并请求支付。
如果你的同步地址和异步地址没有设置的话就无法跳转,只能支付完之后没有任何反应
第五步:安装沙箱版支付宝就可以支付
去这里找对应的账号和密码,有时候有提示系统繁忙多支付几次就好了。
因为支付宝接口需要把异步通知和同步通知页面配置到服务器上,之后我会介绍.net如何吧项目发布到服务器上