2013-06-09 2 views
2

Я боролся с этим в течение последних 5 часов, поэтому давайте посмотрим, может ли кто-нибудь помочь мне здесь.PayPal Adaptive Payments и адрес доставки

Я использую адаптивные платежи PayPal для совершения Цепного платежа (только я и дополнительный ресивер). Проблема в том, что я не могу понять, как заставить покупателя указать адрес доставки.

Вот как я делаю звонки:

$primaryReceiver = new \Receiver(); 
$primaryReceiver->email = '[email protected]'; 
$primaryReceiver->primary = 'true'; 
$primaryReceiver->paymentType = 'SERVICE'; 
$primaryReceiver->amount = 100; 

$secondaryReceiver = new \Receiver(); 
$secondaryReceiver->email = '[email protected]'; 
$secondaryReceiver->primary = 'true'; 
$secondaryReceiver->paymentType = 'GOODS'; 
$secondaryReceiver->amount = 90; 

$receiverList = new \ReceiverList(array($primaryReceiver, $secondaryReceiver)); 

$payRequest = new \PayRequest(
    new \RequestEnvelope('en_US'), 
    'CREATE', 
    'http://my.site.url/pay/cancel', 
    'USD', 
    $receiverList, 
    'http://my.site.url/pay/success' 
); 

// maybe this Pay() call is wrong? should it be some other method? 
$paymentResponse = $service->Pay($payRequest); 

// setting payment options 
$payOptions = new \SetPaymentOptionsRequest(new \RequestEnvelope("en_US"), $paymentResponse->payKey); 
$payOptions->senderOptions = new \SenderOptions(); 
$payOptions->senderOptions->requireShippingAddressSelection = 'true'; 
$payOptionsResponse = $service->setPaymentOptions($payOptions); 

Отклик SetPaymentOptionsRequest для ключа заработной платы, полученной в Pay() вызов успеха, но когда я приступаю к оплате, адрес доставки не просят.

Любая помощь будет очень признательна.

Спасибо!

+0

Вы попробовали истину вместо «истины»? Один из них является булевым, другой - строкой. В то время как PHP не имеет права набирать true/false, строка не выполняется для вас. – Jessica

+0

Yeap. Тот же результат. –

+2

Я тоже полностью потерял это. Вы получили еще больше? Документация PayPal ужасна. Он подсказывает, что требуется адрес доставки, но только во встроенном режиме оплаты. –

ответ

1

У меня такой же опыт и получен ответ от поддержки PayPal, что это невозможно.

Эта функция работает только во встроенном потоке (лайтбоксы или всплывающие окна вместо перенаправления). То же самое с receiverOptions (если вы хотите отобразить дополнительную информацию о продуктах). При перенаправлении работает только displayOptions (например, настройка имени компании).

+1

Ничего себе, это отстой! Я борется последние 3 дня, пытаясь получить стоимость доставки, количество единиц и т. Д., Чтобы работать ... и они говорят, что это даже не возможно ??? Хорошо, что отстой:/ –

+0

Он не работает даже во встроенном режиме. –

Смежные вопросы