Closed (fixed)
Project:
Commerce PayU
Version:
7.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Reporter:
Created:
4 Feb 2012 at 20:09 UTC
Updated:
20 Feb 2012 at 05:38 UTC
Jump to comment: Most recent file
Prawdopodobnie jest nie obsłużona sytuacja kiedy mamy wyłączone pobierania billing information. Przy próbie płacenia dostaje:
EntityMetadataWrapperException: Unknown data property commerce_customer_address. in EntityStructureWrapper->getPropertyInfo() (line 339 of /var/aegir/platforms/commerce_kickstart-7.2/profiles/commerce_kickstart/modules/contrib/entity/includes/entity.wrapper.inc).
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | commerce_payu-add_one_condition-707484-2.patch | 1.75 KB | marcin.wosinek |
Comments
Comment #1
marcin.wosinek commentedBłąd przestaje się pojawiać kiedy wykomentuje z commerce_payu.module ten kod:
Do czego służy ten kod?
Prawdopodobnie trzeba we wrapperze inaczej sprawdzać czy ma pole. Poszukam i wrzucę patch
Comment #2
marcin.wosinek commentedPatch dokłada jeden warunek: zanim zaczniemy sięgać głębiej sprawdzamy najpierw czy
$wrapper->commerce_customer_billing->commerce_customer_addressistniejeComment #3
arturro commentedSprawdzę to, kod składał dane klienta do wysłania dla systemu PayU. Niektóre pola są obowiązkowe u nich obowiązkowe, więc trzeba zobaczyć co jest dostępne w drupalu. Jeśli nie ma kompletu wymaganego przez PayU to blokować płatność.
Comment #4
marcin.wosinek commentedOkazuje się że musimy pobierać dane od usera (zgodnie z tym opisem).
Zobaczy czy da się w jakiś sposób wymusić z poziomu modułu żeby system przy checkoucie pobrał dane potrzebne do przekazania do payu
Comment #5
marcin.wosinek commentedZweryfikowałem działania modułu z wykorzystaniem patcha - płatność jest zarejestrowana prawidłowo, nawet kiedy nie wysyłamy nazwiska do payu.
Patch wg mnie nadaje się do skomitowania. Działa wg nieudokumentowanego featura payu; ale za to usuwa brzydki błąd w sytuacji kiedy nie mamy billing information w checkoucie.
Comment #6
marcin.wosinek commentedW przypadku braku i 'billing information' i 'accounts information' jest błąd tylko dla niezalogowanego usera - commerce blokuje transakcje, bo nie wie gdzie wysłać maila.
Ze strony PayU, brak wymaganych danych nie powoduje błędu.
Comment #7
marcin.wosinek commentedDo przetestowania:
czy jeśli nie przekarzemy do payu danych user (imię nazwisko) to czy payu pobierze te dane przy płaceniu kartą.
U mnie test się chyba odroczy - strona nie jest jeszcze w pełni zaakceptowana przez payu i przy próbie płatności inne niż testowej dają mi info że dana opcja nie jest dostępna.
Comment #8
arturro commentedBilling z tego co widzę jest wymagany, sprawdzam czy są dane jeśli nie to wyświetla się komunikat błędu z prośbą o włączenie. Wersja minimalistyczna, ale tutaj imho nie ma się co rozwodzić. Sprawdź czy działa ok.
Comment #9
marcin.wosinek commentedDziała ok. Jest bardziej informatywne niż sypanie błędem; a komunikat powienien być i tak wyłapany przy testach.
Comment #10
arturro commentedZostawiam, więc jak jest.