Create draft invoice
POST {{base_url}}/v2/invoicing/invoices
Creates a draft invoice. To move the invoice from a draft to payable state, you must
send the invoice
.
In the JSON request body, include invoice details including merchant information. The
invoice
object must include an
items
array.
Note: The merchant that you specify in an invoice must have a PayPal account in good standing..
Request Body
{"detail"=>{"invoice_number"=>"{{draft_invoice_number}}", "invoice_date"=>"2022-02-04", "payment_term"=>{"term_type"=>"NET_10", "due_date"=>"2022-02-14"}, "currency_code"=>"USD", "reference"=>"<The reference data. Includes a post office (PO) number.>", "note"=>"<A note to the invoice recipient. Also appears on the invoice notification email.>", "terms_and_conditions"=>"<The general terms of the invoice. Can include return or cancellation policy and other terms and conditions.>", "memo"=>"<A private bookkeeping note for merchant.>"}, "invoicer"=>{"name"=>{"given_name"=>"David", "surname"=>"Larusso"}, "address"=>{"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"}, "phones"=>[{"country_code"=>"001", "national_number"=>"4085551234", "phone_type"=>"MOBILE"}], "website"=>"www.example.com", "tax_id"=>"XX-XXXXXXX", "logo_url"=>"https://example.com/logo.png", "additional_notes"=>"<Any additional information. Includes business hours.>"}, "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@example.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"}, "discount"=>{"percent"=>"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"}, "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"=>{"breakdown"=>{"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"}}, "discount"=>{"invoice_discount"=>{"percent"=>"5"}}}}}
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: Created
{"id":"INV2-APM2-WC6A-8J5E-BLVW","status":"DRAFT","detail":{"currency_code":"USD","category_code":"SHIPPABLE","invoice_number":"1644276919","invoice_date":"2022-02-07","payment_term":{"term_type":"NO_DUE_DATE"},"viewed_by_recipient":false,"group_draft":false,"metadata":{"create_time":"2022-02-07T23:36:47Z","last_update_time":"2022-02-07T23:36:47Z","created_by_flow":"REGULAR_SINGLE","recipient_view_url":"https://www.sandbox.paypal.com/invoice/p/#APM2WC6A8J5EBLVW","invoicer_view_url":"https://www.sandbox.paypal.com/invoice/details/INV2-APM2-WC6A-8J5E-BLVW","caller_type":"API_V2_INVOICE"},"archived":false},"invoicer":{},"configuration":{"tax_calculated_after_discount":false,"tax_inclusive":false,"allow_tip":false,"template_id":"TEMP-1L131815AG126341C"},"amount":{"breakdown":{"discount":{"invoice_discount":{"amount":{"currency_code":"USD","value":"0.00"}},"item_discount":{"currency_code":"USD","value":"0.00"}},"tax_total":{"currency_code":"USD","value":"0.00"}},"currency_code":"USD","value":"0.00"},"due_amount":{"currency_code":"USD","value":"0.00"},"links":[{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-APM2-WC6A-8J5E-BLVW","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-APM2-WC6A-8J5E-BLVW/send","rel":"send","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-APM2-WC6A-8J5E-BLVW","rel":"replace","method":"PUT"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-APM2-WC6A-8J5E-BLVW","rel":"delete","method":"DELETE"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-APM2-WC6A-8J5E-BLVW/payments","rel":"record-payment","method":"POST"}]}