دسته بندی : نمونه کد ها | نمونه کد استفاده از سرویس سند باکس (sandbox) نوشته شده به زبان PHP

نمونه کد استفاده از سرویس سند باکس (sandbox) نوشته شده به زبان PHP

آخرین بروزرسانی تیر 6, 1395.

نمونه ی کد ایجاد شناسه ی پرداخت و ارجاع کاربر به درگاه پرداخت زرین پال به صورت ازمایشی و تستی :

در استفاده از سرویس سند باکس مقدار MerchantID مهم نبوده و می تواند هر مقدار دلخواهی قرار گیرد



<?php

$MerchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'; //Required
$Amount = 1000; //Amount will be based on Toman - Required
$Description = 'توضیحات تراکنش تستی'; // Required
$Email = 'UserEmail@Mail.Com'; // Optional
$Mobile = '09123456789'; // Optional
$CallbackURL = 'http://www.yoursoteaddress.ir/verify.php'; // Required


$client = new SoapClient('https://sandbox.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);

$result = $client->PaymentRequest(
[
'MerchantID' => $MerchantID,
'Amount' => $Amount,
'Description' => $Description,
'Email' => $Email,
'Mobile' => $Mobile,
'CallbackURL' => $CallbackURL,
]
);

//Redirect to URL You can do it also by creating a form
if ($result->Status == 100) {
Header('Location: https://sandbox.zarinpal.com/pg/StartPay/'.$result->Authority);
} else {
echo'ERR: '.$result->Status;
}

نمونه کد تصدیق اصالت پس از پرداخت :



<?php

$MerchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$Amount = 1000; //Amount will be based on Toman
$Authority = $_GET['Authority'];

if ($_GET['Status'] == 'OK') {

$client = new SoapClient('https://sandbox.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);

$result = $client->PaymentVerification(
[
'MerchantID' => $MerchantID,
'Authority' => $Authority,
'Amount' => $Amount,
]
);

if ($result->Status == 100) {
echo 'Transaction success. RefID:'.$result->RefID;
} else {
echo 'Transaction failed. Status:'.$result->Status;
}
} else {

echo 'Transaction canceled by user';
}

(14,790 دانلود)
لینک اشتراک گذاری
نظرات
محمد - 1395/08/08 03:05

سلام
چرا من این کدارو داخل سرورم قرار میدم و فایل php رو اجرا میکنم چیزی نمایش نمیده کلا ؟
ایا این SoapClient باید نصب بشه روی سرور ؟
مشکل کجاست ؟

مسعود امینی - 1395/08/08 10:30

بله SoapClient باید حتما روی سرور شما فعال باشد

محمد - 1395/08/08 14:17

لینکی دارین که نحوه نصب SoapClient رو روی سیستم عامل windows server r2 2012 رو آموزش بده ؟
چون بنده تازه سیستم عامل سرورم رو تغییر دادم قبلا لینوکس بودم که کار باهاش برام راحت تر بود چون تمامی سوالاتم داخل گوگل پیدا میشد اما سیستم عامل فعلی که ویندوزه نمیدونم چرا جواب سوالات توش کم پیدا میشه
ممنون میشم برای هر دو سیستم عامل لینوکس و ویندوز آموزش نصب SoalClient رو لینک بدین

میلاد شاهی - 1395/11/06 18:12

با سلام
متاسفانه آموزشی برای سیستم عامل Windows Server جهت نصب Soap Client تهیه نکردیم😔

مصطفی - 1395/08/27 18:18

سلام چجوری جای لوگوی زرین پال عوض کنم

عباس - 1396/05/25 10:19

سلام
منظورتان کدام لوگو است؟
اگر کد تایید درگاه باشد، باید کد دریافتی را در محل دلخواه قرار دهید.

حمید - 1396/04/10 22:01

ایا می توان اسکریپت ها را در لوکال هاست (بدون آی پی ) تست کرد ؟ تنظیمات خاص یا ابزاری وجود دارد

عباس - 1396/05/14 11:25

خیر این امکان از نظر فنی وجود ندارد

مرتضی - 1396/07/28 13:02

سلام
آدرس های اتصال به وبسرويس و صفحه پرداختم رو از کجا میتونم ببینم ؟؟؟

عباس - 1396/07/28 23:44

سلام
در نمونه کدهای php و مستندات فنی، این آدرس ها موجود است.

فروشگاه معماری - 1396/08/03 01:07

سلام
من کد ها رو داخل سرورم قرار دادم و فایل php رو هم ران کردم ولی هیچی نشون داده نمیشه – دیباگی هم ندارم
چطور بفهمم که SoapClient رو نصب کردم؟
ممنون میشم اگه راهنماییم بکنید

عباس - 1396/08/04 19:39

سلام
صفحه تست آی پی را از آزمایشگاه دانلود و در هاست خود قرار دهید، در این صفحه پیش نیازهای اولیه از جمله soap را نشان میدهد.

رامین - 1396/11/09 14:52

با سلام آیا در ربات تلگرام هم میشه استفاده کرد؟؟؟

عباس - 1396/11/15 12:03

سلام بله برای رباتهای طراحی شده با PHP میتوانید استفاده کنید.

جواد - 1396/11/22 21:17

سلام من تا دیروز به راحتی با این کار می کردم
امروز موقع اتصال به درگاه این ارور رو میده:
SoapFault
SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘https://sandbox.zarinpal.com/pg/services/WebGate/wsdl’ : failed to load external entity “https://sandbox.zarinpal.com/pg/services/WebGate/wsdl”

روی لوکال هم استفاده میکنم
میشه کمکم کنید

عباس - 1396/11/23 17:47

سلام
این مشکل موقتی بوده است.
در صورتیکه مجددا مشکل داشتید از طریق تیکت پیگیری نمایید.

امیر - 1396/12/22 14:54

مشکل اینجاست که من میخوام از روی سایت local تست کنم ولی تست نمیشه؟چیکار کنم؟

عباس - 1397/03/31 19:17

چه خطا یا مشکلی دارید؟ از طریق تیکت مطرح نمایید تا بررسی شود.

سعید قنواتی - 1396/12/24 10:02

با سلام چطور میتوانم خریدهایم را پرداخت نمایم.

عباس - 1397/03/31 19:16

سلام
لطفا از طریق تیکت سوال خود را مطرح نمایید.

مصطفی - 1397/01/22 14:18

سلام
مرچنت تست چی هستش؟
مثلا برای درگاه pay اِی پی آی test گذاشتن برای تست
مرچنت تست زرین پال چی هست؟

عباس - 1397/01/26 12:07

سلام
میتوانید برای مثال 00 را وارد کنید.

پرویز الیاس زاده - 1397/02/01 13:54

با سلام،

من مرچنت کد رو برا تست هرچی میزنم خطای 2- میاره.

اینم کدم :
$price_to_pay = $price_to_pay * 10;

$req_uri = (isset($_SERVER[‘HTTPS’]) ? “https” : “http”) . “://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]”;
$callback = add_query_arg(array(‘ret_bank’=> ‘zarinpal’), $req_uri);

$client = new nusoap_client(‘https://www.zarinpal.com/pg/services/WebGate/wsdl’, ‘wsdl’);
$client->soap_defencoding = ‘UTF-8’;

$result = $client->call(‘PaymentRequest’, [
[
‘MerchantID’ => ’00’, // 36 char seller merchant id *
‘Amount’ => $price_to_pay, // price to pay *
‘Description’ => ‘توضیح تست’, // payment dec *
‘Email’ => ‘parviz@engineer.com’, // user email
‘Mobile’ => ‘09105205205’, // user mobile
‘CallbackURL’ => $callback // callback url *
],
]);

if ($result[‘Status’] == 100) {
//header(‘Location: https://www.zarinpal.com/pg/StartPay/‘.$result[‘Authority’]);
var_dump($result);
} else {
echo zarinpal_err($result[‘Status’]);
}

عباس - 1397/03/31 19:02

سلام
ظاهرا لینک وب سرویس را به سندباکس تغییر نداده اید.

سیامک کوشان - 1397/02/15 18:46

سلام
آیا فراخوانی به منظور تست برنامه های مربوط به پرداخت حتما باید در سرور اصلی و با فرض موجود بودن صفحه ی تست آی پی انجام شود؟ مثلا نمی توانم در خانه و با پی سی متصل به اینترنت این کار را انجام دهم؟ تشکر

عباس - 1397/03/31 18:58

سلام
چرا میتوانید انجام دهید.
صفحه تست آی پی جهت تست پیش نیازهای اولیه هاست یا سایت شماست.

محمد به حمید - 1397/06/05 11:08

اتفاقاً من با لوکال هاست امتحان کردم و هیچ اشکالی نداره.

پارسا - 1397/06/09 16:41

سلام
دمتون گرم برای .Net هم جواب داد.

میلاد - 1397/06/21 23:44

سلام من وب سایتم رو با ورد پرس ساختم. این کد ها رو باید کجای سایتم قرار برم تا کار کنه؟

عباس - 1397/06/22 09:25

سلام
برای وردپرس افزونه های پرداخت مختلفی داریم و میتوانید از آنها استفاده کنید. این کد برای برنامه نویسی و پیاده سازی توسط برنامه نویسان است.
اگر هم میخواهید از سندباکس در افزونه ها استفاده کنید، باید لینکها(لینکهای وب سرویس و لینک پرداخت نهایی) را در کدهای افزونه پرداخت، به سندباکس تغییر دهید.

MICHAEL - 1397/08/02 23:30

سلام خسته نباشید من همه کارایی که گفته شده انجام دادم(به سطح نقره ای رفتم.درگاه بانکی ساختم و….) الان من یه صفحه درگاه بانکی برای سایت آپاراتم میخوام از هیچی هم سر درنمیارم باید چیکار کنم میشه راهنمایی کنید! ممنون

عباس - 1397/08/03 00:47

سلام تشکر
برای قرار دادن لینک پرداخت در آپارات، شما میتوانید از لینک شخصی خود که در قسمت زرین لینک تعیین کرده اید استفاده کنید.
یا اینکه میتوانید از لینک مستقیم درگاه پرداختی که به شما داده شده استفاده کنید. برای مثال لینک درگاه شما این هست:
https://zarinp.al/michaelcamper.aparat.com
که میتوانید در تنظیمات آپارات در قسمت “آدرس صفحه پرداخت” وارد کنید.

هدیه مصدری - 1397/10/04 10:30

سلام کدوم کد و باید بزاریم تو فایل php?

عباس - 1397/10/04 17:46

سلام
اینها نمونه کد هستند و باید طبق نمونه در سایت خود پیاده سازی کنید.

ارسال نظر