php 做支付宝电脑网站和app支付

首先支付宝的文档真是看得头晕眼花,摸不着北的感觉,网上百度PHP支付宝一堆都是花里胡哨的,看得一脸懵逼。所以自己整理了一下,其实也没那么复杂直接上代码:

 

php 电脑支付的方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
  * 支付宝支付
  *$order_sn 单号  $total_amount 价格
  */
public  function  alipay( $order_sn , $total_amount )
{
     require_once  INCLUDES_PATH. 'class' .DS. 'Pay' .DS. 'mobile' .DS. 'alipaytest/' . 'AopClient.php' ;
     $aop  new  AopClient(); //这个类支付宝php服务端 都要用到 (app支付服务端也要用到这个类)
     $aop ->gatewayUrl =  'https://openapi.alipay.com/gateway.do' ;//支付宝网关,也就是接口地址
     $aop ->appId =  '201709010........' ; //APPID
     $aop ->rsaPrivateKey = '' "; //商户的私钥()
     $aop ->format =  'json' ;
     $aop ->apiVersion =  '1.0' ;
     $aop ->postCharset=  'utf-8' ;
     $aop ->signType =  'RSA2' ;
   
     $request  new  AlipayTradePagePayRequest(); //支付宝电脑网站支付需要用到的类 这个类支付宝SDK可以下载
     $request ->setNotifyUrl(HTTP_HOST. 'pay/alipay_notify.php' ); //支付结果的异步通知回调地址
     $request ->setReturnUrl(HTTP_HOST. 'pay/alipay_return.php' ); //同步回调回调地址
 
     $bizcontent  = json_encode( array (
         'subject' => '商品订单' . $order_sn ,
         'out_trade_no' => $order_sn ,
         'body' => '商品订单' ,
         'total_amount' =>sprintf( '%.2f' , $total_amount ),
         'product_code' => 'FAST_INSTANT_TRADE_PAY' , //支付类型,APP和电脑支付 手机支付是不一样的 所以这个类型也是不一样的
     ), JSON_UNESCAPED_UNICODE);
 
 
 
     $request ->setBizContent( $bizcontent );
     $test  $aop ->pageExecute( $request , 'post' ); //支付宝返回来的地址,直接是可以跳转的
     echo  $test ;
 
 
}

 

附上所需要用到的类:

 

1
 

 

1
<br>只需要这三个类就好了,支付宝的sdk 满满的一堆 ,但是我们不需要那么多,需要用到类再把它抠出来就好了 好像传不了文件 有需要的可以加我QQ(1031486419)我发给你
 
