Exemplo n.º 1
0
/**
 * 登记债权人
 * @param int $user_id  用户ID
 * @param int $deal_id  标的ID
 * @param float $pAuthAmt 投资金额
 * @param int $MerCode  商户ID
 * @param string $cert_md5 
 * @param string $post_url
 * @return string
 */
function RegisterCreditor($user_id, $deal_id, $pAuthAmt, $MerCode, $cert_md5, $post_url)
{
    $pWebUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=collocation&act=response&class_name=Ips&class_act=RegisterCreditor";
    //web方式返回
    $pS2SUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=collocation&act=notify&class_name=Ips&class_act=RegisterCreditor";
    //s2s方式返回
    $user = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $user_id);
    $deal = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where id = " . $deal_id);
    $data = array();
    $data['user_id'] = $user_id;
    $data['deal_id'] = $deal_id;
    $data['pMerCode'] = $MerCode;
    // '“平台”账号 否 由IPS颁发的商户号 ',
    $data['pMerBillNo'] = $user_id . 'L' . $deal_id . 'No' . to_date(get_gmtime(), 'YmdHis');
    //商户订单号 否 商户系统唯一不重复,
    $data['pMerDate'] = to_date(get_gmtime(), 'Ymd');
    //'商户日期 否 格式:YYYYMMDD ',
    $data['pBidNo'] = $deal_id;
    // varchar(30) default NULL COMMENT '标的号 否 字母和数字,如a~z,A~Z,0~9',
    $data['pContractNo'] = $data['pMerBillNo'];
    //$user_id.'L'.$deal_id.'No'.to_date(get_gmtime(),'YmdH:i:s');//`` varchar(30) default NULL COMMENT '合同号 否 字母和数字,如a~z,A~Z,0~9',
    $data['pRegType'] = 1;
    //'登记方式 否 1:手劢投标  2:自劢投标',
    $data['pAuthNo'] = '';
    // '授权号 是/否  字母和数字,如a~z,A~Z,0~9 登记方式为1时,为空 登记方式为2时,填写该投资人自劢投标签约时IPS向平 台接口返回的“pIpsAuthNo 授权号” (详见自劢投标签 约) ',
    $data['pAuthAmt'] = str_replace(',', '', number_format($pAuthAmt, 2));
    // '债权面额 否 金额单位元,不能为负,不允许为0 ',
    $data['pTrdAmt'] = str_replace(',', '', number_format($pAuthAmt, 2));
    //'交易金额 否 金额单位元,不能为负,不允许为0 债权面额等于交易金额 ',
    $data['pFee'] = 0;
    // '0.00' COMMENT '投资人手续费 否 金额单位元,不能为负,允许为0 ',
    $data['pAcctType'] = 1;
    // '账户类型 否 0#机构(暂未开放) ;1#个人 ',
    $data['pIdentNo'] = $user['idno'];
    // '证件号码 否 真实身份证(个人)/由IPS颁发的商户号',
    $data['pRealName'] = $user['real_name'];
    // '姓名 否 真实姓名(中文)',
    $data['pAccount'] = $user['ips_acct_no'];
    // '投资人账户 否 账户类型为1时,IPS托管账户号(个人) 账户类型为0时,由IPS颁发的商户号',
    $pUse = $GLOBALS['db']->getOne("select name from " . DB_PREFIX . "deal_loan_type where id = " . intval($deal['type_id']));
    $data['pUse'] = $pUse;
    // '借款用途',
    $GLOBALS['db']->autoExecute(DB_PREFIX . "ips_register_creditor", $data, 'INSERT');
    $id = $GLOBALS['db']->insert_id();
    $strxml = RegisterCreditorXml($data, $pWebUrl, $pS2SUrl);
    //echo $strxml;exit;
    $Crypt3Des = new Crypt3Des();
    //new 3des class
    $p3DesXmlPara = $Crypt3Des->DESEncrypt($strxml);
    //3des 加密
    $str = $MerCode . $p3DesXmlPara . $cert_md5;
    //print_r($cert_md5); exit;
    $pSign = md5($str);
    $html = '
		<form name="form1" id="form1" method="post" action="' . $post_url . 'registerCreditor.aspx" target="_self">
		<input type="hidden" name="pMerCode" value="' . $MerCode . '" />
		<input type="hidden" name="p3DesXmlPara" value="' . $p3DesXmlPara . '" />
		<input type="hidden" name="pSign" value="' . $pSign . '" />
		</form>
		<script language="javascript">document.form1.submit();</script>';
    //echo $html; exit;
    return $html;
}
/**
 * 投标
 * @param int $user_id  用户ID
 * @param int $deal_id  标的ID
 * @param float $pAuthAmt 投资金额
 * @param int $MerCode  商户ID
 * @param string $cert_md5 
 * @param string $post_url
 * @return string
 */
