Я пытаюсь удалить адрес доставки из кассы, но он не работает. Кроме того, я не уверен, почему покупка идет с Категория: Автозапчасти. Следующий код работает отдельно от вещей, упомянутых выше.
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$item_1 = new Item();
$item_1->setName('Example Item')/** item name **/
->setCurrency('USD') //->setCategory('DIGITAL') seems not to be working
->setQuantity($selection)
->setPrice($price);
/** unit price **/
$item_list = new ItemList();
$item_list->setItems(array($item_1));
$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($selection * $price);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($item_list)
->setDescription($decription);
$redirect_urls = new RedirectUrls();
$redirect_urls->setReturnUrl(URL::route('ppstatus'))/** Specify return URL **/
->setCancelUrl(URL::route('ppstatus'));
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setRedirectUrls($redirect_urls)
->setTransactions(array($transaction));
$inputFields = new InputFields();
$inputFields->setNoShipping(1);
$webProfile = new WebProfile();
$webProfile->setName("example");
$webProfile->setInputFields($inputFields);
try {
$payment->create($this->_api_context);
} catch (\PayPal\Exception\PPConnectionException $ex) {
if (\Config::get('app.debug')) {
return json_encode(['status' => false, 'message' => 'Connection timeout']);
} else {
return json_encode(['status' => false, 'message' => 'Some error occur, sorry for inconvenient']);
}
}
foreach ($payment->getLinks() as $link) {
if ($link->getRel() == 'approval_url') {
$redirect_url = $link->getHref();
break;
}
}
if (isset($redirect_url)) {
/** redirect to paypal **/
return json_encode(['status' => true, 'message' => $redirect_url]);
}
\Session::forget('donatorName');
return json_encode(['status' => false, 'message' => 'Unknown error occurred']);
Любая помощь будет оценена SDK: https://github.com/paypal/PayPal-PHP-SDK