Update order
PATCH {{base_url}}/v2/checkout/orders/:order_id
Updates an order with a CREATED or APPROVED status. You cannot update an order with the COMPLETED status.
To make an update, you must provide a reference_id. If you omit this value with an order that contains only one purchase unit, PayPal sets the value to default which enables you to use the path: /purchase_units/@reference_id=='default'/{attribute-or-object}
Note: For error handling and troubleshooting, see Orders v2 errors.Patchable attributes or objects:
| Attribute | Op | Notes | 
|---|---|---|
| intent | replace | |
| payer | replace, add | Using replace op for payerwill replace the wholepayerobject with the value sent in request. | 
| purchaseunits | replace, add | |
| purchaseunits[].customid | replace, add, remove | |
| purchaseunits[].description | replace, add, remove | |
| purchaseunits[].payee.email | replace | |
| purchaseunits[].shipping.name | replace, add | |
| purchaseunits[].shipping.address | replace, add | |
| purchaseunits[].shipping.type | replace, add | |
| purchaseunits[].softdescriptor | replace, remove | |
| purchaseunits[].amount | replace | |
| purchaseunits[].invoiceid | replace, add, remove | |
| purchaseunits[].paymentinstruction | replace | |
| purchaseunits[].paymentinstruction.disbursementmode | replace | By default, disbursementmodeisINSTANT. | 
| purchaseunits[].paymentinstruction.platformfees | replace, add, remove | 
Request Body
{"0"=>{"op"=>"add", "path"=>"/purchase_units/@reference_id=='default'/shipping/address", "value"=>{"address_line_1"=>"123 Townsend St", "address_line_2"=>"Floor 6", "admin_area_2"=>"San Francisco", "admin_area_1"=>"CA", "postal_code"=>"94107", "country_code"=>"US"}}, "1"=>{"op"=>"add", "path"=>"/purchase_units/@reference_id=='default'/invoice_id", "value"=>"03012022-3303-01"}}
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. | |
| 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> | |
| 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. | |