| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- function WechatReturnSuccess()
- {
- echo '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
- exit();
- }
- define('IN_MYMPS', true);
- define('IN_ADMIN', true);
- define('CURSCRIPT', 'notify');
- require_once dirname(__FILE__) . '/../../../include/global.php';
- require_once MYMPS_DATA . '/config.php';
- require_once MYMPS_DATA . '/config.db.php';
- require_once MYMPS_INC . '/db.class.php';
- include MYMPS_INC . '/pay.fun.php';
- $paytype = 'wxnative';
- $payr = $db->getRow('SELECT * FROM ' . $db_mymps . 'payapi WHERE paytype=\'' . $paytype . '\'');
- $bargainor_id = $payr['payuser'];
- $paykey = $payr['paykey'];
- $seller_email = $payr['payemail'];
- $data = file_get_contents('php://input');
- libxml_disable_entity_loader(true);
- $xml_parser = xml_parser_create();
- if (!xml_parse($xml_parser, $data, true)) {
- exit();
- }
- xml_parser_free($xml_parser);
- $xml = simplexml_load_string($data);
- $param = array();
- foreach ($xml as $key => $val) {
- if ($key != 'sign') {
- $param[$key] = $val;
- }
- }
- ksort($param);
- $strArr = array();
- foreach ($param as $key => $val) {
- array_push($strArr, $key . '=' . $val);
- }
- $string = implode('&', $strArr);
- $sign = $string . '&key=' . $payr['paykey'];
- $sign = strtoupper(md5($sign));
- if ($sign == $xml->sign) {
- $out_trade_no = $xml->out_trade_no;
- $transaction_id = $xml->transaction_id;
- $total_fee = intval($xml->total_fee) / 100;
- $paybz = '支付成功';
- $paybz = $charset == 'gbk' ? iconv('utf-8', 'gbk', $paybz) : $paybz;
- UpdatePayRecord($out_trade_no, $paybz);
- WechatReturnSuccess();
- }
- ?>
|