public function update() { $logger = new PPLoggingManager('UpdateInvoice'); // ##UpdateInvoiceRequest // Use the UpdateInvoiceRequest message to update an invoice. // The code for the language in which errors are returned, which must be // en_US. $requestEnvelope = new RequestEnvelope(); $requestEnvelope->ErrorLanguage = "en_US"; $invoiceItemList = array(); // InvoiceItemType which takes mandatory params: // // * `Item Name` - SKU or name of the item. // * `Quantity` - Item count. // * `Amount` - Price of the item, in the currency specified by the // invoice. $invoiceItem = new InvoiceItemType("Item", "2", "4.00"); $invoiceItemList[0] = $invoiceItem; // Invoice item. $itemList = new InvoiceItemListType($invoiceItemList); // InvoiceType which takes mandatory params: // // * `Merchant Email` - Merchant email address. // * `Personal Email` - Payer email address. // * `InvoiceItemList` - List of items included in this invoice. // * `CurrencyCode` - Currency used for all invoice item amounts and // totals. // * `PaymentTerms` - Terms by which the invoice payment is due. It is // one of the following values: // * DueOnReceipt - Payment is due when the payer receives the invoice. // * DueOnDateSpecified - Payment is due on the date specified in the // invoice. // * Net10 - Payment is due 10 days from the invoice date. // * Net15 - Payment is due 15 days from the invoice date. // * Net30 - Payment is due 30 days from the invoice date. // * Net45 - Payment is due 45 days from the invoice date. $invoice = new InvoiceType("*****@*****.**", "*****@*****.**", $itemList, "USD", "DueOnReceipt"); // UpdateInvoiceRequest which takes mandatory params: // // * `Request Envelope` - Information common to each API operation, such // as the language in which an error message is returned. // * `Invoice ID` - ID of the invoice to update. // * `Invoice` - Merchant, payer, and invoice information. $updateInvoiceRequest = new UpdateInvoiceRequest($requestEnvelope, "INV2-ZC9R-X6MS-RK8H-4VKJ", $invoice); // ## Creating service wrapper object // Creating service wrapper object to make API call and loading // configuration file for your credentials and endpoint $service = new InvoiceService(); try { // ## Making API call // Invoke the appropriate method corresponding to API in service // wrapper object $response = $service->UpdateInvoice($updateInvoiceRequest); } catch (Exception $ex) { $logger->error("Error Message : " . $ex->getMessage()); } // ## Accessing response parameters // You can access the response parameters using variables in // response object as shown below // ### Success values if ($response->responseEnvelope->ack == "Success") { // ID of the created invoice. $logger->log("Invoice ID : " . $response->invoiceID); } else { $logger->error("API Error Message : " . $response->error[0]->message); } return $response; }
*/ $updateInvoiceRequest = new UpdateInvoiceRequest($requestEnvelope, $_POST['invoiceId'], $invoice); /* * ## Creating service wrapper object Creating service wrapper object to make API call and loading configuration file for your credentials and endpoint */ $invoiceService = new InvoiceService(Configuration::getAcctAndConfig()); // required in third party permissioning if ($_POST['accessToken'] != null && $_POST['tokenSecret'] != null) { $cred = new PPSignatureCredential(USERNAME, PASSWORD, SIGNATURE); $cred->setThirdPartyAuthorization(new PPTokenAuthorization($_POST['accessToken'], $_POST['tokenSecret'])); } try { if ($_POST['accessToken'] != null && $_POST['tokenSecret'] != null) { $updateInvoiceResponse = $invoiceService->UpdateInvoice($updateInvoiceRequest, $cred); } else { $updateInvoiceResponse = $invoiceService->UpdateInvoice($updateInvoiceRequest); } } catch (Exception $ex) { require_once 'error.php'; exit; } echo "<table>"; echo "<tr><td>Ack :</td><td><div id='Ack'>" . $updateInvoiceResponse->responseEnvelope->ack . "</div> </td></tr>"; echo "<tr><td>InvoiceID :</td><td><div id='InvoiceID'>" . $updateInvoiceResponse->invoiceID . "</div> </td></tr>"; echo "</table>"; require 'ShowAllResponse.php'; echo "<pre>"; var_dump($updateInvoiceResponse); echo "</pre>";
// send request $item1 = new InvoiceItemType($_POST['item_name1'], $_POST['item_quantity1'], $_POST['item_unitPrice1']); $item2 = new InvoiceItemType($_POST['item_name2'], $_POST['item_quantity2'], $_POST['item_unitPrice2']); $itemList = new InvoiceItemListType(); $itemList->item = array($item1, $item2); $invoice = new InvoiceType($_POST['merchantEmail'], $_POST['payerEmail'], $itemList, $_POST['currencyCode'], $_POST['paymentTerms']); $requestEnvelope = new RequestEnvelope("en_US"); $updateInvoiceRequest = new UpdateInvoiceRequest($requestEnvelope, $_POST['invoiceId'], $invoice); $logger->info("created UpdateInvoiceRequest Object"); $invoiceService = new InvoiceService(); // required in third party permissioning if ($_POST['accessToken'] != null && $_POST['tokenSecret'] != null) { $invoiceService->setAccessToken($_POST['accessToken']); $invoiceService->setTokenSecret($_POST['tokenSecret']); } $updateInvoiceResponse = $invoiceService->UpdateInvoice($updateInvoiceRequest, 'jb-us-seller_api1.paypal.com'); $logger->info("Received UpdateInvoiceResponse:"); var_dump($updateInvoiceResponse); } else { ?> <form method="POST"> <div id="apidetails">The UpdateInvoice API operation is used to update an invoice.</div> <div class="params"> <div class="param_name">Invoice ID *</div> <div class="param_value"><input type="text" name="invoiceId"/></div> <div class="param_name">Merchant Email</div> <div class="param_value"><input type="text" name="merchantEmail" value="*****@*****.**" size="50" maxlength="260" /></div> <div class="param_name">Payer Email</div> <div class="param_value"><input type="text" name="payerEmail"