123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- namespace app\api\controller;
- use AdaPay\AdaTools;
- use app\models\article\ArticleContent;
- use app\models\store\StoreOrder;
- use app\models\user\UserRecharge;
- use app\Request;
- use crmeb\services\UtilService;
- include_once dirname(__FILE__). "/AdapayCore/utils/AdaTools.php";
- /**
- *
- * Class DouYiCantroller
- * @package app\api\controller
- */
- class AdaPayController
- {
- public $rsaPublicKeyFilePath = "";
- public $rsaPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwN6xgd6Ad8v2hIIsQVnbt8a3JituR8o4Tc3B5WlcFR55bz4OMqrG/356Ur3cPbc2Fe8ArNd/0gZbC9q56Eb16JTkVNA/fye4SXznWxdyBPR7+guuJZHc/VW2fKH2lfZ2P3Tt0QkKZZoawYOGSMdIvO+WqK44updyax0ikK6JlNQIDAQAB";
- public function notify(Request $request)
- {
- $post = $request->post();
- $data = json_decode($post['data']);
- $sing = $post['sign'];
- $res = $this->verifySign($sing, $post['data']);
- if($res){
- $order = strstr($data->order_no, '-', -1);
- $res = StoreOrder::paySuccess($order, $data->pay_channel);
- if ($res){
- echo '200';
- exit();
- }
- }else {
- echo 'error';
- exit();
- }
- }
- public function cz_notify(Request $request)
- {
- $post = $request->post();
- $data = json_decode($post['data']);
- $sing = $post['sign'];
- $res = $this->verifySign($sing, $post['data']);
- if($res){
- $order = strstr($data->order_no, '-', -1);
- $res = UserRecharge::rechargeSuccess($order);
- if ($res){
- echo '200';
- exit();
- }
- }else {
- echo 'error';
- exit();
- }
- }
- public function checkEmpty($value) {
- if (!isset($value))
- return true;
- if ($value === null)
- return true;
- if (trim($value) === "")
- return true;
- return false;
- }
- public function verifySign($signature, $data){
- if($this->checkEmpty($this->rsaPublicKeyFilePath)){
- $pubKey=$this->rsaPublicKey;
- $key = "-----BEGIN PUBLIC KEY-----\n".wordwrap($pubKey, 64, "\n", true)."\n-----END PUBLIC KEY-----";
- }else {
- $pubKey = file_get_contents($this->rsaPublicKeyFilePath);
- $key = openssl_get_publickey($pubKey);
- }
- if (openssl_verify($data, base64_decode($signature), $key)){
- return true;
- }else{
- return false;
- }
- }
- }
|