🔥یلدا با راکت با (( ۷۰ درصد )) تخفیف! یلدا طولانی است، اما این تخفیف نه.
مشاهده دورههاسلام به دوستان لاراولی
من میخوام که با استفاده از کدهای زیر به سایت 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 را جایگزین کنم؟
درود...
اول کد مرچینت از درگاه ای دی پی دریافت کنید...
دوم از افزونه زیر استفاده کنید...
پیوند زیر:
https://github.com/shetabit/payment
سلام در حال اظافه کردن تمامی درگاه های ایرانی به پکیج زیر هستم. تا یک هفته اینده روند کاری تکمیل میشه.
https://github.com/shetabit/payment
مرسی از دوستانی که حمایت میکنن و لینکشو به اشتراک میزارن.
سلام
@oxbir
این کد شما که برای زرین پال هست اصلا برای آیدی پی نیست
پیشنهاد میکنم از پکیج که دوستمون نوشتن برای درگاه پرداخت استفاده کنید
@khanzadimahdi
به نظرم کلیه درگاها : سامان ، ملت ، ملی ، پاسارگاد ، پارسیان و ...
حتی خود واسط ها مثل زرین ، آیدی پی ، پی پینگ
وب سرویس های اینا هم توی پکیج اضافه بشه ، پکیج خیلی خوب و کاربری از آب در میاد
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