Comments (11)
Potwierdzam dany bug. U mnie również występuje.
from openpayu_php.
Jaki jest wynik metody var_dump($result) ?
from openpayu_php.
Zamówienie realizuję z konta testowego wymienionego w dokumentacji.
Dane wejściowe konsumowane przez $result = OpenPayU_Order::consumeNotification($data);
string(541) "{"OpenPayU":{"xmlns:ns2":"http://www.openpayu.com/public/20/openpayu","OrderNotifyRequest":{"Order":{"Status":"PENDING","NotifyUrl":"http://USUNALEM.XXX/platnosci/notify","Description":"Przykładowe zamówienie","ExtOrderId":"1000","Products":{"Product":{"Name":"Product1","Quantity":"1","UnitPrice":"100"}},"ValidityTime":"86400","MerchantPosId":"145227","OrderId":"C5DHQ8XGCX140618GUEST000P01","OrderCreateDate":"2014-06-18T08:24:43.578+02:00","TotalAmount":"100","CurrencyCode":"PLN","CustomerIp":"USUNALEM"}}}}"
Wartość $result:
object(OpenPayU_Result)#96 (9) {
["status":"OpenPayU_Result":private]=>
NULL
["error":"OpenPayU_Result":private]=>
string(0) ""
["success":"OpenPayU_Result":private]=>
int(0)
["request":"OpenPayU_Result":private]=>
string(0) ""
["response":"OpenPayU_Result":private]=>
object(stdClass)#98 (1) {
["OpenPayU"]=>
object(stdClass)#99 (2) {
["xmlns:ns2"]=>
string(42) "http://www.openpayu.com/public/20/openpayu"
["OrderNotifyRequest"]=>
object(stdClass)#100 (1) {
["Order"]=>
object(stdClass)#101 (12) {
["Status"]=>
string(7) "PENDING"
["NotifyUrl"]=>
string(59) "http://USUNALEM.XXX/platnosci/notify"
["Description"]=>
string(24) "Przykładowe zamówienie"
["ExtOrderId"]=>
string(4) "1000"
["Products"]=>
object(stdClass)#102 (1) {
["Product"]=>
object(stdClass)#103 (3) {
["Name"]=>
string(8) "Product1"
["Quantity"]=>
string(1) "1"
["UnitPrice"]=>
string(3) "100"
}
}
["ValidityTime"]=>
string(5) "86400"
["MerchantPosId"]=>
string(6) "145227"
["OrderId"]=>
string(27) "C5DHQ8XGCX140618GUEST000P01"
["OrderCreateDate"]=>
string(29) "2014-06-18T08:24:43.578+02:00"
["TotalAmount"]=>
string(3) "100"
["CurrencyCode"]=>
string(3) "PLN"
["CustomerIp"]=>
string(12) "89.71.244.83"
}
}
}
}
["sessionId":"OpenPayU_Result":private]=>
string(0) ""
["message":"OpenPayU_Result":private]=>
string(0) ""
["countryCode":"OpenPayU_Result":private]=>
string(0) ""
["reqId":"OpenPayU_Result":private]=>
string(0) ""
}
Tak jak założyciel tematu próbowałem zmienić wielkość znaków przy $result->getResponse()->order->orderId, ale to nie pomogło.
from openpayu_php.
Czy używana jest najnowsza wersja biblioteki?
from openpayu_php.
Oczywiście. Korzystam z najnowszej wersji znajdującej się w repozytorium.
Poniżej mój przykładowy kod dla odbierania powiadomienia:
require_once Kohana::find_file('vendor', 'payu/openpayu');
OpenPayU_Configuration::setEnvironment('secure');
OpenPayU_Configuration::setMerchantPosId(Kohana::$config->load('payu.pos_id'));
OpenPayU_Configuration::setSignatureKey(Kohana::$config->load('payu.md5_second'));
$body = $this->request->body();
$data = trim($body);
try
{
$result = false;
if (!empty($data))
{
$result = OpenPayU_Order::consumeNotification($data);
}
ob_start();
var_dump($data);
$r1 = ob_get_clean();
ob_start();
var_dump($result);
$r2 = ob_get_clean();
Log::instance()->add(Log::NOTICE, $r1);
Log::instance()->add(Log::NOTICE, $r2);
if ($result and $result->getResponse()->order->orderId)
{
/* Check if OrderId exists in Merchant Service, update Order data by OrderRetrieveRequest */
$order = OpenPayU_Order::retrieve($result->getResponse()->order->orderId);
/* If exists return OrderNotifyResponse */
$rsp = OpenPayU::buildOrderNotifyResponse($result->getResponse()->order->orderId);
if (!empty($rsp))
{
header("Content-Type: application/json");
echo $rsp;
}
}
}
catch (OpenPayU_Exception $e)
{
echo $e->getMessage();
}
}
W poprzedniej wiadomości podałem Panu wartości $r1, oraz $r2.
Zamówienie jest natomiast generowane wzorcowym przykładem.
from openpayu_php.
A czy mógłby Pan pokazać na jaki url kierowane są zamówienia? Najlepiej podać wartość zmienniej $pathUrl z pliku Order.php (w funkcji create)
from openpayu_php.
Wychodzi na to, że metoda create z pliku OpenPayU/v2/Order.php w ogóle nie jest wykonywana. Dodałem kod:
public static function create($order)
{
Log::instance()->add(Log::NOTICE, 'wazne');
$pathUrl = OpenPayU_Configuration::getServiceUrl() . self::ORDER_SERVICE;
Log::instance()->add(Log::NOTICE, $pathUrl);
$data = OpenPayU_Util::buildJsonFromArray($order);
Log::instance()->add(Log::NOTICE, $data);
if (empty($data)) {
throw new OpenPayU_Exception('Empty message OrderCreateRequest');
}
$result = self::verifyResponse(OpenPayU_Http::post($pathUrl, $data), 'OrderCreateResponse');
return $result;
}
W logach natomiast nie pojawia się żadna ze wskazanych adnotacji.
from openpayu_php.
Wychodzi na to, że problem jest w funkcji: OpenPayU_Order::hostedOrderForm($order);
Jeśli przygotuję formularz taką metodą:
$response = OpenPayU_Order::create($order);
$this->redirect($response->getResponse()->redirectUri);
Powiadomienie nie zwraca takiego błędu.
from openpayu_php.
Czy mógłby Pan w takim wypadku skorzystać z OpenPayU_Order::create($order)? Ta funkcja korzysta z najnowszej wersji API i działa poprawnie. Przy okazji dziękujemy za potwierdzenie buga w formularzu.
from openpayu_php.
Oczywiście. Dziękuję za pomoc.
from openpayu_php.
Problem wydaje się dosyć prosty - tutaj też występują w generowanym formularzu z hostedOrderForm
duże litery w nazwach zmiennych. U mnie również hostedOrderForm nie chce działać, a create sprawia wrażenie działającego. W wyniku działania wysłanego formularza z hostedOrderForm przy odbieraniu wiadomości (consume) pojawiają się zmienne rozpoczynające się z dużych liter, natomiast przy użyciu ::consume(order) z małych (dlatego między innymi działa consume a hosterOrderForm nie)
from openpayu_php.
Related Issues (20)
- The option "additionalDescription" does not exist HOT 1
- Redirected to successfull payment page after no authorization
- Different POST data for different notifications HOT 1
- Unable to receive notification from PayU HOT 1
- Notification not being sent from PayU HOT 1
- Problem with PHP8.
- Util.php has a typo
- SSL verification is not done correctly
- Not getting data in OrderNotify after payment HOT 1
- No standard card token after successfuly payment
- Can i add port number in notify url? HOT 1
- unsuccessful installation under Symfony 5.4 with PHP 8.0 HOT 5
- Api to capture payment from the card, user entered using custom form HOT 10
- Waring coming in successful transaction HOT 14
- Warning coming in successful transaction
- SELinux prevents from successful executing Create Order.php HOT 1
- Recurring Payment Example HOT 1
- Missing method for retrieving payment refunds HOT 1
- Credit Card payment status HOT 4
- Error response 403 and "OpenPayU_Exception_Authorization"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openpayu_php.