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