/** * Perform the refund to transfer the amount from seller * to buyer * * @param string $refundAmount amount to refund to the buyer * @param string $refundCurrency currency of the refund * * @return void */ public function refundToBuyer($refundAmount, $refundCurrency, $providerCreditReversalInfo = null) { $refund = new OffAmazonPaymentsService_Model_Price(); $refund->setCurrencyCode($refundCurrency); $refund->setAmount($refundAmount); $refundRequest = new OffAmazonPaymentsService_Model_RefundRequest(); $refundRequest->setSellerId($this->_sellerId); $refundRequest->setAmazonCaptureId($this->_amazonCaptureId); $refundRequest->setRefundReferenceId($this->_refundReferenceId); $refundRequest->setRefundAmount($refund); if ($providerCreditReversalInfo != null) { $refundRequest->setProviderCreditReversalList(new OffAmazonPaymentsService_Model_ProviderCreditReversalList()); $values = array(); $providerCreditReversal = new OffAmazonPaymentsService_Model_ProviderCreditReversal(); $providerCreditReversal->setProviderId($providerCreditReversalInfo[0]); $creditReversalAmount = new OffAmazonPaymentsService_Model_Price(); $creditReversalAmount->setAmount($providerCreditReversalInfo[1]); $creditReversalAmount->setCurrencyCode($refundCurrency); $providerCreditReversal->setCreditReversalAmount($creditReversalAmount); array_push($values, $providerCreditReversal); $refundRequest->getProviderCreditReversalList()->setmember($values); } return $this->_service->refund($refundRequest); }