php实现支付宝商户转账

目录

一:背景介绍

一:准备工作

三:代码实现


一:背景介绍

最近工作中,要用到支付宝的商家转账功能,用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);

相关推荐
DYS_房东的猫12 分钟前
《 C++ 零基础入门教程》第6章:模板与 STL 算法 —— 写一次,用万次
开发语言·c++·算法
诗意地回家19 分钟前
淘宝小游戏反编译
开发语言·前端·javascript
wangkay8826 分钟前
【Java 转运营】Day04:抖音新号起号前准备全指南
java·开发语言·新媒体运营
点云SLAM26 分钟前
C++ 静态初始化顺序问题(SIOF)和SLAM / ROS 工程实战问题
开发语言·c++·slam·静态初始化顺序问题·工程实战技术·c++static 关键字
D3bugRealm27 分钟前
MATLAB解决物理问题:从基础运动学到进阶力学的实战指南
开发语言·其他·matlab
小李独爱秋30 分钟前
计算机网络经典问题透视:TLS协议工作过程全景解析
运维·服务器·开发语言·网络协议·计算机网络·php
pen-ai1 小时前
打通 Python 与 C++ 的参数传递机制
开发语言·c++·python
亲爱的非洲野猪1 小时前
深入解析享元模式:用Java实现高性能对象复用
java·开发语言·享元模式
qq_401700411 小时前
Qt的.pro文件
开发语言·qt
FAFU_kyp1 小时前
Rust 的 引用与借用
开发语言·算法·rust