%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/vendor/omnipay/paypal/src/Message/ |
Current File : /home/graphicd/public_html/vebto/vendor/omnipay/paypal/src/Message/RestRefundRequest.php |
<?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'; } }