支付方式整合 php,如何用thinkphp3.2.3整合支付宝APP支付功能

如何用thinkphp3.2.3框架整合支付宝App支付功能。

由于安卓和ios端不够保密,所以服务端不仅仅是生成签名这么简单,而是需要将所有请求的参数直接转成字符串。客户端直接请求即可。

在开发之前请看官方文档和下载对应的sdk。官方文档:

https://doc.open.alipay.com/docs/doc.htm?treeId=204&articleId=105051&docType=1

生成密钥

https://docs.open.alipay.com/291/105971/

sdk下载:

https://doc.open.alipay.com/docs/doc.htm?treeId=54&articleId=103419&docType=1

下面,在整合支付宝App支付功能是遇到的问题。

1、alipay/lotusphp_runtime/shortcut.php 报错。

解决:由于C函数与TP的C函数重复,所以将C函数变更为CC。

具体实现的代码:

2、编写实现的代码,我这里将下载的sdk放到ThinkPHP/Library/Vendor/目录下,起别名为appalipay。vendor('appalipay.AopSdk');// 加载类库

$config = array(

'appid' =>'',//商户密钥

'rsaPrivateKey' =>'',//私钥

'alipayrsaPublicKey'=>'',//公钥

'charset'=>strtolower('utf-8'),//编码

'notify_url' =>'',//回调地址(支付宝支付成功后回调修改订单状态的地址)

'payment_type' =>1,//(固定值)

'seller_id' =>'',//收款商家账号

'charset'    => 'utf-8',//编码

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

'timestamp' =>date("Y-m-d H:i:s"),

'version'   =>"1.0",//固定值

'url'       => 'https://openapi.alipay.com/gateway.do',//固定值

'method'    => 'alipay.trade.app.pay',//固定值

);

//构造业务请求参数的集合(订单信息)

$content = array();

$content['body'] = $body;

$content['subject'] = $title;//商品的标题/交易标题/订单标题/订单关键字等

$content['out_trade_no'] = $order;//商户网站唯一订单号

$content['timeout_express'] = '1d';//该笔订单允许的最晚付款时间

$content['total_amount'] = floatval($price);//订单总金额(必须定义成浮点型)

$content['seller_id'] = '';//收款人账号

$content['product_code'] = 'QUICK_MSECURITY_PAY';//销售产品码,商家和支付宝签约的产品码,为固定值QUICK_MSECURITY_PAY

$content['store_id'] = '001';//商户门店编号

$con = json_encode($content);//$content是biz_content的值,将之转化成字符串

//公共参数

$param = array();

$Client = new \AopClient();//实例化支付宝sdk里面的AopClient类,下单时需要的操作,都在这个类里面

$param['app_id'] = $config['appid'];//支付宝分配给开发者的应用ID

$param['method'] = $config['method'];//接口名称

$param['charset'] = $config['charset'];//请求使用的编码格式

$param['sign_type'] = $config['sign_type'];//商户生成签名字符串所使用的签名算法类型

$param['timestamp'] = $config['timestamp'];//发送请求的时间

$param['version'] = $config['version'];//调用的接口版本,固定为:1.0

$param['notify_url'] = $config['notify_url'];//支付宝服务器主动通知地址

$param['biz_content'] = $con;//业务请求参数的集合,长度不限,json格式

//生成签名

$paramStr = $Client->getSignContent($param);

$sign = $Client->alonersaSign($paramStr,$config['rsaPrivateKey'],'RSA2');

$param['sign'] = $sign;

$str = $Client->getSignContentUrlencode($param);

return array('url'=>$str);

以上可以实现thinkphp3.2.3框架整合支付宝App支付功能的开发,代码中具体的参数根据实际修改下即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值