Chào mừng!

Bằng cách đăng ký với chúng tôi, bạn sẽ có thể thảo luận, chia sẻ và nhắn tin riêng tư với các thành viên khác trong cộng đồng của chúng tôi.

Đăng ký ngay!
  • Chào Khách,
    Bạn cần liên hệ với admin ??? ZALO & TELEGRAM

Cần giúp Hỏi về cách xử lý callback thẻ cào đối với laravel

Tham gia
18/5/23
Bài viết
10
Lượt Thích
1
Coins
1,020
mọi người cho em hỏi về cách callback đối với laravel em đang làm tích hợp thẻ cào ạ, mà em thấy nó rối rối. Và nên dùng đường dẫn callback dẫn đến controller xử lý callback hay đưa trực tiếp đường dẫn để dẫn đến file php xử lý callback ạ. Mong mn giúp đỡ em, em cám ơn ạ
 
Tham gia
22/4/23
Bài viết
9
Lượt Thích
0
Coins
1,000
xài bên route api tránh csrf hoặc cấp quyền cho nó
 
Tham gia
18/5/23
Bài viết
10
Lượt Thích
1
Coins
1,020
*code view
<form method="POST" action="{{url('nap-the')}}">
@csrf
<div class="form-group">
<label>Loại thẻ:</label>
<select class="form-control" name="loaithe">
<option value="">Chọn loại thẻ</option>
<option value="VIETTEL">Viettel</option>
<option value="VIETTELAUTO">Viettel Auto</option>
<option value="MOBIFONE">Mobifone</option>
<option value="MOBIFONEAUTO">Mobifone Auto</option>
<option value="VINAPHONE">Vinaphone</option>
<option value="VINAPHONEAUTO">Vinaphone Auto</option>
<option value="GATE">Gate</option>
<option value="ZING">Zing</option>
<option value="MEGACARD">Megacard</option>
<option value="BIT">BIT</option>
<option value="GARENA">Garena</option>
</select>
</div>
<div class="form-group">
<label>Mệnh giá:</label>
<select class="form-control" name="menhgia">
<option value="">Chọn mệnh giá</option>
<option value="10000">10.000</option>
<option value="20000">20.000</option>
<option value="30000">30.000</option>
<option value="50000">50.000</option>
<option value="100000">100.000</option>
<option value="200000">200.000</option>
<option value="300000">300.000</option>
<option value="500000">500.000</option>
<option value="1000000">1.000.000</option>
</select>
</div>
<div class="form-group">
<label>Số seri:</label>
<input type="text" class="form-control" name="seri" />
</div>
<div class="form-group">
<label>Mã thẻ:</label>
<input type="text" class="form-control" name="mathe" />
</div>
<div class="form-group">
<input type="submit" name="btn_nap" class="btn btn-success btn-block" value="NẠP NGAY">
</div>
</form>

*code route api
Route::get('callback', [Api\CallbackController::class,'callback']);

*code controller

class CallbackController extends Controller
{
public function callback(Request $request)
{
$status = $_GET('status');
$rand = $_GET('request_id');
$data = Recharge_card::where('rand', $rand)->first();
if ($data->status == 0) {
if ($status == 1) {
Recharge_card::where('rand', $rand)->update('status', 2);
} else {
Recharge_card::where('rand', $rand)->update('status', 1);
}
}
}
}
 
Tham gia
24/5/21
Bài viết
437
Lượt Thích
535
Coins
31,919
*code view
<form method="POST" action="{{url('nap-the')}}">
@csrf
<div class="form-group">
<label>Loại thẻ:</label>
<select class="form-control" name="loaithe">
<option value="">Chọn loại thẻ</option>
<option value="VIETTEL">Viettel</option>
<option value="VIETTELAUTO">Viettel Auto</option>
<option value="MOBIFONE">Mobifone</option>
<option value="MOBIFONEAUTO">Mobifone Auto</option>
<option value="VINAPHONE">Vinaphone</option>
<option value="VINAPHONEAUTO">Vinaphone Auto</option>
<option value="GATE">Gate</option>
<option value="ZING">Zing</option>
<option value="MEGACARD">Megacard</option>
<option value="BIT">BIT</option>
<option value="GARENA">Garena</option>
</select>
</div>
<div class="form-group">
<label>Mệnh giá:</label>
<select class="form-control" name="menhgia">
<option value="">Chọn mệnh giá</option>
<option value="10000">10.000</option>
<option value="20000">20.000</option>
<option value="30000">30.000</option>
<option value="50000">50.000</option>
<option value="100000">100.000</option>
<option value="200000">200.000</option>
<option value="300000">300.000</option>
<option value="500000">500.000</option>
<option value="1000000">1.000.000</option>
</select>
</div>
<div class="form-group">
<label>Số seri:</label>
<input type="text" class="form-control" name="seri" />
</div>
<div class="form-group">
<label>Mã thẻ:</label>
<input type="text" class="form-control" name="mathe" />
</div>
<div class="form-group">
<input type="submit" name="btn_nap" class="btn btn-success btn-block" value="NẠP NGAY">
</div>
</form>

*code route api
Route::get('callback', [Api\CallbackController::class,'callback']);

*code controller

class CallbackController extends Controller
{
public function callback(Request $request)
{
$status = $_GET('status');
$rand = $_GET('request_id');
$data = Recharge_card::where('rand', $rand)->first();
if ($data->status == 0) {
if ($status == 1) {
Recharge_card::where('rand', $rand)->update('status', 2);
} else {
Recharge_card::where('rand', $rand)->update('status', 1);
}
}
}
}
Mã:
+ API
use App\Http\Controllers\Api\CallbackController;
Route::post('nap-the', [CallbackController::class, 'store'])->name('api.nap-the');
Route::get('callback', [CallbackController::class, 'callback'])->name('api.callback');
---------------THAM KHẢO THÔI BRO---------------------------------

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Models\Recharge_card;
use Illuminate\Http\Request;

class CallbackController extends Controller
{
    public function callback(Request $request)
    {
        $status = $request->query('status');
        $rand = $request->query('request_id');

        $data = Recharge_card::where('rand', $rand)->first();

        if ($data && $data->status === 0) {
            $data->update(['status' => ($status === 1) ? 2 : 1]);
        }

    
    }
}

Mã:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
  $(document).ready(function() {
    $("#nap-the").submit(function(event) {
      event.preventDefault();
      var formData = $(this).serialize();

      $.ajax({
        url: "{{url('nap-the')}}",
        type: "POST",
        data: formData,
        success: function(response) {
          // xử lý kết quả
          console.log(response);
        },
        error: function(xhr, status, error) {
          // xử lý kết quả
          console.log(error);
        }
      });
    });
  });
</script>
 
Sửa lần cuối:
Tham gia
2/4/24
Bài viết
93
Lượt Thích
0
Coins
1,150
  • Trong một số trường hợp đơn giản, bạn có thể sử dụng một file PHP riêng để xử lý callback mà không cần tạo ra một controller mới.
  • Điều này có thể thích hợp nếu callback chỉ thực hiện một số xử lý đơn giản và không cần quản lý nhiều tác vụ phức tạp.
-----

CÔNG TY TNHH CÔNG NGHỆ ZLINK VIỆT NAM
Cung cấp license phần mềm, Giải pháp hạ tầng mạng, tổng đài thoại, contact center, CRM
zlink.vn / azsoft.com / voip.com.vn
email: [email protected] ; [email protected]
 
Top Bottom
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock
No Thanks