| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace backend\controllers;
- use backend\models\PayApi;
- use backend\models\RateApi;
- use Yii;
- use yii\helpers\VarDumper;
- use yii\httpclient\Client;
- use yii\web\Controller;
- class PayController extends Controller
- {
- public $enableCsrfValidation = false;
- /**
- * 支付异步回调
- * @return string
- */
- public function actionNotify()
- {
- $payType = intval(Yii::$app->getRequest()->get('payType'));
- if ($payType <= 0) {
- return 'invalid request';
- }
- if (Yii::$app->getRequest()->getIsPost()) {
- $data = Yii::$app->getRequest()->post();
- if (empty($data)) {
- $data = @json_decode(Yii::$app->getRequest()->getRawBody(), true);
- }
- } else {
- $data = Yii::$app->getRequest()->get();
- }
- Yii::warning('支付异步通知参数,' . VarDumper::dumpAsString($data), __METHOD__);
- $api = new PayApi();
- $result = $api->callNotify($data, $payType);
- return $result['data'];
- }
- /**
- * 支付同步回调
- * @return string|\yii\web\Response
- */
- public function actionReturn()
- {
- $payType = intval(Yii::$app->getRequest()->get('payType'));
- if ($payType <= 0) {
- return 'invalid request';
- }
- if (Yii::$app->getRequest()->getIsPost()) {
- $data = Yii::$app->getRequest()->post();
- if (empty($data)) {
- $data = @json_decode(Yii::$app->getRequest()->getRawBody(), true);
- }
- } else {
- $data = Yii::$app->getRequest()->get();
- }
- Yii::warning('支付同步通知参数,' . VarDumper::dumpAsString($data), __METHOD__);
- $api = new PayApi();
- $result = $api->callReturn($data, $payType);
- return $this->redirect(['/user/pay/succeed']);
- // if ($result['code'] == 1) {
- // return $this->redirect(['/user/pay/succeed']);
- // } else {
- // return $this->redirect(['/user/pay/failed']);
- // }
- }
- /**
- * 汇率获取
- */
- public function actionRate()
- {
- $rateApi = new RateApi();
- $res = $rateApi->getRate();
- echo json_encode($res);
- }
- }
|