php实现支付宝商户转账

发布时间:2024年01月08日

目录

一:背景介绍

一:准备工作

三:代码实现


一:背景介绍

最近工作中,要用到支付宝的商家转账功能,用php代码实现,网上找的内容,有些是老版本的实现,有些是调用sdk,而且功能还不完善。最后自己实现了官方最新的转账功能,特此记录下。

一:准备工作

1:在开放平台签约申请商户,得到商户id和app_id;

2:申请证书和秘钥

这里的证书有CSR私钥,应用公钥证书和支付宝公钥证书,根证书

,应用公钥证和根证书用于转账接口,CSR私钥用于签名,支付宝公钥证书用于转账接口返回值接口验签,东西还是比较多的。
?

三:代码实现

? ? ? ? $parameter = [
? ? ? ? ? ? 'app_id' ? ? ? ? ? ? ? ?=> $this->config['appid'],
? ? ? ? ? ? 'method' ? ? ? ? ? ? ? ?=> 'alipay.fund.trans.uni.transfer',
? ? ? ? ? ? 'format' ? ? ? ? ? ? ? ?=> 'JSON',
? ? ? ? ? ? 'charset' ? ? ? ? ? ? ? => 'utf-8',
? ? ? ? ? ? 'sign_type' ? ? ? ? ? ? => 'RSA2',
? ? ? ? ? ? 'timestamp' ? ? ? ? ? ? => date('Y-m-d H:i:s'),
? ? ? ? ? ? 'version' ? ? ? ? ? ? ? => '1.0',
? ? ? ? ? ? 'alipay_root_cert_sn' ? => $this->getRootCertSn($certPath.'alipayRoot.crt'),
? ? ? ? ? ? 'app_cert_sn' ? ? ? ? ? => $this->getCertSn($certPath.'appPublicKey_'.$this->config['appid'].'.crt'),
? ? ? ? ];

//业务参数构造
? ? ? ? $biz_content = [
? ? ? ? ? ? 'out_biz_no' ? ? ? ? ? ?=> $params['order_no'],
? ? ? ? ? ? 'trans_amount' ? ? ? ? ?=> (string) $params['trans_amount'],
? ? ? ? ? ? 'biz_scene' ? ? ? ? ? ? => 'DIRECT_TRANSFER',
? ? ? ? ? ? 'product_code' ? ? ? ? ?=> 'TRANS_ACCOUNT_NO_PWD',

? ? ? ? ? ? 'order_title' ? ? ? ? ? => $trans_remark,
? ? ? ? ? ? 'payee_info' ? ? ? ? ? ?=> [
? ? ? ? ? ? ? ? 'identity' ? ? ? ? ?=> $params['client_id'],
? ? ? ? ? ? ? ? 'identity_type' ? ? => 'ALIPAY_LOGON_ID',
? ? ? ? ? ? ? ? 'name' ? ? ? ? ? ? ?=> $params['client_name'],
? ? ? ? ? ? ]
? ? ? ? ];
? ? ? ? $parameter['biz_content'] = json_encode($biz_content, JSON_UNESCAPED_UNICODE);
? ? ? ? // 生成签名参数+签名
? ? ? ? $parameter['sign'] = $this->MyRsaSign($this->GetSignContent($parameter));
? ? ? ? // 执行请求
? ? ? ? $result = $this->HttpRequest('https://openapi.alipay.com/gateway.do', $parameter);

文章来源:https://blog.csdn.net/qinshi501/article/details/135466525
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。