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 thinkLoader; 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 ; }
如果配置正确 ,则会调到调起支付宝页面
如果安装了支付宝.则会提示打开支付宝,如果没有安装支付宝.会跳转到下面页面