function RegisterCreditor($order_id, $t_user_id, $platformNo, $post_url, $sys = 'pc')
{
    $pWebUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=collocation&act=response&class_name=Yeepay&class_act=RegisterCreditor&from=" . $_REQUEST['from'];
    //web方式返回
    $pS2SUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=collocation&act=notify&class_name=Yeepay&class_act=RegisterCreditor&from=" . $_REQUEST['from'];
    //s2s方式返回
    $order = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal_order where id = " . $order_id);
    $deal_id = intval($order['deal_id']);
    $user_id = intval($order['user_id']);
    $user = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $user_id);
    $tuser = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $t_user_id);
    $user_load_transfer_fee = $GLOBALS['db']->getOne("SELECT user_load_transfer_fee FROM " . DB_PREFIX . "deal WHERE id=" . $deal_id);
    $deal = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where id=" . $deal_id);
    if (empty($user['ips_acct_no']) || empty($tuser['ips_acct_no'])) {
        return '有一方未申请 ips 帐户';
    }
    $yeepay_log = array();
    $yeepay_log['code'] = 'toCpTransaction';
    $yeepay_log['create_date'] = to_date(NOW_TIME, 'Y-m-d H:i:s');
    $GLOBALS['db']->autoExecute(DB_PREFIX . "yeepay_log", $yeepay_log);
    $requestNo = $GLOBALS['db']->insert_id();
    $data = array();
    $data['requestNo'] = $requestNo;
    //请求流水号
    $data['platformUserNo'] = $user_id;
    //
    $data['platformNo'] = $platformNo;
    // 商户编号
    $data['paymentAmount'] = $order['total_price'];
    // 记录投标金额
    //用户类型 0普通用户 1 企业用户;现在只支持 普通用户
    if (true) {
        $data['userType'] = 'MEMBER';
        //出款人用户类型
    } else {
        $data['userType'] = 'MERCHANT';
        //出款人用户类型MEMBER 个人会员 MERCHANT 商户
    }
    //TENDER 投标 REPAYMENT 还款 CREDIT_ASSIGNMENT 债权转让 TRANSFER 转账 COMMISSION 分润,仅在资金转账明细中使用
    $data['bizType'] = 'TENDER';
    //根据业务的不同,需要传入不同的值,见【业务类型】。并参考下面的详细信息
    //投标 扩展字段
    $data['tenderOrderNo'] = $order_id;
    //订单编号
    $data['tenderName'] = $deal['name'];
    //项目名称
    $data['tenderId'] = $deal['id'];
    //项目编号
    $data['tenderAmount'] = $deal['limit_price'];
    //标的金额
    $data['paymentAmount'] = $order['total_price'];
    //实际支付金额
    $data['tenderDescription'] = $deal['name'];
    //项目描述信息
    $data['borrowerPlatformUserNo'] = $deal['user_id'];
    //项目的借款人平台用户编号
    if (true) {
        $targetUserType = 'MEMBER';
        //出款人用户类型
    } else {
        $targetUserType = 'MERCHANT';
        //出款人用户类型MEMBER 个人会员  商户
    }
    if ($deal['pay_radio'] == 0) {
        $deal['pay_radio'] = 0.1;
    }
    //成交服务费
    $fee = round($order['deal_price'] * $deal['pay_radio'], 2);
    $data['fee'] = $fee;
    //分红
    $share_fee = $order['share_fee'];
    $data['share_fee'] = $share_fee;
    $data['delivery_fee'] = $order['delivery_fee'];
    //实际可到账金额
    $targetAmount = $order['total_price'] - $fee - $share_fee;
    $data['targetAmount'] = $targetAmount;
    $details = "<details><detail><targetUserType>" . $targetUserType . "</targetUserType><targetPlatformUserNo>" . intval($deal['user_id']) . "</targetPlatformUserNo><amount>" . $targetAmount . "</amount><bizType>TENDER</bizType></detail>" . "<detail><targetUserType>MERCHANT</targetUserType><targetPlatformUserNo>{$platformNo}</targetPlatformUserNo><amount>{$fee}</amount><bizType>COMMISSION</bizType></detail></details>";
    if ($share_fee > 0) {
        $details .= "<detail><targetUserType>" . $data['userType'] . "</targetUserType><targetPlatformUserNo>" . $user_id . "</targetPlatformUserNo><amount>{$share_fee}</amount><bizType>COMMISSION</bizType></detail>";
    }
    $extend = '<extend>' . '<property name="tenderOrderNo" value="' . $data['tenderOrderNo'] . '" />' . '<property name="tenderName" value="' . $data['tenderName'] . '" />' . '<property name="tenderAmount" value="' . $data['tenderAmount'] . '" />' . '<property name="tenderDescription" value="' . $data['tenderDescription'] . '" />' . '<property name="borrowerPlatformUserNo" value="' . $deal["user_id"] . '" />' . '</extend>';
    $data['details'] = $details;
    //资金明细记录
    $data['extend'] = $extend;
    //业务扩展属性,根据业务类型的不同,需要传入不同的参数
    $data['create_time'] = NOW_TIME;
    $GLOBALS['db']->autoExecute(DB_PREFIX . "yeepay_cp_transaction", $data, 'INSERT');
    $id = $GLOBALS['db']->insert_id();
    $deal_order = array();
    $deal_order['requestNo'] = $requestNo;
    //1#转账成功
    $deal_order['fee'] = $fee;
    $deal_order['targetAmount'] = $targetAmount;
    $where = " id = " . $order_id;
    $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_order", $deal_order, 'UPDATE', $where);
    $strxml = RegisterCreditorXml($data, $details, $extend, $pWebUrl, $pS2SUrl);
    $pSign = cfca($strxml);
    //		$html = '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /></head><body>
    //		<form name="form1" id="form1" method="post" action="'.$post_url.'/bha/toCpTransaction" target="_self">
    //		<input type="text" name="sign" value="'.$pSign.'" />
    //				<textarea name="req" cols="100" rows="5">'.$strxml.'</textarea>
    //						 <input type="submit" value="提交"></input>
    //		</form>
    //		</body></html>
    //		<script language="javascript">document.form1.submit();</script>';
    //echo $html; exit;
    if ($sys == 'pc') {
        $act = 'bha';
    } elseif ($sys == 'mobile') {
        $act = 'bhawireless';
    }
    $html = '<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
	<body>
		<form name="form1" id="form1" method="post" action="' . $post_url . '/' . $act . '/toCpTransaction" target="_self">
			<input type="hidden" name="sign" value="' . $pSign . '" />
			<textarea name="req" cols="100" rows="5" style="display:none">' . $strxml . '</textarea>
		 	<input type="hidden" value="提交"></input>
		</form>
		<div style="width:100%;text-align:center;padding:50px 0;"><img src="' . APP_ROOT . '/app/Tpl/' . app_conf("TEMPLATE") . '/images/loading.gif" />页面正在跳转,请稍后...</div>
	</body>
