支付宝”电脑网站支付“接口对接

支付宝”电脑网站支付“接口对接

 

“电脑网站支付接口”文档地址https://docs.open.alipay.com/270/alipay.trade.page.pay/

 

第一步:创建应用

要在您的应用中使用支付宝开放产品的接口能力:

1.    您需要先去蚂蚁金服开放平台(open.alipay.com),在开发者中心创建登记您的应用,此时您将获得应用唯一标识(APPID);

2.    请在【功能信息】中点击【添加功能】,选择【电脑网站支付】;

3.    提交审核,等待审核通过,该应用正式可以使用。

 

第二步:配置密钥

开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台管理中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境》。

第三步:搭建和配置开发环境

1.下载服务端SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三个语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。
各语言版本服务端SDK详细使用说明,请参考《服务端SDK使用说明

2.接口调用配置

在SDK调用前需要进行初始化,代码如下:

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", APPID, APP_PRIVATE_KEY, "json""1.0""RSA2", ALIPAY_PUBLIC_KEY, "utf-8"false);

3、SDK接入

统一收单下单并支付页面接口alipay.trade.page.pay:

直接调用支付宝提供的SDK即可生成Form表单

            AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();

            //支付宝服务器主动通知商户服务器里指定的页面http/https路径

request.SetNotifyUrl(buySend.BgUrl);

            //同步返回地址,HTTP/HTTPS开头字符串

request.SetReturnUrl(buySend.ShowUrl);

            request.BizContent = "{" +

                //商户订单号

            "    \"out_trade_no\":\"" + buySend.OrderId + "\"," +

                //销售产品码,与支付宝签约的产品码名称。 注:目前仅支持FAST_INSTANT_TRADE_PAY

            "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +

                //订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]

            "    \"total_amount\":" + buySend.OrderAmount + "," +

                //订单标题

            "    \"subject\":\"" + buySend.ProductName + "\"," +

                //订单描述

            "    \"body\":\"" + buySend.ProductName + "\"" +

            "  }";

            //开放平台SDK封装了签名实现,只需在创建DefaultAlipayClient对象时,设置请求网关(gateway),应用id(app_id),应用私钥(private_key),编码格式(charset),支付宝公钥(alipay_public_key),签名类型(sign_type)即可,报文请求时会自动进行签名。

            AlipayTradePagePayResponse response = client.pageExecute(request);

            string form = response.Body;

            yd.hbyy.Common.Log.Response(buySend.OrderId, form);

            Response.Write(form);

异步通知验签:

获取异步通知参数

Dictionary<stringstring> sArray = GetRequestPost();

……

调用SDK,将参数传入即可

bool flag = AlipaySignature.RSACheckV1(sArray, ALIPAY_PUBLIC_KEY, CHARSET, SignType, false);

 

 

特别注意:

1IIS站点程序池中的 进程模型-加载用户配置文件 改为true,不然验签会出现异常系统找不到指定的文件

2、公钥使用的是支付宝公钥,不是应用公钥。配置的应用私钥、应用公钥是支付宝用来验证我们发送的缴费信息,支付宝公钥是我们用来验证支付宝异步通知的信息!!!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值