支付宝支付提交订单的时候,怎么提示Undefined index: request_token
@
2018-02-07 15:33:52
[PHP讨论组]

 require_once(app_path() . "/Tool/Alipay/alipay.config.php");

    require_once(app_path() . "/Tool/Alipay/lib/alipay_submit.class.php");


    //返回格式

    $format = "xml";

    //必填,不需要修改


    //返回格式

    $v = "2.0";

    //必填,不需要修改


    //请求号

    $req_id = date('Ymdhis');

    //必填,须保证每次请求都是唯一


    //**req_data详细信息**


    //服务器异步通知页面路径

    $notify_url = "http://" . $_SERVER['HTTP_HOST'] . '/service/pay/ali_notify';

    //需http://格式的完整路径,不允许加?id=123这类自定义参数


    //页面跳转同步通知页面路径

    $call_back_url = "http://" . $_SERVER['HTTP_HOST'] . '/service/pay/ali_result';

    //需http://格式的完整路径,不允许加?id=123这类自定义参数

    //http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/call_back_url.php


    //操作中断返回地址

    $merchant_url = "http://" . $_SERVER['HTTP_HOST'] . '/service/pay/ali_merchant';

    //用户付款中途退出返回商户的地址。需http://格式的完整路径,不允许加?id=123这类自定义参数


    //卖家支付宝帐户

    $seller_email = 'ajjnae2770@sandbox.com';

    //必填


    //商户订单号

    $out_trade_no = $_POST['order_no'];

    //商户网站订单系统中唯一订单号,必填

    Log::info('out_trade_no:' . $out_trade_no);


    //订单名称

    $subject = $_POST['name'];

    //必填


    //付款金额

    $total_fee = $_POST['total_price'];

    //必填

   

    //请求业务参数详细

    $req_data = '<direct_trade_create_req><notify_url>' . $notify_url . '</notify_url><call_back_url>' . $call_back_url . '</call_back_url><seller_account_name>' . $seller_email . '</seller_account_name><out_trade_no>' . $out_trade_no . '</out_trade_no><subject>' . $subject . '</subject><total_fee>' . $total_fee . '</total_fee><merchant_url>' . $merchant_url . '</merchant_url></direct_trade_create_req>';

    //必填


    /************************************************************/


    //构造要请求的参数数组,无需改动

    $para_token = array(

    "service" => "alipay.wap.trade.create.direct",

    "partner" => trim($alipay_config['partner']),

    "sec_id" => trim($alipay_config['sign_type']),

    "format" => $format,

    "v" => $v,

    "req_id" => $req_id,

    "req_data" => $req_data,

    "_input_charset" => trim(strtolower($alipay_config['input_charset']))

    );

    

    //建立请求

    $alipaySubmit = new \AlipaySubmit($alipay_config);


    //报错点

    $html_text = $alipaySubmit->buildRequestHttp($para_token);

    

    //URLDECODE返回的信息

    $html_text = urldecode($html_text);


    //解析远程模拟提交后返回的信息

    $para_html_text = $alipaySubmit->parseResponse($html_text);

    

    //获取request_token

    $request_token = $para_html_text['request_token'];



    /**************************根据授权码token调用交易接口alipay.wap.auth.authAndExecute**************************/


    //业务详细

    $req_data = '<auth_and_execute_req><request_token>' . $request_token . '</request_token></auth_and_execute_req>';

    //必填


    //构造要请求的参数数组,无需改动

    $parameter = array(

    "service" => "alipay.wap.auth.authAndExecute",

    "partner" => trim($alipay_config['partner']),

    "sec_id" => trim($alipay_config['sign_type']),

    "format" => $format,

    "v" => $v,

    "req_id" => $req_id,

    "req_data" => $req_data,

    "_input_charset" => trim(strtolower($alipay_config['input_charset']))

    );


    //建立请求

    $alipaySubmit = new \AlipaySubmit($alipay_config);

    $html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '确认');


    return $html_text;

  }


@

全部回复(1)
韦小宝

未获取到 request_token,你是不是没有申请支付授权啊


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号