手机网站支付宝支付

时间:2022-09-24 17:56:34

http://www.upwqy.com/details/103.html

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 think\Loader;
Loader::import('wapalipay.wappay.service.AlipayTradeService',EXTEND_PATH,'.php');
Loader::import('wapalipay.wappay.buildermodel.AlipayTradeWapPayContentBuilder',EXTEND_PATH,'.php');


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

手机网站支付宝支付


手机网站支付宝支付



点击确定后调用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 ;

}


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

手机网站支付宝支付


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


手机网站支付宝支付