چطور میشه به پرداخت آنلاین سایت دیگه ای وصل بشه؟
https://lamtakam.com/qanda/2608/چطور-میشه-به-پرداخت-آنلاین-سایت-دیگه-ای-وصل-بشه؟ 0سلام به دوستان لاراولی
من میخوام که با استفاده از کدهای زیر به سایت https://idpay.ir/milad-b وصل بشم و خرید و مبلغ و شماره موبایل و تام شو وارد کنه و خرید شو انجام بده.
public function payment()
{
$this->validate(request() , [
'plan_id' => 'required'
]);
$plan = Plan::findOrFail(request('plan_id'));
$price = $plan->discount_price;
$Description = 'توضیحات تراکنش تستی'; // Required
$Email = auth()->user()->email; // Optional
$Mobile = auth()->user()->mobile; // Optional
$CallbackURL = 'http://localhost:8000/plan/payment/checker'; // Required
$client = new SoapClient('https://www.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);
$result = $client->PaymentRequest(
[
'MerchantID' => $this->MerchantID,
'Amount' => $price,
'Description' => $Description,
'Email' => $Email,
'Mobile' => $Mobile,
'CallbackURL' => $CallbackURL,
]
);
//Redirect to URL You can do it also by creating a form
if ($result->Status == 100) {
auth()->user()->payments()->create([
'resnumber' => $result->Authority,
'price' => $price,
'plan_id' => $plan->id
]);
return redirect('https://www.zarinpal.com/pg/StartPay/'.$result->Authority);
} else {
echo 'ERR: ' . $result->Status;
}
}
public function checker()
{
$Authority = request('Authority');
$payment = Payment::whereResnumber($Authority)->firstOrFail();
$plan = Plan::findOrFail($payment->plan_id);
if (request('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' => $payment->price,
]
);
if ($result->Status == 100) {
if($this->AddUserForOrder($payment, $plan)) {
alert()->success('عملیات مورد نظر با موفقیت انجام شد','با تشکر');
return redirect(route('plans'));
}
} else {
echo 'Transaction failed. وضعیت:'.$result->Status;
}
} else {
echo 'Transaction canceled by user';
}
}
protected function AddUserForOrder($payment , $plan)
{
$payment->update([
'payment' => 1
]);
Order::create([
'user_id' => auth()->user()->id,
'plan_id' => $plan->id
]);
return true;
}
هر چی من فکر کردم نمیدونم کجا لینک https://idpay.ir/milad-b را جایگزین کنم؟
2 | چرا از وب سرویس پرداخت ایدی پی استفاده نمیکنید ؟ ــ علی رضایی |
||
خب من این همه زحمت کشیدم کد نوشتم دیتابیس طراحی کردم فقط میخوام این لینک را در کدم جایگزین کنم . همین ــ Mahmoud Khosravi در 5 سال قبل | |||
اونم یه لینکه وبسرویس ها برای این در ایدی پی ایجاد شدن که با اپلیکشن های دیگه در ارتباط باش ولی این لینکی که شما گذاشتین مخصوص کسایی هست که خودشون مراجعه میکنن به سایت ایدی پی. ــ علی رضایی |