zz před 6 roky
rodič
revize
ffd5b9e92a

+ 9 - 3
app/Http/Controllers/Wap/Pay/OrdersController.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers\Wap\Pay;
 
+use App\Modules\Book\Services\ChapterService;
 use App\Modules\Subscribe\Services\SubstituteOrderService;
 use App\Modules\User\Services\ReadRecordService;
 use Illuminate\Routing\Controller;
@@ -523,9 +524,14 @@ class OrdersController extends Controller
             $url = str_replace_last('?','&',$url);
         }
         $url_info = parse_url($url);
-        if(isset($url_info['query']) && !empty($url_info['query']) ){
-            parse_str($url_info['query'],$path);
-            if(isset($path['success']) && $path['success'] == 0){
+        if (isset($url_info['query']) && !empty($url_info['query'])) {
+            parse_str($url_info['query'], $path);
+            if (isset($path['success']) && $path['success'] == 0) {
+                if (isset($url_info['path']) && str_contains($url_info['path'], 'reader') && isset($path['cid']) && !empty($path['cid'])) {
+                    $chapter_info = ChapterService::getChapterNameByIdNoCheck($path['cid']);
+                    $path['cid'] = $chapter_info->prev_cid;
+                    $url = sprintf('%s://%s/reader?%s', $url_info['scheme'], $url_info['host'], http_build_query($path));
+                }
                 return redirect($url);
             }
         }

+ 1 - 0
app/Libs/Pay/Merchants/PalmpayV2.php

@@ -32,6 +32,7 @@ class PalmpayV2
             'money'=>$data['price'],
             'outTradeNo'=>$data['trade_no'],
             'notifyUrl'=>env('PALMPAY_NOFITY_URL'),
+            'callbackUrl' => urlencode($data['pay_wait_url'])
         ];
         $data['sign'] = $this->sign($data);
         $pay_url = "sdkServer/thirdpays/pay/WECHAT_SUB?".http_build_query($data);