larabook / gateway Goto Github PK
View Code? Open in Web Editor NEWA Laravel package for connecting to all Iranian Banks
License: MIT License
A Laravel package for connecting to all Iranian Banks
License: MIT License
Hi , thanks for your package ,But i have a problem installing it on laravel 5.3
i followed all of installation steps, but while trying to run php artisan vendor:publish --provider=Larabookir\Gateway\GatewayServiceProvider i encounter this error: response Nothing to publish for tag [].
i would be very gratefull if you help me out,
thanks in advance
سلام
وقت بخیر
ممنون از این که این پکیج را درست کردید
من می تونم خودم درگاه ایران کیش را اضافه کنم اما نمی دونم چطوری توی گیت کاری کنم که به این بسته اضافه شود
اگر توضیح بدهید ممنون می شوم
خیلی ممنون
Token.pdf
سلام ، وقت بخیر و تشکر بابت پکیج خیلی خوب و مفیدتون .
یه سوالی داشتم در همین مورد :
من جدول مربوط به فاکتورها رو کمی شخصی سازی کردم و چندتا فیلد بهش اضافه کردم ، حالا میخوام زمانی داره یه فاکتور جدید ایجاد میکنه ، مقدار فیلدهایی که خودم اضافه کردم رو هم پر کنم
روشی برای این کار هست ؟
تو مستندات چیزی پیدا نکردم !
سلام
سعی کردم این پکیج را روی لاراول 5.5 نصب کنم متاسفانه کانفیگ ها پابلیش نشدند و اجرا نشدند.
بعد از اجرای دستور
php artisan package:discover
هم اسم پکیج دیده نشد
سلام
برا کدام ورژن از لاراول مناسبه؟
gateway من رو 5.2 نصب کردم ولی هنگام تغییر فایل انگار
رو نمیشناسه
config/app.php
سلام ، درگاه پارسیان رو می خوام راه اندازی کنم ، پین ست شده و آی پی معتبر هست. پیغام زیر میاد :
Server was unable to read request. ---> There is an error in XML document (2, 260). ---> Value was either too large or too small for an Int32.
علت چی هست و چه باید کرد ؟ در مورد بانک ملت به درستی کار می کنه همه چیز .
ممنون میشم پاسخ بدید.
از Microsoft Sql server
استفاده میکنم موقع اضافه کردن این ارور رو میده
SQLSTATE[23000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot insert explicit value for identity column in table 'gateway_transactions' when IDENTITY_INSERT is set to OFF. (SQL: insert into [gateway_transactions] ([id], [port], [price], [status], [ip], [created_at], [updated_at]) values (150272300069, ZARINPAL, 100, INIT, ::1, 2017-08-14 19:33:20.000, 2017-08-14 19:33:20.000))
وقتی روی mysql
تست میکنم درسته اما مجبورم به دلایلی از
sqlserv
استفاده کنم کسی میدونه چی کار کنم؟
سلام اگه بخوایم یک آیپی دیگه به درگاه اضافه کنیم از چه قسمتی باید اضافه کرد. چون از طرف بانک اطلاعیه اومده که بجز آیپی 176.56.158.159 یک آیپی دیگه هم ست کنید
با سلام
آیا این پکیج به درگاه شرکت مبناکارت آریا نیز متصل می شود یا خیر؟
کداین درگاه رو که بررسی کردم برای پی اچ پی تفاوت زیادی با درگاه های دیگه نداشت
میخواستم ببینم این پکیج نیز برای این دستگاه کار میکند یا خیر!
این پکیح نسخه ای برای php 7 نداره ؟
Hello
After calling the callback URL, always this error happens even though the record exists.
با سلام و خسته نباشید
وقتی ز بانک مشکلی پیش میاد و کاربر بر میگرده میخوام جای خطایی که نشون میده یک ویو با یک استابیل نشون بده ولی نمیدونم چطوره
ممنون میشم اگه راهنمایی کنید
بنده از یک همچین کدی استفاده کردم ولی درست نشد
catch (Exception $e) { $mess = $e->getMessage(); return view('pages.callback',compact('mess')); }
سپاس
به آدرس
callback
به صورت اتوماتیک پارامتر
_token = {{crf_token()}}
اضافه شود
این اکسپشن تو چه حالتهایی رخ میده؟من چندتا فرم پرداخت دارم که همه به یه فانکشن برمیگردن ولی فقط یه فرم این اکسپشن رو میده
تو این خط $gateway = \Gateway::verify();
در فایل کانفیگ آدرس دامنه سایت از قسمت
callback-urll
حذف شود و فقط مسیر قرار بگیرد.
'callback-url' => 'http://domain.com/callback'
shoulbe =>
'callback-url' => '/callbback'
سلام
موقع اتصال به درگاه سداد این خطا ظاهر شد
FatalErrorException in Sadad.php line 113:
syntax error, unexpected ')'
سلام
تشکر بابت کتابخونه جامعتون
بانک پاسارگاد در وریفای دو مرحله تایید نیاز داره و در حال حاضر به وضعیت ؛موفق - در انتظار تایید؛ می رسه ولی تایید نهایی انجام نمیشه در نتیجه بعد از مدتی خرید ناموفق می شه
سلام من پس از برگشت از بانک می خوام اگر خطایی رخ داد کاربر رو به یک View خاص بفرستم ولی امکان نداره و فقط خطای پکیجGateway داده میشه
سلام
بنده میخوام یک لیست فاکتور درست کنم مثلا رکوردهایی ک ناموفق بودن رو دوباره بشه پرداخت کرد ، میشه راهنمایی کنید ک چطور باید این کار رو انجام بدم؟
با همین جدوالای خوده پکیج اگه چندتا فیلد یوزر ایدی و .. اضافه کنم میشه این کار رو انجام داد یا باید یک جدول دیگه درست کنم؟
سپاس
سلام ، یکی از مشکلاتی که داره و مخصوصا برای بانک پارسیان مشکل ایجاد میکنه شماره
refid
است
درحال نوشتن درگاه جدید برای پکیج هستم اما توی وریفای کردن درخواست مشکل دارم.
سوال:
1- متد urlModify چیکار میکنه دقیقا؟!
2- چرا اصلا کال بک یو آر ال بصورت پست فراخونی نمیشه؟ داخل روت گِت میره بجای پُست
2- مقادیر بازگشت داده شده از سمت بانک رو بشکل زیر میگیرم اما نال هستن:
$status = Input::get('status');
$trackingCode = Input::get('transId');
سلام
اگه امکانش هست راهنمای استفاده از پکیج هم قرار بدید.
با تشکر فراوان
Please add sample code (with Routes) for each Bank to new sample
directory of the repository.
Thanks.
در هنگام اتصال به درگاه خطای زیر را میدهد
Server was unable to read request. ---> There is an error in XML document (2, 257). ---> Value was either too large or too small for an Int32.
سلام
من امروز درگاه بانک پاسارگاد را تست کردم متاسفانه پول به حساب فرد پرداخت کننده باز می گردد
یه
issue
برای این موضوع بود ولی الان نیست میشه بررسی کنید و روش حل را بگید
الان من از کد زیر دارم استفاده می کنم میشه یه سری توضیحات در مورد روش دسترسی به اطلاعات تراکنش بدهید
` ```
protected function verifyPayment()
{
$processor = new RSAProcessor($this->config->get('gateway.pasargad.certificate-path'),RSAKeyType::XMLFile);
$fields = array(
'MerchantCode' => $this->config->get('gateway.pasargad.merchantId'),
'TerminalCode' => $this->config->get('gateway.pasargad.terminalId'),
'InvoiceNumber' => $this->transactionId(),
'InvoiceDate' => Input::get('iD'),
'amount' => $this->amount,
'TimeStamp' => date("Y/m/d H:i:s"),
'sign' => '',
);
$data = "#". $fields['MerchantCode'] ."#". $fields['TerminalCode'] ."#". $fields['InvoiceNumber'] ."#". $fields['InvoiceDate'] ."#". $fields['amount'] ."#". $fields['TimeStamp'] ."#";
$data = sha1($data,true);
$data = $processor->sign($data); // امضاي ديجيتال
$fields['sign'] = base64_encode($data); // base64_encode
$result = Parser::post2https($fields, $this->checkTransactionUrl);
$array = Parser::makeXMLTree($result);
if ($array['result'] != "True") {
$this->newLog(-1, Enum::TRANSACTION_FAILED_TEXT);
$this->transactionFailed();
throw new PasargadErrorException(Enum::TRANSACTION_FAILED_TEXT, -1);
}
$this->refId = $array['transactionReferenceID'];
$this->transactionSetRefId();
$this->trackingCode = $array['traceNumber'];
$this->transactionSucceed();
$this->newLog($array['result'], Enum::TRANSACTION_SUCCEED_TEXT);
}
سلام و تشکر از پکیج پر کاربردتون
بعد از نصب موفق در هنگتم اجرا با خطای زیر مواجه می شم که ظاهرا باید از nusoap استفاده کنم
لطفا راهنمایی بفرمایید
FatalErrorException in Mellat.php line 23: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl' : failed to load external entity "https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl"
i need show error text in view , in controller in default show error laravel log.
<?php
namespace Modules\Accounting\Http\Controllers\frontend;
use Illuminate\Routing\Controller;
use Auth;
use Modules\Shop\Helpers\cart;
use Modules\Warehouse\Helpers\deductions_warehouse;
class callback_from_bank extends Controller {
public function __construct()
{
$this->_model_shop_order = new \Modules\Shop\Models\frontend\shop\order();
}
public function verify(){
echo \Session::get('order');
if(Auth::check() ){ //IF logged in user and order
try {
$gateway = \Gateway::verify();
$trackingCode = $gateway->trackingCode();
$refId = $gateway->refId();
$cardNumber = $gateway->cardNumber();
// عملیات خرید با موفقیت انجام شده است
// در اینجا کالا درخواستی را به کاربر ارائه میکنم
} catch (Exception $e) {
echo $e->getMessage();
}
}
}
}
it work fine in it
Route::any('accounting/callback/from/bank',function(){
try {
$gateway = \Gateway::verify();
$trackingCode = $gateway->trackingCode();
$refId = $gateway->refId();
$cardNumber = $gateway->cardNumber();
// عملیات خرید با موفقیت انجام شده است
// در اینجا کالا درخواستی را به کاربر ارائه میکنم
} catch (Exception $e) {
echo $e->getMessage();
}
});
سلام بعد از ۱ سال کار کردن با این پکیج بر روی سایت http://www.shop-intex.com امروز با این اررور مواجعه شدم ؟
: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl' : failed to load external entity "https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl"
سلام.
توی حالت اولیه پکیج اگر سایتی درگاه زرین پالش رو برای پرداخت انتخاب کرده باشه و پرداخت کننده بخواد از کیف پول زرین پالش مبلغ رو پرداخت کنه توی کال بک از بانک به مشکل بر میخوره. چون که با این حالت شماره حسابی رو وارد نکرده و توی تابع کال بک، شماره حساب میخواد گرفته شه و کد های بعد از اون ران نمیشه
این در حالت دیفالت پکیج هست
try {
$gateway = \Gateway::verify();
$trackingCode = $gateway->trackingCode();
$refId = $gateway->refId();
$cardNumber = $gateway->cardNumber();
//درستورات اینجا انجام نمیشوند با در نظر گرفتن حالت بالا
} catch (Exception $e) {
echo $e->getMessage();
}
که با در نظر گرفتن حالتی که بالا گفتم باید به صورت زیر اپدیت شه
try {
$gateway = \Gateway::verify();
$trackingCode = $gateway->trackingCode();
$refId = $gateway->refId();
try {
$cardNumber = $gateway->cardNumber();
} finally {
// در انجا دستورات انجام میشوند
}
} catch (Exception $e) {
echo $e->getMessage();
}
موفق باشید
در لاراول 5.2 تست کردم و خطایی وجود نداشت همه چیز خوب بود.
حالا با لاراول 5.3 که اومدم وصل بشم به درگاه های مختلف دیدم خطای دیتابیس میده که رفرنس آیدی نمیتونه مقدار خالی داشته باشه.
رفتم تنظیمات دیتابیس و جدول ترنزکشن رو دیدم و فیلد رفرنس آیدی رو گذاشتم بتونه خالی بره جلو.
الان داره کار میکنه و وقتی میریم به درگاه بانک رفرنس آیدی در جدول ترنزکشن مقدار رو میگیره
حالا مشکل کجاست که در لاراول 5.2 خوب کار میکرد الان نه؟
سلام
نحوه اضافه کردن و درج مقدار در جدول transaction رو توضیح می دید
فیلد های تاریخ در جدول تراکنش ها ذخیره نمی شود !
همچنین فیلد payment_date از نوع تاریخ باید باشد
در هنگام اتصال به درگاه خطای زیر را میدهد
Server was unable to read request. ---> There is an error in XML document (2, 257). ---> Value was either too large or too small for an Int32.
سلام ،
آیا امکان استفاده از این افزونه تحت شرایط لوکال هاست هم وجود دارد؟ اگر بله مقادیر فایلهای کانفیگ باید چه باشد؟ آدرس بار بنده فقط مقدار رو به رو را برگشت میدهد :
http://localhost/PaymentSuccessfulController?transaction_id=1478690760&_token=xzr6KVQ5NJWjLNtvxAKS44Jad3ciOQwN5KeEHiIL&Authority=000000000000000000000000000027760208&Status=OK
برای اینکه درست کار کند باید به پورت ۸۰۰۰ رجعت کند که نمیکند.
فکر میکنم تنظیمات درست باشد. لطفا من را راهنمایی کنید.
ممنونم.
من به هر روشی که میخوام آبجکت بسازم
مثلا اینطوری
$gateway = Gateway::make(new Larabookir\Gateway\Mellat\Mellat());
این ارورو میده
Class gateway does not exist
Hello
When I want to connect to "mellat gateway", after a delay, almost always the error "Could not connect to host" occurs.
I googled it and I couldn't find a proper solution, but i realized that it is related to soap library.
What should I do?
Thanks
سلام
اطلاعات ارسالی برای کال بک در وب سرویس درگاه پاسارگاد نباید شامل علامت سئوال باشه در صوتی که شما همراه کال بک توکن سی اس آر اف و شناسه تراکنش رو هم فرستادید . اینا باعث میشن فروشگاه توسط وب سرویس قابل شناسایی نباشه و خطا ایجاد بشه .
سلام موقع اتصال به بانک ملت این اررو میاد
Function ("bpPayRequest") is not a valid method for this service
سلام توی تست به یک مشکل برخوردم که هنگام اتصال به درگاه بانک ملت خطای 41 (شماره درخواست تکراری) هست رو میداد البته کد (آی دی ) برای رکورد جدول بصورت یکتا بر حسب زمان ایجاد میشد ولی دقیق نفهمیدم چرا این خطا را میده در هر صورت به روش زیر خطا رو رفع کردم گفتم یه بررسی هم خودتون بفرمایید
البته با سایت زیر تست کردم ( سایت مخصوص تست درگاه های بانکی در محیط دولوپ هست )
http://banktest.ir
[ROOT]\vendor\larabook\gateway\src\PortAbstract.php
Code Line 191
function getTimeId() { $genuid = function(){ return substr(str_pad(str_replace('.','', microtime(true)),12,0),0,12); }; $uid=$genuid(); while ($this->getTable()->whereId($uid)->first()) $uid = $genuid(); return $uid; }
( Edited )
function getTimeId() { $genuid = function(){ return time(); }; $uid=$genuid(); while ($this->getTable()->whereId($uid)->exists()){ sleep(0.5); $uid = $genuid(); } return $uid; }
Laravel -v : 5.4
PHP -v : 7
بعد از قرار دادن این کد ها در بخش web.php
با این خطا برخوردم :
Class gateway does not exist
لطفا این باگ وجود دراه یا مشکلی دیگری هست ؟
Route::get('req',function(){
try {
$gateway = Larabookir\Gateway\Gateway::mellat();
$gateway->setCallback(url('callback/from/bank'));
$gateway->price(1000)->ready();
$refId = $gateway->refId();
$transID = $gateway->transactionId();
// Your code here
return $gateway->redirect();
} catch (Exception $e) {
echo $e->getMessage();
}
});
Route::any('callback/from/bank',function(){
try {
$gateway = \Gateway::verify();
$trackingCode = $gateway->trackingCode();
$refId = $gateway->refId();
$cardNumber = $gateway->cardNumber();
// عملیات خرید با موفقیت انجام شده است
// در اینجا کالا درخواستی را به کاربر ارائه میکنم
} catch (Exception $e) {
echo $e->getMessage();
}
});
خطا : شماره درخواست تکراری است #41
Parsian gateway can use Nusoap library??
noap is limited in some hosts!
سلام
وقت بخیر
من یک سوال داشتم
من یک
fork
از ریپازیتوری شما برای خودم ایجاد کردم حالا چطوری می تونم کاری کنم که همیشه بروز باشه و کد های شما داخل اون باشه ؟ اصلا شدنی هست؟
سلام
با تشکر از درست کردن این بسته
اما متاسفانه یک مشکلی که این بسته دارد این هست که زمان ارسال اطلاعات به بانک نمیشود اطلاعات اضافه را به بانک ارسال کرد
که خیلی مهم هست.
هنگام فراخوانی جهت اتصال به درگاه زرین پال
$gateway = Gateway::make(new Larabookir\Gateway\Zarinpal\Zarinpal());
یه پیغام میده مبنی بر اینکه باید پارامتر های کلاس رو وارد نمایید؟
Missing argument 1 for Larabookir\Gateway\Zarinpal\Zarinpal::__construct(), called in /home/airmall/domains/domains.ir/public_html/laravel/app/Http/routes.php on line 13 and defined
الان مشکل چیه؟
Hi
I want to run the example for Mellat gateway, but I get below error:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl' : failed to load external entity "https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl"
Please help me
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.