Location: PHPKode > scripts > PayPal PHP SDK > rest-api-sdk-php-0.7.0/sample/payments/RefundCapture.php
// # Refund Capture Sample
// This sample code demonstrate how you can
// process a refund on a Captured transaction created
// using the Capture API.
// API used: /v1/payments/capture/{<captureID>}/refund
require __DIR__ . '/../bootstrap.php';
use PayPal\Api\Authorization;
use PayPal\Api\Capture;
use PayPal\Api\Refund;
use PayPal\Api\Address;
use PayPal\Api\Amount;
use PayPal\Api\CreditCard;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\FundingInstrument;
use PayPal\Api\Transaction;
use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;

// create payment to get authorization Id
$authId = createAuthorization($apiContext);

$amt = new Amount();

### Capture
$captur = new Capture();

// get the authorization
$authorization = Authorization::get($authId, $apiContext);

// ### Capture Payment
// Capture Payment by posting to the APIService
// using a valid ApiContext (See bootstrap.php for more on `ApiContext`)
// The return object contains the status;
try {
	$capt = $authorization->capture($captur, $apiContext);
} catch (\PPConnectionException $ex) {
	echo "Exception: " . $ex->getMessage() . PHP_EOL;

// ### Refund
// Create a refund object indicating
// refund amount

$refund = new Refund();

$capture = Capture::get($capt->getId(), $apiContext);

// create new API context 
$context = new ApiContext(new OAuthTokenCredential(
try {
	// (See bootstrap.php for more on `ApiContext`)
	$captureRefund = $capture->refund($refund, $context);
} catch (\PPConnectionException $ex) {
	echo "Exception: " . $ex->getMessage() . PHP_EOL;

	<div>Refund Capture:</div>
	<pre><?php var_dump($captureRefund);?></pre>
	<a href='../index.html'>Back</a>
function createAuthorization($apiContext)
	$addr = new Address();
	$addr->setLine1("3909 Witmer Road");
	$addr->setLine2("Niagara Falls");
	$addr->setCity("Niagara Falls");
	$card = new CreditCard();
	$fi = new FundingInstrument();
	$payer = new Payer();
	$amount = new Amount();
	$transaction = new Transaction();
	$transaction->setDescription("This is the payment description.");
	$payment = new Payment();
	$paymnt = $payment->create($apiContext);
	$resArray = $paymnt->toArray();
	return $authId = $resArray['transactions'][0]['related_resources'][0]['authorization']['id'];
Return current item: PayPal PHP SDK