public function notice() { if (empty($this->pay_config['pay_tenpay_partnerid']) || empty($this->pay_config['pay_tenpay_partnerkey'])) { return array('err_code' => 1, 'err_msg' => '财付通支付缺少配置信息!请联系管理员处理或选择其他支付方式。'); } import('source.class.pay.Tenpay.ResponseHandler'); import('source.class.pay.Tenpay.WapNotifyResponseHandler'); $resHandler = new WapNotifyResponseHandler(); $resHandler->setKey($this->pay_config['pay_tenpay_partnerkey']); if ($resHandler->isTenpaySign()) { $order_param['trade_no'] = $resHandler->getParameter('sp_billno'); $order_param['pay_type'] = 'tenpay'; $order_param['third_id'] = $resHandler->getParameter('transaction_id'); $pay_money = $resHandler->getParameter('total_fee'); $order_param['pay_money'] = $pay_money / 100; $pay_result = $resHandler->getParameter('pay_result'); if ('0' == $pay_result) { $order_param['third_data'] = array('transaction_id' => $resHandler->getParameter('transaction_id'), 'total_fee' => $resHandler->getParameter('total_fee'), 'fee_type' => $resHandler->getParameter('fee_type'), 'bargainor_id' => $resHandler->getParameter('bargainor_id'), 'bank_type' => $resHandler->getParameter('bank_type'), 'bank_billno' => $resHandler->getParameter('bank_billno'), 'purchase_alias' => $resHandler->getParameter('purchase_alias')); return array('err_code' => 0, 'order_param' => $order_param); } else { exit('fail'); } } else { exit('fail'); } }
<?php //--------------------------------------------------------- //财付通即时到帐支付后台回调示例,商户按照此文档进行开发即可 //--------------------------------------------------------- require "classes/ResponseHandler.class.php"; require "classes/WapNotifyResponseHandler.class.php"; /* 商户号 */ $partner = "1900000109"; /* 密钥 */ $key = "8934e7d15453e97507ef794cf7b0519d"; /* 创建支付应答对象 */ $resHandler = new WapNotifyResponseHandler(); $resHandler->setKey($key); //判断签名 if ($resHandler->isTenpaySign()) { //商户订单号 $bargainor_id = $resHandler->getParameter("bargainor_id"); //财付通交易单号 $transaction_id = $resHandler->getParameter("transaction_id"); //金额,以分为单位 $total_fee = $resHandler->getParameter("total_fee"); //支付结果 $pay_result = $resHandler->getParameter("pay_result"); if ("0" == $pay_result) { echo 'success'; } else { echo 'fail'; } } else { //回调签名错误