Я боролся с этим в течение последних 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() вызов успеха, но когда я приступаю к оплате, адрес доставки не просят.
Любая помощь будет очень признательна.
Спасибо!
Вы попробовали истину вместо «истины»? Один из них является булевым, другой - строкой. В то время как PHP не имеет права набирать true/false, строка не выполняется для вас. – Jessica
Yeap. Тот же результат. –
Я тоже полностью потерял это. Вы получили еще больше? Документация PayPal ужасна. Он подсказывает, что требуется адрес доставки, но только во встроенном режиме оплаты. –