Paypal Sandbox meldet, XXX versendet nicht an diesen Ort. Verwenden Sie eine andere Adresse

Ich hatte jetzt auch mit diesem Problem zu kämpfen weswegen ich einmal aufführe was hier vermutlich schief läuft.

das Problem ist auf eine restriktierung der Zahlungsmethode auf einen Bestimmten Nutzergruppe zurück zu führen

und zwar wird hier im paypal modul die funktion isPayPalInDeliverySet() benutzt welche auf eine Oxid vendor classe zugrieft. PaymentList::class

PaymentList->_getFilterSelect() gibt mir hier folgenden querie aus.

select oxv_oxpayments_de.* from
(
select distinct oxv_oxpayments_de.*
from oxv_oxpayments_de
left join oxobject2group ON oxobject2group.oxobjectid = oxv_oxpayments_de.oxid
inner join oxobject2payment
ON oxobject2payment.oxobjectid = ‘fb3c5bbb95f4cd082f3986350a19ce00’ and oxobject2payment.oxpaymentid = oxv_oxpayments_de.oxid
where oxv_oxpayments_de.oxactive=‘1’
and oxv_oxpayments_de.oxfromboni <= ‘0’
and oxv_oxpayments_de.oxfromamount <= ‘178.08’
and oxv_oxpayments_de.oxtoamount >= ‘178.08’
order by oxv_oxpayments_de.oxsort asc ) as oxv_oxpayments_de

where (
select
if( exists(
select 1 from oxobject2payment as ss1, oxv_oxcountry_de
where oxv_oxcountry_de.oxid=ss1.oxobjectid and ss1.oxpaymentid=oxv_oxpayments_de.OXID and ss1.oxtype=‘oxcountry’ limit 1 ),
exists(
select 1 from oxobject2payment as s1
where s1.oxpaymentid=oxv_oxpayments_de.OXID and s1.oxtype=‘oxcountry’ and s1.OXOBJECTID=‘a7c40f631fc920687.20179984’ limit 1 ),
1)
&&
if( exists(
select 1 from oxobject2group as ss3, oxv_oxgroups_de
where oxv_oxgroups_de.oxid=ss3.oxgroupsid and ss3.OXOBJECTID=oxv_oxpayments_de.OXID limit 1 ),
exists(
select 1 from oxobject2group as s3
where s3.OXOBJECTID=oxv_oxpayments_de.OXID and s3.OXGROUPSID in ( ‘oxidnewcustomer’, ‘oxidnotyetordered’ ) limit 1 ),
1
)
)
order by oxv_oxpayments_de.oxsort asc

Siehe
s3.OXGROUPSID in ( 'oxidnewcustomer', 'oxidnotyetordered' )
hier scheint er zu prüfen ob die Zahlungsmethode “oxidpaypal” zu diesen Benutzergruppen zugerodnet ist.
das ist entwede falsch oder irgend wo anders im backend falsch konfiguriert, weil
mein Benutzer nicht in diesen Gruppen ist
Artikel, versandmethode, Zahlungsmethode sind nicht auf diese Benutzergruppen restriktiert
nur die Zahlungsmethode mit der ID “oxidpaypal” (im backend paypal genannt) ist auf “oxid_admin” restriktiert.

Er erkennt also irgendwo eine falsche Zuordnung von Benutzergruppen
in PaymentList->_getFilterSelect() beim Teil $oUser->getUserGroups()

Sobald ich diese restriktion für die Zahlungsmethode auf die Benutzergruppe “oxid_admin” wieder raus nehme, fällt dieser ganze Teil in der querie Erstellung weg und der Zahlungsprozess läuft wieder ohne Fehlermeldung.

1 Like