Fully update invoice

PUT {{base_url}}/v2/invoicing/invoices/:invoice_id?send_to_recipient=true&send_to_invoicer=true

Fully updates an invoice, by ID. In the JSON request body, include a complete invoice object. This call does not support partial updates.

Request Params

| Key | Datatype | Required | Description | | send_to_recipient | boolean | | Indicates whether to send the invoice update notification to the recipient. | | send_to_invoicer | boolean | | Indicates whether to send the invoice update notification to the merchant. |

Request Body

{"id"=>"{{invoice_id}}", "status"=>"DRAFT", "detail"=>{"invoice_number"=>"{{$timestamp}}", "reference"=>"deal-reference-update", "invoice_date"=>"2018-11-12", "currency_code"=>"USD", "note"=>"Thank you for your business.", "term"=>"No refunds after 30 days.", "memo"=>"This is a long contract", "payment_term"=>{"term_type"=>"NET_10", "due_date"=>"2018-11-22"}}, "invoicer"=>{"name"=>{"given_name"=>"David", "surname"=>"Larusso"}, "address"=>{"address_line_1"=>"1234 First Street", "address_line_2"=>"337673 Hillside Court", "admin_area_2"=>"Anytown", "admin_area_1"=>"CA", "postal_code"=>"98765", "country_code"=>"US"}, "phones"=>[{"country_code"=>"001", "national_number"=>"4085551234", "phone_type"=>"MOBILE"}], "website"=>"www.test.com", "tax_id"=>"ABcNkWSfb5ICTt73nD3QON1fnnpgNKBy-Jb5SeuGj185MNNw6g", "logo_url"=>"https://example.com/logo.PNG", "additional_notes"=>"2-4"}, "primary_recipients"=>[{"billing_info"=>{"name"=>{"given_name"=>"Stephanie", "surname"=>"Meyers"}, "address"=>{"address_line_1"=>"1234 Main Street", "admin_area_2"=>"Anytown", "admin_area_1"=>"CA", "postal_code"=>"98765", "country_code"=>"US"}, "email_address"=>"foobuyer@gmail.com", "phones"=>[{"country_code"=>"001", "national_number"=>"4884551234", "phone_type"=>"HOME"}], "additional_info_value"=>"add-info"}, "shipping_info"=>{"name"=>{"given_name"=>"Stephanie", "surname"=>"Meyers"}, "address"=>{"address_line_1"=>"1234 Main Street", "admin_area_2"=>"Anytown", "admin_area_1"=>"CA", "postal_code"=>"98765", "country_code"=>"US"}}}], "items"=>[{"name"=>"Yoga Mat", "description"=>"Elastic mat to practice yoga.", "quantity"=>"1", "unit_amount"=>{"currency_code"=>"USD", "value"=>"50.00"}, "tax"=>{"name"=>"Sales Tax", "percent"=>"7.25", "amount"=>{"currency_code"=>"USD", "value"=>"3.27"}}, "discount"=>{"percent"=>"5", "amount"=>{"currency_code"=>"USD", "value"=>"2.5"}}, "unit_of_measure"=>"QUANTITY"}, {"name"=>"Yoga t-shirt", "quantity"=>"1", "unit_amount"=>{"currency_code"=>"USD", "value"=>"10.00"}, "tax"=>{"name"=>"Sales Tax", "percent"=>"7.25", "amount"=>{"currency_code"=>"USD", "value"=>"0.34"}}, "discount"=>{"amount"=>{"currency_code"=>"USD", "value"=>"5.00"}}, "unit_of_measure"=>"QUANTITY"}], "configuration"=>{"partial_payment"=>{"allow_partial_payment"=>true, "minimum_amount_due"=>{"currency_code"=>"USD", "value"=>"20.00"}}, "allow_tip"=>true, "tax_calculated_after_discount"=>true, "tax_inclusive"=>false}, "amount"=>{"currency_code"=>"USD", "value"=>"74.21", "breakdown"=>{"item_total"=>{"currency_code"=>"USD", "value"=>"60.00"}, "custom"=>{"label"=>"Packing Charges", "amount"=>{"currency_code"=>"USD", "value"=>"10.00"}}, "shipping"=>{"amount"=>{"currency_code"=>"USD", "value"=>"10.00"}, "tax"=>{"name"=>"Sales Tax", "percent"=>"7.25", "amount"=>{"currency_code"=>"USD", "value"=>"0.73"}}}, "discount"=>{"item_discount"=>{"currency_code"=>"USD", "value"=>"-7.50"}, "invoice_discount"=>{"percent"=>"5", "amount"=>{"currency_code"=>"USD", "value"=>"-2.63"}}}, "tax_total"=>{"currency_code"=>"USD", "value"=>"4.34"}}}}

HEADERS

| Key | Datatype | Required | Description | | Content-Type | string | | The Content-Type header field is used to specify the nature of the data in the body of an entity. PayPal REST APIs support application/json. | | PayPal-Request-Id | string | | The server stores keys for 6 hours. The API callers can request the times to up to 72 hours by speaking to their Account Manager. | | PayPal-Client-Metadata-Id | string | | Optional. Verifies that the payment originates from a valid, user-consented device and application. Reduces fraud and decreases declines. Transactions that do not include a client metadata ID are not eligible for PayPal Seller Protection. | | PayPal-Partner-Attribution-Id | string | | Optional. Identifies the caller as a PayPal partner. To receive revenue attribution, specify a unique build notation (BN) code. BN codes provide tracking on all transactions that originate or are associated with a particular partner. To find your BN code, see Code and Credential Reference. | | PayPal-Auth-Assertion | string | | An API client-provided JSON Web Token (JWT) assertion that identifies the merchant. To use this header, you must get consent to act on behalf of a merchant. | | Prefer | string | | The preferred server response upon successful completion of the request. Value is:<ul><li><code>return=minimal</code>. The server returns a minimal response to optimize communication between the API caller and the server. A minimal response includes the <code>id</code>, <code>status</code> and HATEOAS links.</li><li><code>return=representation</code>. The server returns a complete resource representation, including the current state of the resource.</li></ul> | | Prefer | string | | The preferred server response upon successful completion of the request. Value is:<ul><li><code>return=minimal</code>. The server returns a minimal response to optimize communication between the API caller and the server. A minimal response includes the <code>id</code>, <code>status</code> and HATEOAS links.</li><li><code>return=representation</code>. The server returns a complete resource representation, including the current state of the resource.</li></ul> |

RESPONSES

status: OK

{&quot;rel&quot;:&quot;self&quot;,&quot;href&quot;:&quot;https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-U95S-EB3F-W2WE-DMRN&quot;,&quot;method&quot;:&quot;GET&quot;}