PDA

View Full Version : مشکل در اتصال به درگاه بانک ملت با Nusoap



morteza.tavana
سه شنبه 03 تیر 1393, 16:58 عصر
سلام به همه دوستان

من یه مشکلی دارم و دیگه دیوانه شده و هنوز نفهمیدم که چجوری مشکلم رو حل کنم

اگه کسی میتونه لطفا کمک کنه

نمیدونم که کجا متد Request ایراد داره که نمیتونم ResCode یا RefID رو بگیرم. و چون این کد رو نمیتونم بگیرم عملا وقتی وارد درگاه میشه خطای "متاسفانه، اطلاعات ارسال شده نامعتبر است و شما مجاز به انجام تراكنش نمي باشيد
" میده.

این کلاس هست که برای Payment نوشتم که فقط تا قسمت همین متد Request رو گذاشتم



include './nusoap.php';

class Payment
{

public function RequestPayment ($WebServicAddress, $TerminalID, $UserName, $UserPassword, $OrderID, $Amount, $LocalDate, $LocalTime, $AdditionalData, $CallBackUrl, $PayerID)
{
$AdditionalData = urlencode("$AdditionalData");
$client = new nusoap_client("$WebServicAddress", true);
$result = $client->call('bpPayRequest', array
(
'terminalId' => $TerminalID,
'userName' => $UserName,
'userPassword' => $UserPassword,
'orderId' => $OrderID,
'amount' => $Amount,
'localDate' => $LocalDate,
'localTime' => $LocalTime,
'additionalData' => $AdditionalData,
'callBackUrl' => $CallBackUrl,
'payerId' => $PayerID
));
$res = explode(',', $result);
$ResCode = $res[0];
$Ref = $res[1];
if ($ResCode == "0")
{
header("location: https://bpm.shaparak.ir/pgwchannel/startpay.mellat?RefId=$Ref");
}
}
}


اینم خود فایل Request هست :



<?php
session_start();
require '../../Libs/ClassDataBase.php';
require '../../Libs/MellatPayConfig.php';
require '../../Libs/ClassDate.php';
require 'ClassMellatPay.php';
$AmountOrCost = 0;
$OrderID = 0;
$TrackingCode = $_SESSION['TrackingCode'];
$sth = new DataBase();
$Result = $sth->Select("*", "tglorder", "TrackingCode = '$TrackingCode'");
while ($Order = mysql_fetch_assoc($Result))
{
$AmountOrCost = $Order['Cost'];
//
$OrderID = $Order['OrderID'];
}
//Please Dont Change This Parameter
$WebServiceUrl = "https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl";
$CallBackUrl = URL . "Payment/mellat/verify.php";
$Cost = $AmountOrCost / 10; //Convert IRR to TMN or IRT
$Bank = 'mellat';
$Date = jdate('o-m-d H:i:s','','','','en');
$LocalDate = date("Ymd");
$LocalTime = date("His");
$PayerID = 0;
$sth->Insert("tglpayment", "`Bank`, `Cost`, `Date`, `OrderID`,`TrackingCode`", "'$Bank','$AmountOrCost','$Date','$OrderID','$Track ingCode'");
$ob = new Payment();
$ob->RequestPayment($WebServicAddress, $TerminalID, $UserName, $UserPassword, $OrderID, $AmountOrCost, $LocalDate, $LocalTime, $TrackingCode, $CallBackUrl, $PayerID);


خیلی منون میشم یکی کمک کنه این مشکل من از کجاست

morteza.tavana
چهارشنبه 11 تیر 1393, 13:42 عصر
دوستان کسی نمیتونه به مشکل من رسیدگی کنه ؟

smksmk
جمعه 13 تیر 1393, 10:44 صبح
$namespace رو نداری : http://interfaces.core.sw.bps.com/
ساختار call :

$result = $client->call('bpPayRequest', $parameters, $namespace);