| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?php
- namespace common\pay;
- use yii\base\Component;
- class BasePayHandler extends Component
- {
- public $notifyUrl;
- public $returnUrl;
- /**
- * 构造自动提交表单
- * @param array $params
- * @param string $action
- * @return string
- */
- public static function createHtml($params, $action)
- {
- $encodeType = isset ($params ['encoding']) ? $params ['encoding'] : 'UTF-8';
- $html = <<<eot
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset={$encodeType}" />
- </head>
- <body onload="javascript:document.pay_form.submit();">
- <form id="pay_form" name="pay_form" action="{$action}" method="post">
- eot;
- foreach ($params as $key => $value) {
- $html .= " <input type=\"hidden\" name=\"{$key}\" id=\"{$key}\" value=\"{$value}\" />\n";
- }
- $html .= <<<eot
- <!-- <input type="submit" type="hidden">-->
- </form>
- </body>
- </html>
- eot;
- return $html;
- }
-
-
- /**
- * POST提交表单信息
- * @param array $postData
- * @param string $url
- * @return string
- */
- public static function curlPost($postData, $url)
- {
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
- curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
- $response = curl_exec($ch);
- return $response;
- }
- /**
- * @param int $payType
- * @return aomei\PayHandler|aotu\PayHandler|balpal\PayHandler|huayin\PayHandler|huidao\PayHandler|xiaoyun\PayHandler|yef\PayHandler
- */
- public static function getPayHandlerByPayType($payType)
- {
- switch ($payType) {
- case 1:
- $handler = new \common\pay\renren\PayHandler();
- break;
- case 2:
- $handler = new \common\pay\wangtong\PayHandler();
- break;
- case 3:
- $handler = new \common\pay\sand\PayHandler();
- break;
- case 4:
- $handler = new \common\pay\shangxinshuntong\PayHandler();
- break;
- case 5:
- $handler = new \common\pay\threexmta\PayHandler();
- break;
- case 6:
- $handler = new \common\pay\xunjie\PayHandler();
- break;
- case 7:
- $handler = new \common\pay\ctype\PayHandler();
- break;
- case 8:
- $handler = new \common\pay\kexing\PayHandler();
- break;
- case 10:
- $handler = new \common\pay\otczhifu\PayHandler();
- break;
- case 11:
- $handler = new \common\pay\yinliantiaozhuan\PayHandler();
- break;
- case 12:
- $handler = new \common\pay\yinliantiaozhuan2\PayHandler();
- break;
- case 13:
- $handler = new \common\pay\yinliantiaozhuan3\PayHandler();
- break;
- case 14:
- $handler = new \common\pay\jiedeng\PayHandler();
- break;
- case 15:
- $handler = new \common\pay\eagle\PayHandler();
- break;
- case 16:
- $handler = new \common\pay\duisi\PayHandler();
- break;
- case 17:
- $handler = new \common\pay\duigong\PayHandler();
- break;
- case 18:
- $handler = new \common\pay\globalpay\PayHandler();
- break;
- case 19:
- $handler = new \common\pay\payplat\PayHandler();
- break;
- default:
- $handler = null;
- break;
- }
- return $handler;
- }
- }
|