مستندات فنی درگاه سامان رو گرفتم ولی قسمت PHP فقط یه مثال برای وریفای کردن داره فقط . تو تالار و گوگل خیلی گشتم ولی چند تا کد قدیمی پیدا کردم .
دوستانی که نمونه کد برای اتصال به درگاه بانک سامان رو دارند لطفا نمونه کد بزارند .
مستندات فنی درگاه سامان رو گرفتم ولی قسمت PHP فقط یه مثال برای وریفای کردن داره فقط . تو تالار و گوگل خیلی گشتم ولی چند تا کد قدیمی پیدا کردم .
دوستانی که نمونه کد برای اتصال به درگاه بانک سامان رو دارند لطفا نمونه کد بزارند .
دوست عزیز وریفای که کاری نداره . درسته درگاه گرفتم ولی فقط نمونه کد وریفای رو دادن .
قصد دارم از روش توکن که جدید هست استفاده کنم تو مستنداتش کامل مطالعه کردم مشکلم نمونه کد هست
کسی نبود یه درگاه سامان نوشته باشیم
واقعا جالبه هیچکسی نیست جواب بنده رو بده . نمونه کد با استفاده از توکن برای بان سامان رو مد نظرم هستی هر کسی از دوستان نمونه داره بزاره
سلام دوست عزیز
شاید یه مقدار دیر باشه برای جواب دادن به سوال شما منتهی از اون جهت که این سوال ممکنه برای خیلی های دیگه هم پیش اومده باشه لازم دیدم در حد توان خودم پاسخ بدم.
من خودم قبلا یکبار به این مشکل برخوردم و به قدری اذیت شدم که ملا قضیه رو کنسل کردم و از پرداخت بدون token استفاده کردم. منتهی اخیرا برای یکی از مشتریانم ناگزیر از استفاده از پرداخت با token بودم. بعد از بررسی اولیه وب سرویس درگاه پرداخت سامان به آدرس https://acquirer.samanepay.com/payme...cepayment.asmx دیدم که این وب سرویس اصولا متدی برای درخواست token نداره. و وقتی که یکبار دیگه به دقت مستندات رو خوندم دیدم که برای درخواست token باید از وب سرویس دیگه ای به این آدرس استفاده بشه: https://sep.shaparak.ir/Payments/InitPayment.asmx
این وب سرویس فقط یک متد داره و اون هم متد RequestToken هست.
به طور خلاصه: شما باید اول از طریق وب سرویس https://sep.shaparak.ir/Payments/InitPayment.asmxد درخواست token کنید و کاربر رو با token به درگاه پرداخت بفرستید ولی بعد از بازگشت کاربر از درگاه پرداخت و به منظور تایید تراکنش باید از وب سرویس https://acquirer.samanepay.com/payme...cepayment.asmx استفاده کنید.
دیر شده ولی شاید برا کسی پیش بیاد . با این مستنداتی ک بانک سامان میده حتما پیش میاد.
منم همچین مشکلی داشتم، به پشتیبانیش هم زنگ زدم گفت همینه ک هست
نمونه کد وریفای رو میزارم خودم ازش استفاده کردم. آخرین ورژنش هست. البته php شما باید از soap پشتیبانی کنه. اگه ن باید از nusoap استفاده کنید.
باشد ک رضایت شما را بدست آورد.
$State=$this->NP->params->post('State');
$RefNum=$this->NP->params->post('RefNum');
$MID='از بانک دریافت می شه';
$userName='از بانک دریافت می شه';
$password='از بانک دریافت می شه';
if($State=='OK'){
if(storeInDatatBase($RefNum)){ // آیا این رسید دیجیتالی قبلا استفاده شده. توجه نمایید ک این تابع باید توسط خودتان نوشته شود این تابع باید چک کند ک کسی قبلا از این رسید دیجیتالی استفاده نکرده .
echo('خطا - از این رسید دیجیتالی قبلا استفاده شده');
}else{
try {
$client = new SoapClient('https://sep.shaparak.ir/payments/referencepayment.asmx?WSDL', array('encoding' => 'UTF-8'));
$result=$client->verifyTransaction($RefNum,$MID);
if ($result > 0)
{
if($amount <> $result){
echo('خطا - مبلغ پرداختی با مبلغ فاکتور همخوانی ندارد.');
$client->reverseTransaction($RefNum,$MID,$userName,$passwo rd); // بازگشت تراکنش
}else{
echo 'تراکنش با موفقیت انجام پذیرفت.';
}
}
else //khata
{
echo('خطا به وجود آمده کد خطا - '.$result);
}
}
catch (SoapFault $e) {
echo('خطا در فراخوانی وب سرویس');
}
}
}else{
echo('خطا به وجود آمده - '.$State);
}
و من الله توفیق
آخرین ویرایش به وسیله ebrahim.abbasi : سه شنبه 06 شهریور 1397 در 09:47 صبح
سلام آقای عباسی
ممنون میشم اگه شما اتصال به بانک سامان رو کامل دارید توی همین پست برای ما قرار بدین، فراخوانی سرویس ها و ذخیره نتایج تراکنش در بانک اطلاعاتی، متاسفانه هیچگونه مستنداتی در وب پیدا نمیشه و ما هم در بازگشت نتایج تراکنش موفق از بانک سامان به مشکل برخوردیم
با تشکر
خب کاری نداره زنگ بزنید پشتیبانی سامان و مسئله رو بگید خوودون بایست درستش کنند اینجوری بهتر هست و متوجه اشتباهشون هم میشن که کد هاشون عملیاتی نیست.
همین مشکل رو بنده با بانک ملت داشتم که البته با پیگیری و کدهای جدیدی که دادند رفع شد.
سلام
اینو برسی کنید : https://vrl.ir/QePaBA
همچنین برای برسی کدهای خطا میتونید از این آدرس استفاده کنید : https://miladworkshop.ir/errorcode.html