sahar_ah
یک شنبه 16 اردیبهشت 1386, 22:31 عصر
با سلام به همه دوستان
من میخواستم بدونم از دوستان کسی در رابطه با نحوه خرید آنلاین از بانک پارسیان اطلاعاتی داره؟
من کدی رو که برای استفاده و قراردادن در سایت دادند میزارم اما نمیدونم چطور باید ازش استفاده کنم.
اگه کسی اطلاعاتی داره لطفا کمک کنه
ممنونم
<?php
// this function is to get proper authority key from Parsian
function gotoParsian () {
include("nusoap/nusoap.php");
$soapclient = new soapclient('https://www.pec24.com/pecpaymentgateway/eshopservice.asmx?wsdl','wsdl');
if (!$err = $soapclient->getError())
$soapProxy = $soapclient->getProxy() ;
if ( (!$soapclient) OR ($err = $soapclient->getError()) ) {
$error .= $err . "<br />" ;
echo $error ;
} else {
$amount = intval($_POST['Amount']) ; // here is the posted amount
$orderId = getResNum( .... ) ; // this function is internal which will get order id
$authority = 0 ; // default authority
$status = 1 ; // default status
$callbackUrl = "payment/paid_parsian/" ; // site call back Url
$params = array(
'pin' => ... , // this is our PIN NUMBER
'amount' => $amount,
'orderId' => $orderId,
'callbackUrl' => $callbackUrl,
'authority' => $authority,
'status' => $status
);
$sendParams = array($params) ;
$res = $soapclient->call('PinPaymentRequest', $sendParams);
$authority = $res['authority'];
$status = $res['status'];
if ( ($authority) and ($status==0) ) {
// this is a succcessfull connection
...
...
...
$parsURL = "https://www.pec24.com/pecpaymentgateway/?au=" . $authority ;
redirectToURL ($parsURL) ;
exit() ;
die() ;
return;
} else {
// this is unsucccessfull connection
echo "<p dir=LTR>";
if ($err=$soapclient->getError()) {
echo "ERROR = $err <br /> " ;
}
echo "$authority <br />" ;
echo "$status <br />" ;
echo "$orderId <br />" ;
echo "Couldn't get proper authority key from Parsian" ;
echo "</p>";
}
}
.... // SHOW HTML PART
}
// this function is to Validate Payment
function check_Payment_Parsian () {
include("nusoap/nusoap.php");
$authority = $_REQUEST['au'];
$status = $_REQUEST['rs'];
if ($authority) {
// here we update our database
...
}
if ( ($status==0) and (checkDataBase(...)) ) {
$soapclient = new soapclient('https://www.pec24.com/pecpaymentgateway/eshopservice.asmx?wsdl','wsdl');
if ( (!$soapclient) OR ($err = $soapclient->getError()) ) {
// this is unsucccessfull connection
echo $err . "<br />" ;
} else {
$status = 1 ; // default status
$params = array(
'pin' => ... , // this is our PIN NUMBER
'authority' => $authority,
'status' => $status ) ; // to see if we can change it
$sendParams = array($params) ;
$res = $soapclient->call('PinPaymentEnquiry', $sendParams);
$status = $res['status'];
if ($status==0) {
// this is a succcessfull payment
// we update our DataBase
} else {
// this is a UNsucccessfull payment
// we update our DataBase
echo "Couldn't Validate Payment with Parsian " ;
}
}
} else {
// this is a UNsucccessfull payment
}
.... // SHOW HTML PART
}
?>
راهنمای اتصال به سرویس دروازه پرداخت: (نسخه1.2 )
نکات عمومی
• در هر عملیات بانکی از سوی فروشنده، یک کد unique (واحد برای همان فروشنده) تحت نام OrderId، میبایست به دروازه پرداخت ارسال گردد، جزئیات ارسال آن در توضیحات هر تراکنش بیان خواهد شد.
• پین (pin) فروشنده، شناساگر و نیز کد رمز وی بوده و فروشنده آنلاین ملزم به نگهداری امن این کد میباشد، این کد برای اجرای هر عملیات لازم است.
• پس از اجرای هر عملیات یک کد وضعیت (status) به معنی وضعیت فراخوانی آن متد، به eShop برگردانده میشود، که بسته به آن کد فرایند های خاص آن باید صورت گیرد. کد صفر به معنی موفقیت آمیز بودن عملیات است، سایر کدها برای هر متد در توضیحات متد آمده است.
پرداخت مشتری (Sale)
با انجام این تراکنش پول از حساب مشتری کم شده و پس از عملیات تسویه حساب به حساب فروشنده واریز میشود. انجام کامل این تراکنش مستلزم طی کامل چرخه پرداخت بوده و چنانچه این روند به آخرین وضعیت (موفقیت و پایان عملیات) منجر نشود، کل عملیات Rollback خواهد شد.
مراحل پرداخت مشتری:
1- پس از پایان فاز انتخاب کالا، مشتری آمادگی خود را برای پرداخت پول از طریق حساب بانک پارسیان اعلام میکند، در این زمان eShop متد زیر را از وب سرویس دروازه پرداخت صدا میزند:
PinPaymentRequest(pin,amount,orderId,callbackUrl,r ef authority,ref status)
Pin (string): پین فروشنده
Amount (integer): رقم پرداخت
OrderId (integer): کد عملیات
CallbackUrl (string): صفحه بازگشت مشتری، پس از انجام عمل پرداخت
Authority (long integer): کد عملیاتی دروازه پرداخت که یک کد تصادفی و واحد برای تمامی عملیات آنلاین با
سایتها میباشد، فروشگاه آنلاین ملزم به ثبت و نگهداری این کد میباشد.
Status (byte): کد وضعیت
0: موفق
20, 22: پین فروشنده درست نمیباشد
30: عملیات قبلا با موفقیت انجام شده است
34: شماره تراکنش فروشنده درست نمیباشد
2- در صورت موفقیت آمیز بودن متد فوق، eShop کاربر را به سایت دروازه پرداخت redirect میکند، authority بعنوان پارامتر Query String با نام au، باید در انتهای URL سایت دروازه پرداخت قرار گیرد، بعنوان مثال:
https://www.pec24.com/pecpaymentgate...u=791684761124
از زمان ارسال کاربر به سایت پرداخت، زمان محدودی (حدود 10 دقیقه) مشتری مهلت دارد که عملیات پرداخت خود را در سایت پرداخت بانک، انجام دهد، در غیر اینصورت authority کد expire میشود و در صورت درخواست مجدد، eShop مجددا برای وی درخواست authority کد میکند.
3- پس از انجام عملیات و یا انصراف، کاربر توسط دروازه پرداخت به سایت فروشگاه آنلاین بازمیگردد و کد authority و status عملیات بعنوان Query String به eShop ارسال میشود. در صورتی که status صفر باشد، eShop میبایست مجددا از سرور دروازه پرداخت صحت انجام عملیات را سئوال نماید.
PinPaymentEnquiry(pin, authority, ref status)
چنانچه تا قبل از فراخوانی این متد ارتباط اینترنتی کاربر قطع شود، دروازه پرداخت بصورت اتوماتیک پرداخت وی را ابطال میکند.
ابطال عملیات (Void)
فروشنده (merchant) میتواند عملیات پرداخت را تا قبل از تسویه حساب ابطال کند، بدون آنکه هیچگونه بار مالی برای مشتری داشته باشد.
PinVoidPayment(pin, orderId, orderToVoid, ref status)
برگشت عملیات (Reversal)
در صورت بروز اتفاقات ناخواسته، که عمدتا ناشی از نقایص فنی و یا قطع ارتباط کاربر با فروشگاه آنلاین، میباشد، فروشنده ملزم به برگشت عملیات خواهد بود، همانطور که در عملیات Sale توضیح داده شد، در آخرین مرحله eShop از دروازه پرداخت استعلام عملیات خواهد کرد؛ از این لحظه به بعد چنانچه فروشنده متوجه شود به هر دلیلی مشتریش نتیجه عملیات پرداخت خود را مشاهده نکرده، فروشنده عملیات برگشت را انجام میدهد.
PinReversal(pin, orderId, orderToReversal, ref status)
برگرداندن تمام یا بخشی از مبلغ عملیات (Refund)
فروشنده (merchant) میتواند در صورت نیاز تمام یا بخشی از مبلغ عملیات انجام شده را به حتی بعد از تسویه حساب به مشتری برگرداند، به همین دلیل فروشنده باید دقت مضاعفی به این مساله داشته باشد.
PinRefundPayment(pin, orderId, orderToRefund, amount, ref status)
تسویه حساب (Settlement)
تسویه حساب به صورت اتوماتیک و روزانه انجام می گیرد. و صورتحساب از طریق بخش مالی و طبق قرارداد به فروشگاه تحویل می گردد.
من میخواستم بدونم از دوستان کسی در رابطه با نحوه خرید آنلاین از بانک پارسیان اطلاعاتی داره؟
من کدی رو که برای استفاده و قراردادن در سایت دادند میزارم اما نمیدونم چطور باید ازش استفاده کنم.
اگه کسی اطلاعاتی داره لطفا کمک کنه
ممنونم
<?php
// this function is to get proper authority key from Parsian
function gotoParsian () {
include("nusoap/nusoap.php");
$soapclient = new soapclient('https://www.pec24.com/pecpaymentgateway/eshopservice.asmx?wsdl','wsdl');
if (!$err = $soapclient->getError())
$soapProxy = $soapclient->getProxy() ;
if ( (!$soapclient) OR ($err = $soapclient->getError()) ) {
$error .= $err . "<br />" ;
echo $error ;
} else {
$amount = intval($_POST['Amount']) ; // here is the posted amount
$orderId = getResNum( .... ) ; // this function is internal which will get order id
$authority = 0 ; // default authority
$status = 1 ; // default status
$callbackUrl = "payment/paid_parsian/" ; // site call back Url
$params = array(
'pin' => ... , // this is our PIN NUMBER
'amount' => $amount,
'orderId' => $orderId,
'callbackUrl' => $callbackUrl,
'authority' => $authority,
'status' => $status
);
$sendParams = array($params) ;
$res = $soapclient->call('PinPaymentRequest', $sendParams);
$authority = $res['authority'];
$status = $res['status'];
if ( ($authority) and ($status==0) ) {
// this is a succcessfull connection
...
...
...
$parsURL = "https://www.pec24.com/pecpaymentgateway/?au=" . $authority ;
redirectToURL ($parsURL) ;
exit() ;
die() ;
return;
} else {
// this is unsucccessfull connection
echo "<p dir=LTR>";
if ($err=$soapclient->getError()) {
echo "ERROR = $err <br /> " ;
}
echo "$authority <br />" ;
echo "$status <br />" ;
echo "$orderId <br />" ;
echo "Couldn't get proper authority key from Parsian" ;
echo "</p>";
}
}
.... // SHOW HTML PART
}
// this function is to Validate Payment
function check_Payment_Parsian () {
include("nusoap/nusoap.php");
$authority = $_REQUEST['au'];
$status = $_REQUEST['rs'];
if ($authority) {
// here we update our database
...
}
if ( ($status==0) and (checkDataBase(...)) ) {
$soapclient = new soapclient('https://www.pec24.com/pecpaymentgateway/eshopservice.asmx?wsdl','wsdl');
if ( (!$soapclient) OR ($err = $soapclient->getError()) ) {
// this is unsucccessfull connection
echo $err . "<br />" ;
} else {
$status = 1 ; // default status
$params = array(
'pin' => ... , // this is our PIN NUMBER
'authority' => $authority,
'status' => $status ) ; // to see if we can change it
$sendParams = array($params) ;
$res = $soapclient->call('PinPaymentEnquiry', $sendParams);
$status = $res['status'];
if ($status==0) {
// this is a succcessfull payment
// we update our DataBase
} else {
// this is a UNsucccessfull payment
// we update our DataBase
echo "Couldn't Validate Payment with Parsian " ;
}
}
} else {
// this is a UNsucccessfull payment
}
.... // SHOW HTML PART
}
?>
راهنمای اتصال به سرویس دروازه پرداخت: (نسخه1.2 )
نکات عمومی
• در هر عملیات بانکی از سوی فروشنده، یک کد unique (واحد برای همان فروشنده) تحت نام OrderId، میبایست به دروازه پرداخت ارسال گردد، جزئیات ارسال آن در توضیحات هر تراکنش بیان خواهد شد.
• پین (pin) فروشنده، شناساگر و نیز کد رمز وی بوده و فروشنده آنلاین ملزم به نگهداری امن این کد میباشد، این کد برای اجرای هر عملیات لازم است.
• پس از اجرای هر عملیات یک کد وضعیت (status) به معنی وضعیت فراخوانی آن متد، به eShop برگردانده میشود، که بسته به آن کد فرایند های خاص آن باید صورت گیرد. کد صفر به معنی موفقیت آمیز بودن عملیات است، سایر کدها برای هر متد در توضیحات متد آمده است.
پرداخت مشتری (Sale)
با انجام این تراکنش پول از حساب مشتری کم شده و پس از عملیات تسویه حساب به حساب فروشنده واریز میشود. انجام کامل این تراکنش مستلزم طی کامل چرخه پرداخت بوده و چنانچه این روند به آخرین وضعیت (موفقیت و پایان عملیات) منجر نشود، کل عملیات Rollback خواهد شد.
مراحل پرداخت مشتری:
1- پس از پایان فاز انتخاب کالا، مشتری آمادگی خود را برای پرداخت پول از طریق حساب بانک پارسیان اعلام میکند، در این زمان eShop متد زیر را از وب سرویس دروازه پرداخت صدا میزند:
PinPaymentRequest(pin,amount,orderId,callbackUrl,r ef authority,ref status)
Pin (string): پین فروشنده
Amount (integer): رقم پرداخت
OrderId (integer): کد عملیات
CallbackUrl (string): صفحه بازگشت مشتری، پس از انجام عمل پرداخت
Authority (long integer): کد عملیاتی دروازه پرداخت که یک کد تصادفی و واحد برای تمامی عملیات آنلاین با
سایتها میباشد، فروشگاه آنلاین ملزم به ثبت و نگهداری این کد میباشد.
Status (byte): کد وضعیت
0: موفق
20, 22: پین فروشنده درست نمیباشد
30: عملیات قبلا با موفقیت انجام شده است
34: شماره تراکنش فروشنده درست نمیباشد
2- در صورت موفقیت آمیز بودن متد فوق، eShop کاربر را به سایت دروازه پرداخت redirect میکند، authority بعنوان پارامتر Query String با نام au، باید در انتهای URL سایت دروازه پرداخت قرار گیرد، بعنوان مثال:
https://www.pec24.com/pecpaymentgate...u=791684761124
از زمان ارسال کاربر به سایت پرداخت، زمان محدودی (حدود 10 دقیقه) مشتری مهلت دارد که عملیات پرداخت خود را در سایت پرداخت بانک، انجام دهد، در غیر اینصورت authority کد expire میشود و در صورت درخواست مجدد، eShop مجددا برای وی درخواست authority کد میکند.
3- پس از انجام عملیات و یا انصراف، کاربر توسط دروازه پرداخت به سایت فروشگاه آنلاین بازمیگردد و کد authority و status عملیات بعنوان Query String به eShop ارسال میشود. در صورتی که status صفر باشد، eShop میبایست مجددا از سرور دروازه پرداخت صحت انجام عملیات را سئوال نماید.
PinPaymentEnquiry(pin, authority, ref status)
چنانچه تا قبل از فراخوانی این متد ارتباط اینترنتی کاربر قطع شود، دروازه پرداخت بصورت اتوماتیک پرداخت وی را ابطال میکند.
ابطال عملیات (Void)
فروشنده (merchant) میتواند عملیات پرداخت را تا قبل از تسویه حساب ابطال کند، بدون آنکه هیچگونه بار مالی برای مشتری داشته باشد.
PinVoidPayment(pin, orderId, orderToVoid, ref status)
برگشت عملیات (Reversal)
در صورت بروز اتفاقات ناخواسته، که عمدتا ناشی از نقایص فنی و یا قطع ارتباط کاربر با فروشگاه آنلاین، میباشد، فروشنده ملزم به برگشت عملیات خواهد بود، همانطور که در عملیات Sale توضیح داده شد، در آخرین مرحله eShop از دروازه پرداخت استعلام عملیات خواهد کرد؛ از این لحظه به بعد چنانچه فروشنده متوجه شود به هر دلیلی مشتریش نتیجه عملیات پرداخت خود را مشاهده نکرده، فروشنده عملیات برگشت را انجام میدهد.
PinReversal(pin, orderId, orderToReversal, ref status)
برگرداندن تمام یا بخشی از مبلغ عملیات (Refund)
فروشنده (merchant) میتواند در صورت نیاز تمام یا بخشی از مبلغ عملیات انجام شده را به حتی بعد از تسویه حساب به مشتری برگرداند، به همین دلیل فروشنده باید دقت مضاعفی به این مساله داشته باشد.
PinRefundPayment(pin, orderId, orderToRefund, amount, ref status)
تسویه حساب (Settlement)
تسویه حساب به صورت اتوماتیک و روزانه انجام می گیرد. و صورتحساب از طریق بخش مالی و طبق قرارداد به فروشگاه تحویل می گردد.