В транзакции PayPal API отказано при возврате

1

Этот код не работает:

$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}".

  • 0
    Вы можете опубликовать полный ответ от PayPal, который включает в себя идентификатор отладки?
  • 0
    var_dump ответа дает: 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', ))
Показать ещё 3 комментария
Теги:
paypal

1 ответ

0
Лучший ответ

На основе debug_id транзакция уже полностью возмещена, поэтому вы получаете такое сообщение об ошибке. Вы можете создать новую транзакцию, а затем попытаться снова вернуть ее для тестирования.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню