Smpay接口格式详解与转换
格式详解
请求参数一共有八个,但是加密参数只有四个,而且不是易支付{key}={value}排序后加密,而是所有加密参数按顺序首尾相接拼接成一个字符串后再进行加密。
function sign($data_arr) { return md5(join('',$data_arr)); }; //签名函数 $sign = sign(array($merchantNum, $orderNo, $amount, $notifyUrl, $key)); //构造签名
2. 传递参数时开发文档给的是用form提交,而且返回的是json格式信息,非常不方便。那可以用ajax提交吗?经测试不行,有防跨域,只能服务器端用curl提交参数,并解析payurl。
<!--自动提交表单--> <script>document.getElementById("post_data").submit();</script>
3. 异步通知 加密方式与传递时加密方式相同,如果验证成功要返回 success
4. 接口转换 已发出具体程序,你也可以参照 Zfaka-smpay 对接程序里的 notifyUrl.php 和 submit.php,这是 smpay 接口转换为易支付接口格式。一般情况下可以省略服务器异步通知发送的部分参数,如真实付款金额 付款时间。
5. 同步通知返回的地址默认是不带参数的,这就有点奇怪,于是怎么加上参数呢?我们可以在请求的时候自己带上参数,但是经测试只能带一个参数,多余的会被吞掉,所以我就搞出了这样的形式?cs = 订单号 / 金额 / 签名值。。。
$cs = $_GET['cs']; if ($cs != ""){ $arr1 = explode("/", $cs); function resignt($data_arr) { return md5(join('',$data_arr)); }; $resign = resignt(array("10001", $arr1[0], $arr1[1], $notifyUrl, $key));