</html>
<script language="javascript">document.form1.submit();</script>';
    $yeepay_log = array();
    $yeepay_log['strxml'] = $strxml;
    $yeepay_log['html'] = $html;
    $GLOBALS['db']->autoExecute(DB_PREFIX . "yeepay_log", $yeepay_log, 'UPDATE', 'id=' . $requestNo);
    return $html;
}
Exemplo n.º 3
0
/**
 * 投标
 * @param int $user_id  用户ID
 * @param int $deal_id  标的ID
 * @param float $pAuthAmt 投资金额
 * @param int $MerCode  商户ID
 * @param string $cert_md5 
 * @param string $post_url
 * @return string
 */
function RegisterCreditor($cfg, $user_id, $deal_id, $pAuthAmt, $post_url)
{
    $merchant_id = $cfg['merchant_id'];
    $terminal_id = $cfg['terminal_id'];
    $key = $cfg['key'];
    $iv = $cfg['iv'];
    //$pWebUrl= SITE_DOMAIN.APP_ROOT."/index.php?ctl=collocation&act=response&class_name=Baofoo&class_act=RegisterCreditor&from=".$_REQUEST['from'];//web方式返回
    $pWebUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=deal&id=" . $deal_id;
    //
    $pS2SUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=collocation&act=notify&class_name=Baofoo&class_act=RegisterCreditor&from=" . $_REQUEST['from'];
    //s2s方式返回
    $user = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $user_id);
    $deal = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where id = " . $deal_id);
    $data = array();
    $data['merchant_id'] = $merchant_id;
    //商户号
    $data['terminal_id'] = $terminal_id;
    //终端号
    $data['action_type'] = 1;
    //请求类型,投标为1,满标为2,流标为3,还标为4
    $data['order_id'] = 0;
    $data['cus_id'] = $deal_id;
    $data['cus_name'] = $deal['sub_name'];
    //项目名称
    $data['brw_id'] = intval($deal['user_id']);
    //借款人
    $data['req_time'] = microtime_float();
    // get_gmtime();//请求时间 例如 1405668253874    (当前时间转换毫秒)
    $data['fee'] = 0;
    //手续费(涉及到满标、还款接口)
    $data['load_user_id'] = $user_id;
    // 记录:投标人
    $data['load_amount'] = $pAuthAmt;
    // 记录:投标金额
    $GLOBALS['db']->autoExecute(DB_PREFIX . "baofoo_business", $data, 'INSERT');
    $id = $GLOBALS['db']->insert_id();
    $data_update = array();
    $data_update['order_id'] = $id;
    $data['order_id'] = $id;
    $GLOBALS['db']->autoExecute(DB_PREFIX . "baofoo_business", $data_update, 'UPDATE', 'id=' . $id);
    //user_id:投资人; amount:投资金额
    $actions = "<actions><action><user_id>" . $user_id . "</user_id><user_name></user_name><amount>" . $pAuthAmt . "</amount></action></actions>";
    //print_r($data);exit;
    $strxml = RegisterCreditorXml($data, $actions);
    $pSign = md5($strxml . "~|~" . $key);
    //$aes=new MyAES();
    //$requestParams=$aes->encrypt($strxml,$key,$iv); //加密
    $html = '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /></head><body>
		<form name="form1" id="form1" method="post" action="' . $post_url . 'custody/businessPage.do" target="_self">		
			
				merchant_id:<input type="hidden" name="merchant_id" value="' . $merchant_id . '" /><br>
				terminal_id:<input type="hidden" name="terminal_id" value="' . $terminal_id . '" /><br>
				sign:<input type="hidden" name="sign" value="' . $pSign . '" /><br>					
				requestParams:<textarea name="requestParams" cols="100" rows="5">' . $strxml . '</textarea>	<br>
				page_url:<input type="hidden" name="page_url" value="' . $pWebUrl . '" /><br>
				service_url:<input type="hidden" name="service_url" value="' . $pS2SUrl . '" /><br>
				<input type="submit" value="提交"></input>
		</form>
		</body></html>
		';
    //<script language="javascript">document.form1.submit();</script>';
    //echo $html; exit;
    $baofoo_log = array();
    $baofoo_log['code'] = 'business_1';
    $baofoo_log['create_date'] = to_date(TIME_UTC, 'Y-m-d H:i:s');
    $baofoo_log['strxml'] = $strxml;
    $baofoo_log['html'] = $html;
    $GLOBALS['db']->autoExecute(DB_PREFIX . "baofoo_log", $baofoo_log);
    return $html;
}
Exemplo n.º 4
0
/**
 * 投标
 * @param int $user_id  用户ID
 * @param int $deal_id  标的ID
 * @param float $pAuthAmt 投资金额
 * @param int $MerCode  商户ID
 * @param string $cert_md5 
 * @param string $post_url
 * @return string
 */
