namespace App\Services;
// namespace Larabookir\Gateway;
use Larabookir\Gateway;
class bankService {
public static function Send($SumPrice){
// return $SumPrice;
try {
$gateway = Gateway::make(new Zarinpal());
// $gateway->setCallback(url('/path/to')); You can also change the callback
$gateway
->price(1000)
// setShipmentPrice(10) // optional - just for paypal
// setProductName("My Product") // optional - just for paypal
->ready();
$refId = $gateway->refId(); // شماره ارجاع بانک
$transID = $gateway->transactionId(); // شماره تراکنش
// در اینجا
// شماره تراکنش بانک را با توجه به نوع ساختار دیتابیس تان
// در جداول مورد نیاز و بسته به نیاز سیستم تان
// ذخیره کنید .
return $gateway->redirect();
} catch (Exception $e) {
echo $e->getMessage();
}
}
}
دریافت پاسخ از زرین پال
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Larabookir\Gateway;
use Larabookir\Gateway\Exceptions\RetryException;
use Mockery\Expectation;
class BankController extends Controller
{
public function recive(Request $request){
// return request()->all();
try {
$gateway = Gateway::verify();
$trackingCode = $gateway->trackingCode();
$refId = $gateway->refId();
$cardNumber = $gateway->cardNumber();
// تراکنش با موفقیت سمت بانک تایید گردید
// در این مرحله عملیات خرید کاربر را تکمیل میکنیم
} catch (RetryException $e) {
// تراکنش قبلا سمت بانک تاییده شده است و
// کاربر احتمالا صفحه را مجددا رفرش کرده است
// لذا تنها فاکتور خرید قبل را مجدد به کاربر نمایش میدهیم
echo $e->getMessage() . "<br>";
} catch (Expectation $e) {
// نمایش خطای بانک
echo $e->getMessage();
}
}
ارسال درخواست به زرین پال
namespace App\Services; // namespace Larabookir\Gateway; use Larabookir\Gateway;
class bankService {
}
دریافت پاسخ از زرین پال
namespace App\Http\Controllers;
use Illuminate\Http\Request; use Larabookir\Gateway; use Larabookir\Gateway\Exceptions\RetryException; use Mockery\Expectation;
class BankController extends Controller {
}
روت Route::get('/path/to','BankController@recive');
فاساد اضافه شده پابیلش شده و دیتابیس هم ایجاد شده اما بازم خطا میده