* $paymentId = $_GET['paymentId']; * $payerId = $_GET['payerId']; * * // Once the transaction has been approved, we need to complete it. * $transaction = $gateway->completePurchase(array( * 'payer_id' => $payer_id, * 'transactionReference' => $sale_id, * )); * $response = $transaction->send(); * if ($response->isSuccessful()) { * // The customer has successfully paid. * } else { * // There was an error returned by completePurchase(). You should * // check the error code and message from PayPal, which may be something * // like "card declined", etc. * } * * * @see RestPurchaseRequest * @link https://developer.paypal.com/docs/api/#execute-an-approved-paypal-payment */ class RestCompletePurchaseRequest extends AbstractRestRequest { /** * Get the raw data array for this message. The format of this varies from gateway to * gateway, but will usually be either an associative array, or a SimpleXMLElement. * * @return mixed */ public function getData() { $this->validate('transactionReference', 'payerId'); $data = array( 'payer_id' => $this->getPayerId() ); return $data; } public function getEndpoint() { return parent::getEndpoint() . '/payments/payment/' . $this->getTransactionReference() . '/execute'; } }