From 73bda005fc23ca6bf3a77b5bcd27e488061ed7a1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 20 Aug 2019 15:26:48 +0800 Subject: [PATCH] 1 --- webapp/controller/PayController.class.php | 78 ++++++++++++++++++++++- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/webapp/controller/PayController.class.php b/webapp/controller/PayController.class.php index 9ea250f..5a8ba1c 100644 --- a/webapp/controller/PayController.class.php +++ b/webapp/controller/PayController.class.php @@ -2,10 +2,10 @@ class PayController { - const SCAN_PAY_API_URL = 'https://gwapi.yemadai.com/pay/scanpay'; + const SCAN_PAY_API_URL = 'https://gwapi.yemadai.com/pay/aggregatePay'; +# const SCAN_PAY_API_URL = 'https://gwapi.yemadai.com/pay/scanpay'; const PRI_KEY = 'MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALaDZP3ysvKxkBLWlW/aAT/YM5/34uQcj2gQVV4q9Vkoscw3MSlmRcr4hckwenGUw0tK2LC4vEume8JBCm0ZsWiGoOwcAJp16Zzr+35hUXYVfgXoYiAG5o8N0nBIYCWO1Tk/e+wJsmkY9eHpA3Iq94EAkogttd6bqk+X4nTUIxfJAgMBAAECgYB3pECC3CMERvOr9bC2RtGE2aRV2/iHElXLoNFlToHQ9YU/2npGqj1cJXgF/9p0NFGlPKY5ipAcg0EjgOFlzW7me9C/wC7x704+WMsqZu7POvOXTlFDRVHYpd6iQqLubjToSMPeIEreSBQYjU8giiVxEZ+7mcFpBShFcXSTJWInBQJBANw5/euICWKnqtmN/PXzdKVC+Y4A2TsYgxWCQaCrjO7YytqCCoaZSJn0+rnTchI0VB2YP0nBxlz+8Jp7DkPjpMsCQQDUKR2Olmh7VB9OQ49KhsgGoNMZvZB69borAPtY8I3eSkyS3t6xTa5S9AEXV4hW1553/KewBAYvnAwS0Gkevbc7AkAzlaXjoLbKFAoR8Y9aMQ+WkkyQNaSskf5KcHtc3jIh1EgXzLQYeRknbtm3405p8zXsxLe2WBxVtiW3mbFqt4znAkEAoeLJmd5s1QYoaRimAtD7WgtnaPG7iAduSZgTMhdDuUVqTnte412J0eQ73Oq+rr0SPy37ahR3/+YLVGPQglNytwJAAcbSZ0EhcRaJUMcrrs2HQoMmQ53Gs5qJsVE5VWUh25Ryqjjo6y7kVYVVaYU1xhguMs7309Y4F4VFiPLZeLIpcw=='; const PUB_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVd+f/YkGDi8s9AKhZvmHCxZ2+sPKIsr+JVS2Uj4pP6qApuNq5lEwtF4c6LzHJbUUxKge/OttiR7pR481tqW3PgeSYjyU6rayx0rSEo8/xqVHnh4XugbJREUVyq/Evp79f0BePO69zC0AdYZSjXOAVG8uduRzHl4RWb7BiDLBL3QIDAQAB'; - // const PRI_KEY = 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJyCbZ+14jK2NwJ6v1mE4ZR8H+sOyUs33LzNys8mJj8+1zDxTIlv0tr0JnR/m8swKw9Jes7QsQw05edmtndeQ9bLbJeXSzqpuI3Dw35etBRD7Ec93NBtX49ezf51qmqxTRRwYcMUsIhXqliuK/2G1B75EbfgGfprA1MVNQv6YX8bAgMBAAECgYAF0xjPU86KQpvDfNv4MejPRNtPPSqioP6XDDWbBflwax9JFAHcL4wyV9nChik/I5jGpd5rKfsc0C8qMHlj8d8mZV9hgh8YeUFsfH8i02SbnR8l4MvutxnDaq2PDatTPnK6Qd7PPvKqwOnfT3BHhL415yJ0ia8+uzwVONYCYcvvqQJBAMpNEa+dx/d1xY50M9n6ds4uxKEBJN+DoMqtBRUu2tdvqgITgY7es8LW2Kn+5GTCIiSdWbvmL2GSIlwqfMz92a8CQQDGDbEzgECX0kp5J3odgLm5C5nrfmk3HG2+vt0eUUWP+a5iBKqCXXW9lx+8AYs5MKxkvQkA2m13Wxm+r1ND0UhVAkEAo4MVd3e1R/umGVUtD9OUsWQ1w9jz38E5dnfQcuWzNoxnwlPX1Q2GCEa1Svndyt7qz+NqwyfzRg7ivNIOm3XWuwJAHAILsTDN8ap3hbKjflCZ8yVE2xzBXF3U10i+lG8B215/3rSyOEVnRSx9/GRrf+b2OjjRcSFyoZJsjZ7Vs52BEQJBAILJlhPhaSQ2QG+gxkdqUmcTtU28ImI2MGzJmNAkfSzSOoogO5SCw8/6qxRZqyuTxZWUm0dEs7YEln3LT7PObuM='; const MER_NO = '49118'; protected function getMysql($accountid) @@ -65,6 +65,80 @@ class PayController { } public function scanPay() + { + /* + if (!phpcommon\isValidSessionId( + $_REQUET['account_id'], + $_REQUET['session_id'] + )) { + echo json_encode(array( + 'errcode' => 100, + 'errmsg' => 'session无效', + )); + die(); + } + */ + $orderid = $this->getOrderId(); + if (empty($orderid)) { + die(); + } + $nowtime = time(); + $advice_url = ''; + if (SERVER_ENV != _ONLINE) { + $advice_url = "https://gamepay-test.kingsome.cn/webapp/index.php?c=PayNotify&a=payNotify"; + } else { + $advice_url = "https://gamepay.kingsome.cn/webapp/index.php?c=PayNotify&a=payNotify"; + } + // $advice_url = 'https://gamepay.kingsome.cn/webapp/index.php'; + $params = array( + 'MerchantNo' => self::MER_NO, + 'MerchantOrderNo' => $orderid, + 'PayType' => 'WxJsapi_OffLine', + 'Amount' => '0.1', + 'Subject' => '收银台', + 'Desc' => '互联网支付', + 'CompanyNo' => '', + 'RandomStr' => $orderid, + 'SignInfo' => '', + 'AdviceUrl' => htmlentities($advice_url), + 'SubAppid' => '', + 'UserId' => '' + ); + $params['SignInfo'] = $this->_reaEncode( + 'AdviceUrl=' . $advice_url . '&' . + 'Amount=' . $params['Amount'] . '&' . + 'MerchantNo=' . $params['MerchantNo'] . '&' . + 'MerchantOrderNo=' . $params['MerchantOrderNo'] . '&' . + 'PayType=' . $params['PayType'] . '&' . + 'RandomStr=' . $params['RandomStr'] . + '' + ); + echo $params['SignInfo']; + $xml_txt = phpcommon\objectToXml($params, ''); + $xml_txt = str_replace('', '', $xml_txt); + echo $xml_txt; + $requestDomain = base64_encode($xml_txt); + $response = ''; + if (phpcommon\HttpClient::post(self::SCAN_PAY_API_URL, + 'requestDomain='. urlencode($requestDomain), + $response) + ) { + /* echo json_encode(array( + 'errcode' => 101, + 'errmsg' => '交易失败:' . $response, + )); + die();*/ + } + var_dump($response); + $xmlobj = new \SimpleXMLElement($response); + var_dump($xmlobj->respCode); + if ($xmlobj->respCode == '0000') { + $conn = $this->getMysql($_REQUEST['account_id']); + $ret = $conn->execScript(); + } + } + + public function scanPay1() { /* if (!phpcommon\isValidSessionId(