1.拿注册接口举例子
正常需要的签名明文:
back_notify_url+"|"+bank_nm+"|"+capAcntNo+"|"+certif_id+"|"+city_id+"|"+cust_nm+"|"+email+"|"+mchnt_cd+"|"+mchnt_txn_ssn+"|"+mobile_no+"|"+ page_notify_url +"|"+parent_bank_id+"|"+user_id_from+"|"+ver
如果我的bank_nm capAcntNo 没有填,还有city_id cust_nm email 没有填,直接用 | 来代替
以php来举例子,这里是使用 . 来进行拼接的,本身需要用 |来间隔,如果有2个空值,就再加2条竖线来代表空值即可
$back_notify_url."|||".$certif_id."||||".$mchnt_cd."|".$mchnt_txn_ssn."|".$mobile_no."|". $page_notify_url."|||".$ver;
2.顺便补充
这个方法是php 可以使用的加密方法,前提是你需要有加密的文件php_prkey.pem可以去找对接的人要
$signature = rsaSign($data, $private_key_path);
function rsaSign($data, $private_key_path) {
$priKey = file_get_contents($private_key_path);
$res = openssl_get_privatekey($priKey);
openssl_sign($data, $sign, $res);
openssl_free_key($res);
//base64编码
$sign = base64_encode($sign);
return $sign;
}
3.可以不用表单提交的方式来进行对接
PHP 通过HttpClient.class.php类POST HTTP请求并获取返回值
去这个网站下载http://scripts.incutio.com/amazon/ 这个类就可以
例子 http://blog.sina.com.cn/s/blog_775f158f0100ylzn.html
include_once(‘HttpClient.class.php‘);
//目标主机的地址,我这里填上测试的地址
//$Client = new HttpClient("https://jzh-test.fuiou.com/jzh/BalanceAction.action");
$url = "https://jzh-test.fuiou.com/jzh/BalanceAction.action";//请求的页面地址
//POST的参数 这里面是需要传递给富友的参数(也就是你平时表单里提交的参数)
$params = array(‘mchnt_txn_ssn‘=>$mchnt_txn_ssn,‘mchnt_cd‘=>$mchnt_cd,‘mchnt_txn_dt‘=>$mchnt_txn_dt,‘cust_no‘=>$cust_no,‘signature‘=>$signature);
$pageContents = HttpClient::quickPost($url, $params);
echo $pageContents;