mkt
4 سال پیش توسط mkt مطرح شد
5 پاسخ

پرداخت های ارجاع نشده به وب سایت فروشنده

درود .
آیا وقتی کاربر یک خرید را انجام میدهد ولی به وب سایت من بر نگردد .یعنی توسط من وریفای نشود اون پرداخت توسط بانک کنسل شده و مبلغ خریداری شده به حساب کاربر بر می گردد؟
از زرین پال استفاده کردم.
ممنونم.


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش مطرح شد
1

بله درست گفتین، وقتی کاربری برای خرید به سایت پرداخت هدایت شود بدلایلی url وریفای شما call نشود به معنی کنسل شدن یا پرداخت ناموفق بوده است و پول حداکثر تا 72 ساعت (من یکساعت برگشته) به حساب ایشان باز میگردد.


mkt
@mkt 4 سال پیش مطرح شد
0

ممنونم مثل این که تو زرین پال این طور نیست.دوستان روشی وجود نداره برای خواندن تراکنش های مرتبط با یک وب سایت.
@juza66

درود .
آیا وقتی کاربر یک خرید را انجام میدهد ولی به وب سایت من بر نگردد .یعنی توسط من وریفای نشود اون پرداخت توسط بانک کنسل شده و مبلغ خریداری شده به حساب کاربر بر می گردد؟
ممنونم

با سلام و احترام
خیر در زرین پال به این صورت نیست.
ابتدا در زرین پال تایید بعد به سایت شما برمیگردد.
این کار برای عدم از دست رفتن تراکنش های شما می باشد


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
1

نمیدونم شاید من متوجه منظورتون نشدم!
شما مگه نه اینجوری بعد از ارسال داده ها و دریافت یک کد Authority و Status=100

$Amount = $price; 
        $Description = 'پرداخت سفارش - عطر و ادکلن مانیا';
        $Email = auth()->user()->email;
        $Mobile = auth()->user()->mobile;
        $CallbackURL = 'https://atrmania.ir/cart/payment/checker'; // Required

        $client = new SoapClient('https://www.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);
        $result = $client->PaymentRequest(
            [
                'MerchantID' => $this->MerchantID,
                'Amount' => $Amount,
                'Description' => $Description,
                'Email' => $Email,
                'Mobile' => $Mobile,
                'CallbackURL' => $CallbackURL,
            ]
        );

و بعد از دریافت Authority میایی کاربر رو به زرین پال هدایت میکنی

//Redirect to URL You can do it also by creating a form
if ($result->Status == 100) {
    //save query user
    return redirect('https://www.zarinpal.com/pg/StartPay/'.$result->Authority);
} else {
    echo'ERR: '.$result->Status;
}

و بعد یک مسیر که از قبل به زرین پال دادی هدایت میشه به روت شما و شما صحت اطلاعات رو بررسی میکنی

public function checker(){

        $Authority = request('Authority');
        $Status = request('Status');

        $Amount = '1000';

        if ($Status == 'OK') {

            $client = new SoapClient('https://www.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);
            $result = $client->PaymentVerification(
                [
                    'MerchantID' => $this->MerchantID,
                    'Authority' => $Authority,
                    'Amount' => $Amount,
                ]
            );

            if ($result->Status == 100) {
                $refnum = $result->RefID;
                $pay_s = Payment::where('resnumber', '=' , $Authority)->where('user_id', '=' , auth()->user()->id)->FirstOrFail();
                $pay_s->status = '1';
                $pay_s->refid = $result->RefID;
                $pay_s->save();

                //success
                return redirect('https://atrmania.ir/cart');

            } else {
                //not success
                return redirect('https://atrmania.ir/cart');
            }

        } else {
            //not success
            return redirect('https://atrmania.ir/cart');
        }

    }

خب تویی بازگشت به سایت و کال شدن متد صحت اطلاعات، اگر برگشت داده نشه شما تراکنش رو براش ذخیره نمیکین یعنی یا انصراف از تراکنش داده یا خطا خورده و شما $Status == OK رو دریافت نکردی و اگر دریافت کردی با PaymentVerification به مسیر زرین پال درخواست صحت اطلاعات رو میدی

پس اینکه میگی اول میره سمت زرین پال چک میشه رو متوجه نمیشم!!!


mkt
@mkt 4 سال پیش مطرح شد
0

سلام ممنونم مهندس جان به زحمت افتادید.
@juza66
من با روال عادی پرداخت مشکلی ندارم. منظورم اینه که اگه شرایط استثنایی پیش بیاد و کاربر بعد از پرداخت موفق نتونه به سایت فروشنده ریدایرکت بشه و پراداخت موفق براش ثبت نشه. با این اوصاف میشه به پورتال یا جایی از بانک وصل شد و پرداخت های مرتبط با سایت خودم را بخونم؟؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
1

اها اینو نمیدونم ولی چندروز پیش یک تراکنش ناموفق تویی سایتم داشتم که از سایت زرین پال و لاگ خودم بررسی کردم زده بود ناموفق ولی کاربر میگفت از حسابم کم شده که چندساعت بعد پیام دادن برگشت خورده ولی تویی زرین پال چیزی بنام کسر موفق و بازگشت ناموفق نبود!!


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام