Server IP : 66.29.132.124 / Your IP : 3.129.249.240 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/omnipay/paypal/src/Message/ |
Upload File : |
<?php /** * PayPal REST Refund Request */ namespace Omnipay\PayPal\Message; /** * PayPal REST Refund Request * * To get details about completed payments (sale transaction) created by a payment request * or to refund a direct sale transaction, PayPal provides the /sale resource and related * sub-resources. * * TODO: There might be a problem here, in that refunding a capture requires a different URL. * * TODO: Yes I know. The gateway doesn't yet support looking up or refunding captured * transactions. That will require adding additional message classes because the URLs * are all different. * * A non-zero amount can be provided for the refund using setAmount(), if this is not * provided (or is zero) then a full refund is made. * * Example -- note this example assumes that the purchase has been successful * and that the transaction ID returned from the purchase is held in $sale_id. * See RestPurchaseRequest for the first part of this example transaction: * * <code> * $transaction = $gateway->refund(array( * 'amount' => '10.00', * 'currency' => 'AUD', * )); * $transaction->setTransactionReference($sale_id); * $response = $transaction->send(); * if ($response->isSuccessful()) { * echo "Refund transaction was successful!\n"; * $data = $response->getData(); * echo "Gateway refund response data == " . print_r($data, true) . "\n"; * } * </code> * * ### Known Issues * * PayPal subscription payments cannot be refunded. PayPal is working on this functionality * for their future API release. In order to refund a PayPal subscription payment, you will * need to use the PayPal web interface to refund it manually. * * @see RestPurchaseRequest */ class RestRefundRequest extends AbstractRestRequest { public function getData() { $this->validate('transactionReference'); if ($this->getAmount() > 0) { return array( 'amount' => array( 'currency' => $this->getCurrency(), 'total' => $this->getAmount(), ), 'description' => $this->getDescription(), ); } else { return new \stdClass(); } } public function getEndpoint() { return parent::getEndpoint() . '/payments/sale/' . $this->getTransactionReference() . '/refund'; } }