支付宝接口的开发

来源:互联网 发布:淘宝卖家信誉帐号 编辑:程序博客网 时间:2024/05/04 03:47

支付宝有网页支付接口,当面付接口也就是扫码支付二者有一个不同是网页支付不支持代理商,而扫码支付支持通过服务商向子商户付款


下面我以网页支付为例

1,下载Alipay demo,将需要的类文件引入到开发页面,本人用的是tp框架

vendor('Alipay_web.wappay.service.AlipayTradeService');vendor('Alipay_web.wappay.buildermodel.AlipayTradeWapPayContentBuilder');vendor('Alipay_web.config') ;

2,配置配置文件Alipay_web.config

class Config_pub{        //应用ID,您的APPID。    const app_id = "201706";        //商户私钥,您的原始格式RSA私钥-----------------------------注意这个是用demo中生成器生成的    const merchant_private_key = "MII3dqrHnb3c";        //异步通知地址    const notify_url = "https://services.demo.cc/index.php/AliPayWeb/notify_url";        //同步跳转-----------------------------------------------这个是支付成功后跳转的地址    const return_url = "https://services.demo.cc/index.php/AliPayWeb/return_url";        //编码格式    const charset = "UTF-8";        //签名方式    const sign_type="RSA2";        //支付宝网关    const gatewayUrl ="https://openapi.alipay.com/gateway.do";        //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
       // 这个需要注意这个公钥是在蚂蚁金服服务商的配置文件中的支付宝公钥而不是通过生成器生成的公钥    const alipay_public_key= "MIIBIjANBgkqhkiG9w";}

3.根据demo所需参数开发

//商户订单号,商户网站订单系统中唯一订单号,必填$out_trade_no = $_REQUEST['out_trade_no'];//订单名称,必填$subject = $_REQUEST['subject'];//付款金额,必填$total_amount =$_REQUEST['total_amount'];//商品描述,可空$body =$_REQUEST['remarks'];//超时时间$timeout_express="1m";
if(!$out_trade_no){    throw new Exception('订单编号不能为空');}if(!$subject){    throw new Exception('订单名称不能为空');}if(!$total_amount){    throw new Exception('付款金额不能为空');}$payRequestBuilder = new AlipayTradeWapPayContentBuilder();$payRequestBuilder->setBody($body);$payRequestBuilder->setSubject($subject);$payRequestBuilder->setOutTradeNo($out_trade_no);$payRequestBuilder->setTotalAmount($total_amount);$payRequestBuilder->setTimeExpress($timeout_express);$payResponse = new AlipayTradeService();$result=$payResponse->wapPay($payRequestBuilder,Config_pub::return_url.'/shopid/'.$_REQUEST['shopid'],Config_pub::notify_url);return $result;

备注:支付宝接口只要配置正确,在异步地址处用file_put_contents会接到支付的结果打印到指定的文档,同时跳转到指定的跳转页面,要比微信支付接口简单的多,


原创粉丝点击