手Q支付(QQ钱包)

来源:互联网 发布:java超市收银管理系统 编辑:程序博客网 时间:2024/04/28 18:31
之前做过腾讯的微信支付,刚开始以为会跟微信支付一样的那,虽然说不是完全相同吧,但也是大同小异,废话不多说上代码~~

1.DEMO

这个是代码样例,我们用来做支付用的是payRequest.php文件,里面有支付得接口,而payNotifyUrl.php是回调的接口,
clientRefund.php是退款接口(一般不涉及退款不用考虑开发这个接口)

2.支付接口
$token_id="";/* 公众帐号uin */$pubAcc="";/* 公众帐号关注提示语 */$pubAccHint="";/* 商户号,上线时务必将测试商户号替换为正式商户号 */$partner = "***********";/* 密钥 */$key = "*************";

接口里会提供测试账号,因为正是账号可能因为合同的原因会很久才可以测试,,所以用测试账号即可。
/* 接收财付通通知的URL*/$notify_url = "http://127.0.0.1:8180/qpay/payNotifyUrl.jsp";这个为支付得异步通知,将URL改为自己服务器的回调地址。<pre name="code" class="php">$queryReq->setParameter("total_fee", "1");
这个是支付接口中传递钱的参数,大家小心一下单位,代码样例里面给的是分为单位,正式上线的时候记得乘以100倍。在代码样例中的JS代码没有太大用,直接删掉就可以了
$token_id = $queryRes->getParameter("token_id");

当运行程序获取到了token_id,说明你已经测试成功了,,这个还是比较简单的。

3.回调(payNotifyUrl.php)

要测试回调是否成功,只是需要两点

1.验证签名成功

isTenpaySign()是验证签名的方法,不许任何改动,当返回true则为成功

2.返回支付成功

$resHandler->getParameter("pay_result") 获取异步通知的时候传回的支付状态,当获取的值是0的时候

当这两点验证成功之后就可以获取当时获取的商户订单号$sp_billno = $resHandler->getParameter("sp_billno");这里的订单号就是支付时传的商户订单号,这里就可以进行业务的操作了,例如修改订单状态

</pre><br /><br />
2 0