invoice/RecordRefund.php
<?php

# Record Refund Sample

This sample code demonstrate how you can record an invoice as refunded.

/** @var Invoice $invoice */ $invoice = require 'RecordPayment.php'; use PayPal\Api\Invoice; use PayPal\Api\RefundDetail; try {

### Record Object

Create a RefundDetail object, and fill in the required fields You can use the new way of injecting json directly to the object.

$refund = new RefundDetail( '{ "date" : "2014-07-06 03:30:00 PST", "note" : "Refund provided by cash." }' );

### Record Refund for Invoice

Record a refund on invoice object by calling the `recordRefund` method on the Invoice class by passing a valid notification object (See bootstrap.php for more on `ApiContext`)

$refundStatus = $invoice->recordRefund($refund, $apiContext); } catch (Exception $ex) {

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printError("Refund for Invoice", "Invoice", null, null, $ex); exit(1); }

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printResult("Refund for Invoice", "Invoice", $invoice->getId(), $refund, null);

### Retrieve Invoice

Retrieve the invoice object by calling the static `get` method on the Invoice class by passing a valid Invoice ID (See bootstrap.php for more on `ApiContext`)

try { $invoice = Invoice::get($invoice->getId(), $apiContext); } catch (Exception $ex) {

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printError("Get Invoice (Not Required - For Sample Only)", "Invoice", $invoice->getId(), $invoice->getId(), $ex); exit(1); }

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printResult("Get Invoice (Not Required - For Sample Only)", "Invoice", $invoice->getId(), $invoice->getId(), $invoice); return $invoice;