富友支付 统单接口 自创php版本demo
看了文档才发现demo只有java版本的 那可不妙啊 还好在我的坚持与努力下 终于参透了这文档.
就这个文档 富友开放接口文档 有一说一这个验签的方式还是很简介的直接md5验签 害我找了半天的DES加密解密。。结果回过头来发现都是徒劳 代码如下自创php版本demo
我是用的测试地址 然后文档的测试账号 测试秘钥
-
/**
-
* 富友支付测试
-
* @autor gao
-
* @Date 2022/6/23 10:33
-
* @return bool|int|string
-
*/
-
public function rich_company_orders(){
-
$data=array();
-
$data['mchnt_cd']="0002900F1503036";//商户号, 富友分配给二级商户的商户号
-
$data['order_type'] = "WECHAT";
-
$data['order_amt']=100;//金额单位 fen
-
$data['mchnt_order_no']= "1066".time();//内部订单号
-
$data['txn_begin_ts']=date('YmdHis',time());//订单生成时间
-
$data['goods_des']="描述";//商品描述
-
$data['term_id']="88888888";//终端号
-
$data['term_ip']="127.0.0.1";
-
$data['notify_url']="wx.test.com";//回调URL
-
$data['random_str']= $this->random_keys(32);//随机字符串
-
$data['version']="1.0";
-
//商户号
-
$mchnt_cd = $data['mchnt_cd'];
-
//支付类型
-
$order_type = $data['order_type'];
-
//订单总金额
-
$order_amt = $data['order_amt'];
-
//订单号
-
$mchnt_order_no = $data['mchnt_order_no'];
-
//订单开始时间
-
$txn_begin_ts = $data['txn_begin_ts'];
-
//商品描述
-
$goods_des = $data['goods_des'];
-
//终端号
-
$term_id = $data['term_id'];
-
//终端ip
-
$term_ip = $data['term_ip']="127.0.0.1";
-
//回调地址
-
$notify_url = $data['notify_url'];
-
//随机字符串
-
$random_str = $data['random_str'];
-
//版本号
-
$version = $data['version'];
-
//商户秘钥
-
$mchnt_key = 'f00dac5077ea11e754e14c9541bc0170';
-
$data['sign'] = md5($mchnt_cd."|".$order_type."|".$order_amt."|".$mchnt_order_no."|".$txn_begin_ts."|".$goods_des."|".$term_id."|".$term_ip."|".$notify_url."|".$random_str."|".$version."|".$mchnt_key);
-
$data = json_encode($data);
-
$url = "https://aipaytest.fuioupay.com/aggregatePay/preCreate";
-
$header = array (
-
"Content-Type: application/json",
-
);
-
$res = $this->SendDataByCurl($url,$data,$header);
-
return $res;
-
}
-
//通过curl模拟post的请求;
-
public function SendDataByCurl($url,$data,$header){
-
//对空格进行转义
-
$url = str_replace(' ',' ',$url);
-
$ch = curl_init();
-
//设置选项,包括URL
-
curl_setopt($ch, CURLOPT_URL, "$url");
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-
curl_setopt($ch, CURLOPT_HEADER, 0);
-
curl_setopt($ch,CURLOPT_TIMEOUT,3); //定义超时3秒钟
-
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //设置头信息的地方
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-
// POST数据
-
curl_setopt($ch, CURLOPT_POST, 1);
-
// 把post的变量加上
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //所需传的数组用http_bulid_query()函数处理一下,就ok了
-
//执行并获取url地址的内容
-
$output = curl_exec($ch);
-
$errorCode = curl_errno($ch);
-
//释放curl句柄
-
curl_close($ch);
-
if(0 !== $errorCode) {
-
return $errorCode;
-
}
-
return $output;
-
}
-
/**
-
* 生成随机数
-
* @param int $length
-
* @return string
-
*/
-
public function random_keys($length)
-
{
-
$pattern = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';
-
$key = '';
-
for ($i = 0; $i < $length; $i ) {
-
$key .= $pattern[mt_rand(0, 35)]; //生成php随机数
-
}
-
return $key;
-
}
如果想要正式支付地址文档也有正式的地址把地址一换 账号一换 秘钥一换就能用了
如果可以点个关注可以吧!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfckjh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01