美文网首页
支付方式--支付宝支付

支付方式--支付宝支付

作者: Songzh | 来源:发表于2017-04-19 17:36 被阅读0次

    前言

    目前市场上主流的方式除了支付宝就是微信了。由于支付宝支持沙箱测试,这里我们只介绍一下沙箱的使用方法。教程比较简陋,建议参考官方文档或者和开发技术客服聊聊天。
    其实大家自行测试demo,查看源码了解的就差不多了。此文只为自己方便日后复习而作。

    配置手机网站支付步骤

    Paste_Image.png

    然后点击沙箱应用,你会看到如下画面

    沙箱应用.png 沙箱账号.png
    • 下载demo或者sdk(这里我推荐demo 比较容易上手。有兴趣的可以下载sdk自己研发)

    下面的链接是手机网站支付Demo的链接(支持php和java,这里我用的是php)
    https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.yVtNUy&treeId=203&articleId=105910&docType=1

    • 下载好后可将其放在php环境下自行测试,看一下效果。

    • 在laravel中的使用

    • 将下载好的文件解压到你想放置的文件夹,这里我将其放在app\tool\下

    Paste_Image.png

    如上图所示,有好多文件。但是我们主要用的不多,都是集成好的。
    这里我们需要新建一个视图就为alipay.blade.php吧
    源码就是demo里的index.php复制过来就行了

    • 配置文件
      appid设置为你的沙箱应用的appid
      商户私钥这个参考一下官方文档,他写的比较详细https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.NDPLhI&treeId=291&articleId=106097&docType=1
      异步通知地址保留原样就行。因为需要外网才可测试。这里我们做的是本地测试。
      同步跳转保留原样就行。因为需要外网才可测试。这里我们做的是本地测试。
      支付宝网关这个一定要记得改为沙箱的,要不然会出错
      公钥这个在你要上传私钥的旁边,点击查看复制后即可
    Paste_Image.png
    • 配置路由
    Paste_Image.png
    • 创建控制器文件
      代码如下
    <?php
    namespace App\Http\Controllers\Service;
    use App\Http\Controllers\Controller;
    use Illuminate\Http\Request;
    use Log;
    class PayController extends Controller
    {
        public function alipay(Request $request)
        {
            //在laravel中引入原生的php类
            //app_path()是laravel中的内置方法拼接路径
            require_once(app_path() . "/Tool/alipay.trade.wap.pay-PHP-UTF-8/wappay/service/AlipayTradeService.php");
            require_once(app_path() . "/Tool/alipay.trade.wap.pay-PHP-UTF-8/wappay/buildermodel/AlipayTradeWapPayContentBuilder.php");
            require_once(app_path() . "/Tool/alipay.trade.wap.pay-PHP-UTF-8/config.php");
    
            //if (!empty($_POST['WIDout_trade_no'])&& trim($_POST['WIDout_trade_no'])!="") {
                //商户订单号,商户网站订单系统中唯一订单号,必填
                $out_trade_no =$_POST['order_no'];
                Log::info('$out_trade_no:'.$out_trade_no);
    
                //订单名称,必填
                $subject = $_POST['name'];
    
                //付款金额,必填
                $total_amount = $_POST['total_price'];
    
                //商品描述,可空
                $body = '';
    
                //超时时间
                $timeout_express = "1m";
    
                $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($config);
                $result = $payResponse->wapPay($payRequestBuilder, $config['return_url'], $config['notify_url']);
    
                return ;
           // }
        }
    }
    

    注:由于这里的代码是和上一节有关联。

    相关文章

      网友评论

          本文标题:支付方式--支付宝支付

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