function RegisterCreditor($user_id, $deal_id, $pAuthAmt, $platformNo, $post_url)
{
    $pWebUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=collocation&act=response&class_name=Yeepay&class_act=RegisterCreditor&from=" . $_REQUEST['from'];
    //web方式返回
    $pS2SUrl = SITE_DOMAIN . APP_ROOT . "/index.php?ctl=collocation&act=notify&class_name=Yeepay&class_act=RegisterCreditor&from=" . $_REQUEST['from'];
    //s2s方式返回
    $user = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $user_id);
    $deal = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where id = " . $deal_id);
    $yeepay_log = array();
    $yeepay_log['code'] = 'toCpTransaction';
    $yeepay_log['create_date'] = to_date(TIME_UTC, 'Y-m-d H:i:s');
    $GLOBALS['db']->autoExecute(DB_PREFIX . "yeepay_log", $yeepay_log);
    $requestNo = $GLOBALS['db']->insert_id();
    $data = array();
    $data['requestNo'] = $requestNo;
    //请求流水号
    $data['platformUserNo'] = $user_id;
    //
    $data['platformNo'] = $platformNo;
    // 商户编号
    $data['paymentAmount'] = $pAuthAmt;
    // 记录投标金额
    //用户类型 0普通用户 1 企业用户;现在只支持 普通用户
    if ($user['user_type'] == 0) {
        $data['userType'] = 'MEMBER';
        //出款人用户类型
    } else {
        $data['userType'] = 'MERCHANT';
        //出款人用户类型MEMBER 个人会员 MERCHANT 商户
    }
    //TENDER 投标 REPAYMENT 还款 CREDIT_ASSIGNMENT 债权转让 TRANSFER 转账 COMMISSION 分润,仅在资金转账明细中使用
    $data['bizType'] = 'TENDER';
    //根据业务的不同,需要传入不同的值,见【业务类型】。并参考下面的详细信息
    //投标 扩展字段
    $data['tenderOrderNo'] = $deal_id;
    //项目编号
    $data['tenderName'] = $deal['sub_name'];
    //项目名称
    $data['tenderAmount'] = $deal['borrow_amount'];
    //标的金额
    $data['tenderDescription'] = $deal['name'];
    //项目描述信息
    $data['borrowerPlatformUserNo'] = $deal['user_id'];
    //项目的借款人平台用户编号
    $targetUserType = intval($GLOBALS['db']->getOne("select user_type from " . DB_PREFIX . "user where id = " . intval($deal['user_id'])));
    if ($targetUserType == 0) {
        $targetUserType = 'MEMBER';
        //出款人用户类型
    } else {
        $targetUserType = 'MERCHANT';
        //出款人用户类型MEMBER 个人会员  商户
    }
    //成交服务费
    $fee = round($pAuthAmt * $deal['services_fee'] / 100, 2);
    $data["fee"] = $fee;
    //实际可到账金额
    $targetAmount = $pAuthAmt - $fee;
    $details = "<details><detail><targetUserType>" . $targetUserType . "</targetUserType><targetPlatformUserNo>" . intval($deal['user_id']) . "</targetPlatformUserNo><amount>" . $targetAmount . "</amount><bizType>TENDER</bizType></detail>" . "<detail><targetUserType>MERCHANT</targetUserType><targetPlatformUserNo>{$platformNo}</targetPlatformUserNo><amount>{$fee}</amount><bizType>COMMISSION</bizType></detail></details>";
    $extend = '<extend>' . '<property name="tenderOrderNo" value="' . $data['tenderOrderNo'] . '" />' . '<property name="tenderName" value="' . $data['tenderName'] . '" />' . '<property name="tenderAmount" value="' . $data['tenderAmount'] . '" />' . '<property name="tenderDescription" value="' . $data['tenderDescription'] . '" />' . '<property name="borrowerPlatformUserNo" value="' . $deal["user_id"] . '" />' . '</extend>';
    $data['details'] = $details;
    //资金明细记录
    $data['extend'] = $extend;
    //业务扩展属性,根据业务类型的不同,需要传入不同的参数
    $data['create_time'] = TIME_UTC;
    $GLOBALS['db']->autoExecute(DB_PREFIX . "yeepay_cp_transaction", $data, 'INSERT');
    $id = $GLOBALS['db']->insert_id();
    $strxml = RegisterCreditorXml($data, $details, $extend, $pWebUrl, $pS2SUrl);
    $pSign = "signdata";
    $html = '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /></head><body>
		<form name="form1" id="form1" method="post" action="' . $post_url . '/bha/toCpTransaction" target="_self">
		<input type="text" name="sign" value="' . $pSign . '" />
				<textarea name="req" cols="100" rows="5">' . $strxml . '</textarea>
						 <input type="submit" value="提交"></input>
		</form>
		</body></html>
		<script language="javascript">document.form1.submit();</script>';
    //echo $html; exit;
    $yeepay_log = array();
    $yeepay_log['strxml'] = $strxml;
    $yeepay_log['html'] = $html;
    $GLOBALS['db']->autoExecute(DB_PREFIX . "yeepay_log", $yeepay_log, 'UPDATE', 'id=' . $requestNo);
    return $html;
}