美文网首页
(APP)支付宝支付PHP

(APP)支付宝支付PHP

作者: 无聊的电风扇 | 来源:发表于2019-04-18 11:28 被阅读0次

    首先在蚂蚁金服开放平台生成你得商户私钥,和支付宝公钥,文档里有对应的工具

    image.png
    一定注意,你代码中用到的是支付宝公钥,后面那个,这个是要你先上传开发者公钥,阿里自己给你生成的支付宝公钥,不要搞混!!

    然后可以用支付宝的SDK,也可以自己写,一些签名和请求的方法,以他们的demo为例
    加密方式用RSA2,新的应用已经不再支持MD5和RSA了

    $aop = new \AopClient();
            
            $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
            $aop->appId = $aliConfig['app_id'];//appid
            $aop->rsaPrivateKey = $aliConfig['merchant_private_key'];//私钥
            $aop->format = "json";
            $aop->charset = "UTF-8";
            $aop->signType = "RSA2";
            $aop->alipayrsaPublicKey = $aliConfig['alipay_public_key'];//公钥,支付宝公钥!
            //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
            $request = new \AlipayTradeAppPayRequest();
            //业务参数
            $bizcontent = "{\"body\":\"订单标题\"," 
                            . "\"subject\": \"内容\","
                            . "\"out_trade_no\": \"".自己系统的订单号."\","
                            . "\"timeout_express\": \"30m\"," 
                            . "\"total_amount\": \"".'价格(单位元)'."\","
                            . "\"product_code\":\"QUICK_MSECURITY_PAY\"" //写死
                            . "}";
            $request->setNotifyUrl($aliConfig['notify_url']);
            $request->setBizContent($bizcontent);
    
            //这里和普通的接口调用不同,使用的是sdkExecute
            $response = $aop->sdkExecute($request);
            //htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题
            $response = htmlspecialchars($response);//就是orderString 可以直接给客户端请求,无需再做处理。
    

    然后传给前台就可以了,有可能在传递的过程中,&会变成& amp; 可以自己改一下
    令附一个测试工具,测试服务端签名是否有效
    支付测试工具

    相关文章

      网友评论

          本文标题:(APP)支付宝支付PHP

          本文链接:https://www.haomeiwen.com/subject/xjezwqtx.html