Esempio n. 1
0
<?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 {
    //回调签名错误
Esempio n. 2
0
 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');
     }
 }
Esempio n. 3
0
<?php
require_once(dirname(dirname(dirname(__FILE__))) . '/app.php');

import('qtenpay');

/* 创建支付应答对象 */
$resHandler = new WapNotifyResponseHandler();
$resHandler->setKey(trim($INI['qtenpay']['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  ) {
		$out_trade_no =  $bargainor_id;
		@list($_, $order_id, $city_id, $_) = explode('-', $out_trade_no, 4);
		if (Table::Fetch('pay', $out_trade_no)) die('success');
		$currency = 'CNY';
		$service = 'tenpay';
		$bank = '财付通';
		$order = Table::Fetch('order',$order_id);