CallBackService.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Service;
  3. use App\Model\FinanceDetail;
  4. use Illuminate\Support\Facades\DB;
  5. use Mockery\Exception;
  6. class CallBackService extends Service
  7. {
  8. const SUCCESS = 'PAY_SUCCESS';
  9. const FAILED = 'PAY_FAIL';
  10. public function confirmMoneyCallBack($data){
  11. try {
  12. $data = json_decode($data,true);
  13. if(empty($data)) return;
  14. if($data['status'] == self::FAILED || $data['status'] == self::SUCCESS){
  15. DB::beginTransaction();
  16. $obj = FinanceDetail::where('order_number',$data['platOrderId'])->first();
  17. if(! $obj) return;
  18. $obj->utr = $data['utr'] ?? '';
  19. $obj->msg = $data['msg'] ?? '';
  20. if($data['status'] == self::FAILED){
  21. $obj->payment_status = -1;
  22. }else{
  23. $obj->payment_status = 2;
  24. }
  25. $obj->save();
  26. DB::commit();
  27. }
  28. }catch (Exception $exception){
  29. DB::rollBack();
  30. return;
  31. }
  32. }
  33. }