手机网站支付宝支付

1 支付宝开放平台

 支付宝手机网站支付 具体的请求参数和返回参数等相关数据   https://docs.open.alipay.com/203/107090/

2 支付demo

下载手机网站支付相关的demo 这里的demo和APP支付提供的demo 多了一些数据.需要重新下载

https://docs.open.alipay.com/203/105910/

3 整合支付到TP5框架

首先把下载的demo放到extend目录下

新建一个Test控制器,

加载手机网站支付核心文件

use thinkLoader;
Loader::import('wapalipay.wappay.service.AlipayTradeService',EXTEND_PATH,'.php');
Loader::import('wapalipay.wappay.buildermodel.AlipayTradeWapPayContentBuilder',EXTEND_PATH,'.php');

新建一个表单页面模拟post请求,

151753366022225.png

1517533682844862.png

点击确定后调用Test/pay方法  

public function pay(){
   $config = array (
       //应用ID,您的APPID。
       'app_id' => "your app_id",
       //商户私钥,您的原始格式RSA私钥
       'merchant_private_key' => "",

       //异步通知地址
       'notify_url' => "",

       //同步跳转
       'return_url' => "",

       //编码格式
       'charset' => "UTF-8",

       //签名方式
       'sign_type'=>"RSA2",

       //支付宝网关
       'gatewayUrl' => "https://openapi.alipay.com/gateway.do",

       //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
       'alipay_public_key' => "",


   );

   $price = $this->request->post('price');
   //商户订单号,商户网站订单系统中唯一订单号,必填
   $out_trade_no = generateOrderId(1);

   //订单名称,必填
   $subject = '测试';

   //付款金额,必填
   $total_amount = $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 ;

}

如果配置正确 ,则会调到调起支付宝页面

如果安装了支付宝.则会提示打开支付宝,如果没有安装支付宝.会跳转到下面页面

1517533822319026.png

原文地址:https://www.cnblogs.com/qxandxt/p/10553457.html