Этот код не работает:
$sale = $this->get_sale($saleId);
$amt = $sale->getAmount();
$refund = new Refund();
$refund->setAmount($amt);
$refundSale = new Sale();
$refundSale->setId($saleId);
$refundedSale = $refundSale->refund($refund, $this->apiContext);
Я попробовал не предоставлять объект "Сумма", чтобы начать полный возврат средств, на https://developer.paypal.com/docs/integration/direct/refund-payment/.
Но это тоже не работает:
$sale = $this->get_sale($saleId);
$refund = new Refund();
$refundSale = new Sale();
$refundSale->setId($saleId);
$refundedSale = $refundSale->refund($refund, $this->apiContext);
Может ли кто-нибудь определить, что я делаю неправильно? Ответ API не дает подробностей относительно того, что происходит, просто код ошибки 400 и "Запрос был отклонен. {0}".
На основе debug_id транзакция уже полностью возмещена, поэтому вы получаете такое сообщение об ошибке. Вы можете создать новую транзакцию, а затем попытаться снова вернуть ее для тестирования.
stdClass::__set_state(array( 'name' => 'TRANSACTION_REFUSED', 'message' => 'The request was refused.{0}', 'information_link' => 'https://developer.paypal.com/webapps/developer/docs/api/#TRANSACTION_REFUSED', 'debug_id' => 'e5c656a198a83', ))