DemoController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: leo
  5. * Date: 2018/2/24
  6. * Time: 下午12:48
  7. */
  8. namespace backendApi\modules\v1\controllers;
  9. use backendApi\modules\v1\models\Admin;
  10. use backendApi\modules\v1\models\lists\user\IndexList;
  11. use common\models\AdLocation;
  12. use common\models\FlowBonus;
  13. use common\models\User;
  14. class DemoController extends BaseController
  15. {
  16. public $modelClass = User::class;
  17. public function actions()
  18. {
  19. return parent::actions(); // TODO: Change the autogenerated stub
  20. }
  21. /**
  22. * 支付demo
  23. * @return mixed
  24. * @throws \yii\web\HttpException
  25. */
  26. public function actionPay()
  27. {
  28. $data['vpc_Currency'] = 'VND';
  29. $data['vpc_Version'] = 2;
  30. $data['vpc_Command'] = 'pay';
  31. $data['vpc_AccessCode'] = '6BEB2546';
  32. $data['vpc_Merchant'] = 'TESTONEPAY';
  33. $data['vpc_Locale'] = 'en';
  34. $data['vpc_ReturnURL'] = 'http://16.163.228.151:8040/v1/demo/payments';
  35. $data['vpc_MerchTxnRef'] = rand(10000, 99999);
  36. $data['vpc_OrderInfo'] = '123456';
  37. $data['vpc_Amount'] = '100';
  38. $data['vpc_TicketNo'] = $_SERVER ['REMOTE_ADDR'];
  39. $data['AgainLink'] = 'http://16.163.228.151:8040/v1/demo/payments'; //跳转回当前页面地址
  40. $data['Title'] = 'pay';
  41. ksort($data);
  42. $url = "https://mtf.onepay.vn/paygate/vpcpay.op?";
  43. $md5HashData = '';
  44. foreach ($data as $key => $value) {
  45. $url .= urlencode($key) . '=' . urlencode($value) . '&';
  46. if ((strlen($value) > 0) && ((substr($key, 0, 4) == "vpc_") || (substr($key, 0, 5) == "user_"))) {
  47. $md5HashData .= $key . "=" . $value . "&";
  48. }
  49. }
  50. $SECURE_SECRET = "6D0870CDE5F24F34F3915FB0045120DB";
  51. $md5HashData = rtrim($md5HashData, "&");
  52. $url .= "vpc_SecureHash=" . strtoupper(hash_hmac('SHA256', $md5HashData, pack('H*', $SECURE_SECRET)));
  53. $listObj = new IndexList();
  54. $res = $listObj->curl_get($url);
  55. print_r($res);
  56. die;
  57. }
  58. public function actionPayments(){
  59. $data = file_get_contents('php://input');
  60. file_put_contents('./test.txt',$data);
  61. //var_dump($data);
  62. echo "responsecode=1&desc=confirm-success";exit();
  63. }
  64. }