* // Once the transaction has been authorized, we can capture it for final payment. * $transaction = $gateway->reverseTransfer(array( * 'transferReference' => '{TRANSFER_ID}', * 'description' => 'Had to reverse this transfer because of things' * )); * $response = $transaction->send(); * * * @link https://stripe.com/docs/api#create_transfer_reversal */ class CreateTransferReversalRequest extends RefundRequest { /** * @return mixed */ public function getTransferReference() { return $this->getParameter('transferReference'); } /** * @param string $value * * @return \Omnipay\Common\Message\AbstractRequest */ public function setTransferReference($value) { return $this->setParameter('transferReference', $value); } /** * {@inheritdoc} */ public function getData() { $this->validate('transferReference'); $data = array(); // If no amount is passed, then the entire transfer is reversed if ($this->getAmountInteger()) { $data['amount'] = $this->getAmountInteger(); } if ($this->getMetadata()) { $data['metadata'] = $this->getMetadata(); } if ($this->getDescription()) { $data['description'] = $this->getDescription(); } if ($this->getRefundApplicationFee()) { $data['refund_application_fee'] = 'true'; } return $data; } /** * {@inheritdoc} */ public function getEndpoint() { return $this->endpoint.'/transfers/'.$this->getTransferReference().'/reversals'; } }