View as Markdown
API Spec (JSON)
API Spec (YAML)
Compact modeHides field descriptions and other prose for a more compact, scannable view of the API reference.Deprecation notice: TheCreates a draft invoice. To move the invoice from a draft to payable state, you must send the invoice./v1/invoicesendpoint is deprecated. Use the/v2/invoicesendpoint instead. For details, see PayPal Invoicing Basic Integration.
invoice object must include an items array.Note: The merchant that you specify in an invoice must have a PayPal account in good standing..
Client CredentialsToken URLhttps://api-m.sandbox.paypal.com/v1/oauth2/tokenInheaderScopes
https://uri.paypal.com/services/invoicingapplication/json
TypeScript Definitions
Use the request body type in TypeScript.
merchant_infoobject<merchant-info>Requiredaddressobject<address>Optionalcountry_codestringRequiredNote: The country code for Great Britain is `GB` and not `UK` as is used in that country's top-level domain names. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
statestringOptionalphoneobject<phone>Optionalfaxobject<phone>Optionalbilling_infoobject<billing-info>[]OptionalNote: This value is an array with only one element.
phoneobject<phone>Optionaladdressobject<address>Optionalcountry_codestringRequiredNote: The country code for Great Britain is `GB` and not `UK` as is used in that country's top-level domain names. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
statestringOptionallanguageenumOptionalshipping_infoobject<shipping-info>Optionaladdressobject<address>Optionalcountry_codestringRequiredNote: The country code for Great Britain is `GB` and not `UK` as is used in that country's top-level domain names. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
statestringOptionalcc_infoobject<participant>[]Optionalitemsobject<invoice-item>[]Optionalunit_priceobject<currency>RequiredvaluestringRequiredtaxobject<tax>Optionaldiscountobject<discount>Optionalamountobject<currency>OptionalvaluestringRequiredpayment_termobject<payment-term>Optionaldiscountobject<discount>Optionalamountobject<currency>OptionalvaluestringRequiredshipping_costobject<shipping-cost>Optionalamountobject<currency>OptionalvaluestringRequiredtaxobject<tax>Optionalcustomobject<custom-amount>Optionalamountobject<currency>OptionalvaluestringRequiredminimum_amount_dueobject<currency>OptionalvaluestringRequiredallow_tipbooleanOptionalNote: This feature is not available for merchants in `Hong Kong`, `Taiwan`, `India`, or `Japan`.
template_idstringOptionalNote: If you are just using the Invoicing APIs to create and send invoices, leave this field blank. The `template_id` is only needed if you use the Invoicing API to build a full invoicing solution that includes templates.
application/json
application/json
curl -X POST "https://example.com/v1/invoicing/invoices" \ -H "Content-Type: application/json" \ -d '{ "merchant_info": {} }'{ "id": "string", "number": "string", "status": "DRAFT", "merchant_info": { "email": "[email protected]", "business_name": "string", "first_name": "string", "last_name": "string", "address": { "line1": "string", "line2": "string", "city": "string", "country_code": "string", "postal_code": "string", "state": "string", "phone": "string" }, "phone": { "country_code": "str", "national_number": "string" }, "fax": { "country_code": "str", "national_number": "string" }, "website": "http://example.com", "tax_id": "string", "additional_info": "string" }, "billing_info": [ { "email": "[email protected]", "phone": { "country_code": "str", "national_number": "string" }, "first_name": "string", "last_name": "string", "business_name": "string", "address": { "line1": "string", "line2": "string", "city": "string", "country_code": "string", "postal_code": "string", "state": "string", "phone": "string" }, "language": "da_DK", "additional_info": "string" } ], "shipping_info": { "first_name": "string", "last_name": "string", "business_name": "string", "address": { "line1": "string", "line2": "string", "city": "string", "country_code": "string", "postal_code": "string", "state": "string", "phone": "string" } }, "cc_info": [ { "email": "[email protected]" } ], "items": [ { "name": "string", "description": "string", "quantity": 0, "unit_price": { "currency": "string", "value": "string" }, "tax": { "name": "string", "percent": 0, "amount": { "currency": "string", "value": "string" }, "tax_note": "string" }, "date": "2019-08-24", "discount": { "percent": 0, "amount": { "currency": "string", "value": "string" } }, "unit_of_measure": "QUANTITY" } ], "invoice_date": "2019-08-24", "payment_term": { "term_type": "DUE_ON_RECEIPT", "due_date": "2019-08-24" }, "reference": "string", "discount": { "percent": 0, "amount": { "currency": "string", "value": "string" } }, "shipping_cost": { "amount": { "currency": "string", "value": "string" }, "tax": { "name": "string", "percent": 0, "amount": { "currency": "string", "value": "string" }, "tax_note": "string" } }, "custom": { "label": "string", "amount": { "currency": "string", "value": "string" } }, "allow_partial_payment": false, "minimum_amount_due": { "currency": "string", "value": "string" }, "tax_calculated_after_discount": false, "tax_inclusive": false, "terms": "string", "note": "string", "merchant_memo": "string", "logo_url": "http://example.com", "total_amount": { "currency": "string", "value": "string" }, "payments": [ { "type": "PAYPAL", "transaction_id": "string", "transaction_type": "SALE", "date": "2019-08-24T14:15:22Z", "method": "BANK_TRANSFER", "note": "string", "amount": { "currency": "string", "value": "string" } } ], "refunds": [ { "type": "PAYPAL", "transaction_id": "string", "date": "2019-08-24T14:15:22Z", "note": "string", "amount": { "currency": "string", "value": "string" } } ], "metadata": { "created_date": "2019-08-24T14:15:22Z", "created_by": "string", "cancelled_date": "2019-08-24T14:15:22Z", "cancelled_by": "string", "last_updated_date": "2019-08-24T14:15:22Z", "last_updated_by": "string", "first_sent_date": "2019-08-24T14:15:22Z", "last_sent_date": "2019-08-24T14:15:22Z", "last_sent_by": "string", "payer_view_url": "http://example.com" }, "paid_amount": { "paypal": { "currency": "string", "value": "string" }, "other": { "currency": "string", "value": "string" } }, "refunded_amount": { "paypal": { "currency": "string", "value": "string" }, "other": { "currency": "string", "value": "string" } }, "attachments": [ { "name": "string", "url": "http://example.com" } ], "allow_tip": false, "template_id": "PayPal system template", "links": [ { "href": "string", "rel": "string", "method": "GET", "title": "string", "mediaType": "string", "encType": "application/json", "schema": { "additionalItems": {}, "dependencies": {}, "items": {}, "patternProperties": {}, "properties": {}, "allOf": [ {} ], "anyOf": [ {} ], "oneOf": [ {} ], "not": {}, "links": [ {} ], "fragmentResolution": "string", "media": { "type": "string", "binaryEncoding": "string" }, "pathStart": "http://example.com" }, "targetSchema": { "additionalItems": {}, "dependencies": {}, "items": {}, "patternProperties": {}, "properties": {}, "allOf": [ {} ], "anyOf": [ {} ], "oneOf": [ {} ], "not": {}, "links": [ {} ], "fragmentResolution": "string", "media": { "type": "string", "binaryEncoding": "string" }, "pathStart": "http://example.com" } } ]}