支付方式--支付宝支付

2017-04-19  本文已影响0人  Songzh

前言

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

配置手机网站支付步骤

Paste_Image.png

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

沙箱应用.png 沙箱账号.png

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

Paste_Image.png

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

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 ;
       // }
    }
}

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

上一篇下一篇

猜你喜欢

热点阅读