1
<br> app 支付 我们PHP 服务端的代码,其实就是生成一堆支付的参数 直接上代码了,其实和上面的电脑支付没什么区别 只不过是参数有所变动:
    /**
     * 生成支付宝app支付参数
     * @param string $title
     * @param string $order_sn
     * @param float $amount
     * @return string
     */
    public function alipay_app($title, $order_sn, $amount)
    {
        require_once BASE_DATA_PATH.'/vendors/alipay/AopClient.php';
        $aop = new AopClient();
        $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
        $aop->appId = '20170901。。。';
        //$aop->rsaPrivateKey = 'MIIEpQIBAAKCAQEA0GbLnXksi81/qydbfwM+CJ0JInvHWcgElvIGtBmuDOgq+DHzlPQAGwF5GSEGFo3vMHYS9a8BM1lSP3hdnuodq42YeWjJJVX39SjDitv5jXLnkmtNCynTtPdAwjfu83Xf9kuQTEXFwMGpygSLpOIZ7OcujfJXuDPq7IXGHLfIPAxTo0KSk0BGFjGG1R+lJor8c974jI5QCWSKlvTSGjucHCbFPy6Sw0Bqnev8XGdt6z+NvqZJA7jNZFE3q6xXn84n9d3Jq6r/zu1dt1FN/9ffHeYKIl4p5IhwTh2quYoG3b1YRyNX9Ry33dKkjJNMHnA7dca84sUAkKZFrR1Kao0bwQIDAQABAoIBAQCbHNfSlp1EVSkAMCQWzkf+yztAUlbXiVt5Kh05MZ/tdWR+JVfCdzYY46jJvl20reHo9Qk5mg9Ps9zW5vTv0htRU+u3+fk0897Bt5yLnx0IXgzkWz8V3wT3Pc0SgeU1ineu7yEw1AHTbZG9jlKN38giHxP0jPsjXGkvsIX7XAMKRV6XdJ9H8bXNX4U0Wwc5TaBaAcSSWEBWZjJhAIPG/SFZW92k9ETFLAlXqLln+25/sXNX+c4pL6zkfa6olfsk17H5bVIDwApZMCwb4Sqe8OegU4wwhFuILx1iBTwvP9du6hGrbeZvmbAabI65MeBZp2nZ1OfCi4tG2DJusD1hbgadAoGBAOubK0YfHIgq+GDegkISPebXwBPGtVY0McBIrjD/yKbxIRDphxg6vQcjPT5oJFTA8B0d9KLfUhKC6+GadhmVuRjTssj/rlF1EVsjsZSgXrQIpMbdVvDsQbtfzgft9xXd3GBCc6+ZGGWWNyaZNRf6OBjx1lxcR44tkAX+Kl9fv4UzAoGBAOJwy8INLQ8GAhY5icGAoRE5bFPD/Zq/nCNC0zEi7OGUUKM8rb27z0zvSoXWTRv47j5r7EPVbYalB0srr3yb3yquL/W2mpDxwmnJZSbqzygLCoWRvjGywsvpcVqxhaDklJmLJsql9npy0+iwZJ/jgA2O5f467kBwMxdYvTVGHvM7AoGBAM+Gh+Fl+f2+y7SXiWilJL02gMtqlcNuifvyiOxEAPt7HUMGT6Z55pJo6cMUfBvjLhyXjCoCRwpjI14+bZQvmzBRGAOPon3Bfh4nHH3rnD879dfskm33zBY9Vv8JDkDGgRyQq9GaKjEg1Uc8X9XU4qCmM8h6x9RmMZv1umDzt4CdAoGAGy9nhviF/FPAVGK8AxsqOyMlujjBbZ6rZCBVsoR64+omdDKIuUqe7KGd1MuRnlYYZC4Yw1wQNiYB5ihsfQ1JkZov79PoYpZjvMeM+Usfa7NHpBmHN/g6Irj3/udpH5PRs01dbt7V5IV8o2bp7bgmW3pYalkw2VOfDqJ8tLSiapkCgYEAsKLLzFTpsW60uXWQrxAyelDxzTqoPvFpIcj1qxDnuifCn/22+dKfYw+PzSj8GnGn3p9gdB8jgsQYMekNz0jsta+rweX2ica4buAVRlL2tEYDBQ22lrhwVgUFRXcIRqctqXZ0umBEwnupiFcx73yO7nrcQ+jKuTng489VN7CseWE=';//请填写开发者私钥去头去尾去回车,一行字符串
        $aop->rsaPrivateKey = 'MIIEpQIBAAKCAQEA7hz7/VE2MgVutwjKvN0xMJoTVVmOBOBBMCkXaAXbwrXnFvPOasDkn07ia+ZU2aovCVifaI77rLRTG+Clj7rUU6+zwgsyPa8bH5SQfCnEvvLqSU1Sy2AJ1JAcSSbrCqI1Vuf9c2XkZokmr7Un2pAevNYLkjVFEoEZjyrdsLEIgXHNjrD201W48WRHYeD+LNjQrN9T5EiPDQuR5XAukDipkVzTvoGI2C37/c9X8u7mhsd0cNAsicv0U/ZZug7FXQiupPqDFnsfQezqGD8nyehYhS9s/LyhEFUsA7nt/dgvqFXLHTFhAGajnEEam7S80YLyHC39nVBpCWzAiOnkotUe0wIDAQABAoIBAQCCcQJijWDBGlTClGBsAkh2NZGtyfeRGEDd30ThSYRQMFI+MqW7uZwE4bQMJAwLib1mw1PgdaPNwqNcvD42dMToa3JwNK37OLgFHt/gBQmxCWXrbh6TJzN7bM7yDA3qr13FFCW2V/U9bpjw3K7OfvE3xZJlMCV8s5iK45K6vuDH979sV65yv0TZ6lPxUW4JZyh9hMvBejqjfIeeUJJKypvAlvNfakpK8yvrr8aHWQTnbWsRooDp34ipDtR+UVJWOxS7Qyht7JnNc/oQdusVFAh3BB7mey6zJJ/YZeWGOFJiKi1LQypUUSUZHA8W5219dB5yY3rpuVFlVBBbYvhe8XkhAoGBAPzX3RPJXLLd2/BUbZ0p8Vfg+avlGihvZP/d0DyJ1+vhYFtEv6DNxXDzA4uTb8SA7mbqFTOhQd3LdV1sbIxEwRFCxcagZ7uvw2seQBHKXZhbztdVnsI4FDkx7aYqZrTqigNnMeyZ23bxv6/S5oHTP06aDtAScIEDbbmML+Rza4oLAoGBAPEWCnGpHR8Nnr7C6aZ/3X1ph42DGJSjY7iV642aalWzniX5Dc5GwCvJWrTrfHqCanDN3hQ+fM6jmnzNJJtp5lyi0tYYSaseQ6AsUQ/HyaF+Lvw6ax04YMICzP6CU9rfImQsP0aZCBAHLggIuEtNM65qFAQ4OvDcVEvbkw43/ANZAoGBAKLW46s6pFkOSfgeZ/owaR8P5byvcIlaNNIVKWfT3xwrqsMdI82MuPxlhoL+EZ2c6+2cFMuLr8AIqS3iBobQQQe82WNzK1vVdyYl9V1/14eomS5WFkk/lMbBQS0jYcJiy0Al1iFrdczFJY83ZP137+3Pinq3ZX2xl5lIkA+xxjDBAoGBAMZ74vVYygT67asYRc0ykGPkMhmryNz29+7MXzYh31HXo2iX92nQjf5+tBMnnUAvhvqAQ0pfd9mYkGQXcQAS2/mAhByHun8LV5nTYpmfXr16aax3XCCefeq865DOM8OK2YGnfCDfdOfdQWST6Ub1tIrwArLGqKAMhco+aH/YT79hAoGAP4EZASN9/1LA6Ep0SVm+6e5zCy7FsGsc+ibdDEeYF6De2TLa3I5Q9mf+30bqz2CsoEWST0a2T9JcLsEltkkAQeuy62Q7B8JCeCvFWkSBe/zJDistI8KcMxYTHzhird9xbDL8vD60ntyjWeKIqJFAWSJblUtzUzicvZ56/p8AFr0=';
        $aop->format = 'json';
        $aop->charset = 'UTF-8';
        $aop->signType = 'RSA2';
        //$aop->alipayrsaPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAptDyV0pRbSn2A33coQOBhzNIA29hgllWsLxDuai8uDuKxQ4tDpkakqSAu7Ru4fRFrXupCXxLPYFLi9sj3E6q0TjpxvfvWDYbx1iVNAqQXTNwx06ibxSsljTKePRevaVfwFAYSxyGhw7zEbu9YBAQuPo7ER48dWPsVgvgmBu0DEM0ZmrzT5NKnrROiFAKOwruwmQPxEDmhP4fc5ql41sTD+MfPEQPOWi6oTQxys20JhHK7kCwiMaKraaDFJi8zPrBxfXaXV92N8AGzWBodsFLRTJfAscGjhncYYKuygDma7yJS0CEt0gqKz0CgIQvGT43KHdPpeNavAYz1BDs6jDnjwIDAQAB';//请填写支付宝公钥,一行字符串
        $aop->alipayrsaPublicKey   = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlyFPnRahghm70fLEzJ/q4OgEuzYVaoTYlLr2GekhOyrqbte1JMFED1quTkJ7yx+iOXx39jX9sGO+sCJ9ruKfRlJ7vItVhd7Z2a6uTcF1tHrDOwTw45TQXbgFAkPWZEzbWnvTkQ/uR9KXJg1h98WPCHwS2nvoJ53puBfureyFUjmZKdKJjhboUMKd51QeV59It6IAVM8fvxb+1QnZVM7WtdAG12sRS8dD5ZoElIJABTCFie/5pBdoBZymCNYCGP8sUpbUAxCnexetvpG5O7RPUz/Nc7EFz5O1L+qYUfv74rrIRLo7Nl+G6yLRR+LETXlxlb9VLNgKjsxXshzKyLzJCwIDAQAB';
        $request = new AlipayTradeAppPayRequest();
        $bizcontent = json_encode(array(
            'subject'=>$title,
            'out_trade_no'=>$order_sn,
            'timeout_express'=>'30m',
            'total_amount'=>sprintf('%.2f',$amount),
            'product_code'=>'QUICK_MSECURITY_PAY',
        ), JSON_UNESCAPED_UNICODE);
        $request->setNotifyUrl('http://xxx/control/alipay_notify.php');
        $request->setBizContent($bizcontent);
        $response = $aop->sdkExecute($request);

        return $response;
    }
1
还是三个类

 

1
只不过这个类有所变动而已

 

1
再者多了一个应用公钥:

电脑支付是不要这个PUBLIC key的

 

好啦 以上就是支付宝电脑网站支付和app 支付的方法  其实手机支付也是差不多的 变得就是支付类型 和支付类


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值