Deprecation notice: TheUse the Invoicing API to create, send, and manage invoices. You can also use the API or webhooks to track invoice payments. When you send an invoice to a customer, the invoice moves from draft to payable state. PayPal then emails the customer a link to the invoice on the PayPal website. Customers with a PayPal account can log in and pay the invoice with PayPal. Alternatively, customers can pay as a guest with a debit card or credit card. For more information, see Invoicing Overview and the Invoicing Integration Guide./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
Deprecation notice: TheCreates a draft invoice. To move the invoice from a draft to payable state, you must send the invoice./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint 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..
number | string <= 25 characters The invoice number. If you omit this value, the default is the number that the API automatically increments from the last number. |
Array of objects (billing_info) = 1 items An array of billing information for the invoice recipient. Note: This value is an array with only one element. | |
Array of objects (Participant) An array of email addresses to which PayPal sends a copy of the invoice. | |
Array of objects (invoice_item) <= 100 items An array of invoice line item information. | |
invoice_date | string <date> The invoice date as specified by the sender, in Internet date and time format. |
reference | string <= 60 characters The reference data, such as PO number. |
allow_partial_payment | boolean Default: false Indicates whether the invoice allows a partial payment. If Note: This feature is not available for merchants in |
tax_calculated_after_discount | boolean Default: false Indicates whether the tax is calculated before or after a discount. If |
tax_inclusive | boolean Default: false Indicates whether the unit price includes tax. |
terms | string <= 4000 characters The general terms of the invoice. |
note | string <= 4000 characters A note to the invoice recipient. The note also appears on the invoice notification email. |
merchant_memo | string <= 500 characters A private bookkeeping memo for the merchant. |
logo_url | string <uri> <= 4000 characters The full URL to an external logo image. The logo must not be larger than 250 pixels wide by 90 pixels high. The logo must be stored on a secure server. |
allow_tip | boolean Default: false Indicates whether the invoice enables the customer to enter a tip amount during payment. If Note: This feature is not available for merchants in |
template_id | string Default: "PayPal system template" This value is only used to determine the layout to display on the create or edit invoice experience, such as which fields to show and hide. It does not impact the view of the invoice that the customer receives. Note: If you are just using the Invoicing APIs to create and send invoices, leave this field blank. The
|
required | object (merchant_info) The merchant business information that appears on the invoice. |
object (shipping_info) The shipping information for the invoice recipient. | |
object (payment_term) The payment term of the invoice. If you specify | |
object (Discount) The discount as a percent or an amount value. For example, to specify 10%, enter | |
object (shipping_cost) The shipping cost, as a percent or amount value. | |
object (custom_amount) The custom amount to apply to an invoice. If you include a label, you must include a custom amount. | |
object (Currency) The currency and amount for a financial transaction, such as a balance or payment due. |
A successful request returns the HTTP 201 Created
status code and a JSON response body that shows invoice details.
{- "merchant_info": {
- "email": "merchant@example.com",
- "first_name": "David",
- "last_name": "Larusso",
- "business_name": "Mitchell & Murray",
- "phone": {
- "country_code": "001",
- "national_number": "4085551234"
}, - "address": {
- "line1": "1234 First Street",
- "city": "Anytown",
- "state": "CA",
- "postal_code": "98765",
- "country_code": "US"
}
}, - "billing_info": [
- {
- "email": "bill-me@example.com",
- "first_name": "Stephanie",
- "last_name": "Meyers"
}
], - "shipping_info": {
- "first_name": "Stephanie",
- "last_name": "Meyers",
- "address": {
- "line1": "1234 Main Street",
- "city": "Anytown",
- "state": "CA",
- "postal_code": "98765",
- "country_code": "US"
}
}, - "items": [
- {
- "name": "Zoom System wireless headphones",
- "quantity": 2,
- "unit_price": {
- "currency": "USD",
- "value": "120"
}, - "tax": {
- "name": "Tax",
- "percent": 8
}
}, - {
- "name": "Bluetooth speaker",
- "quantity": 1,
- "unit_price": {
- "currency": "USD",
- "value": "145"
}, - "tax": {
- "name": "Tax",
- "percent": 8
}
}
], - "discount": {
- "percent": 1
}, - "shipping_cost": {
- "amount": {
- "currency": "USD",
- "value": "10"
}
}, - "note": "Thank you for your business.",
- "terms": "No refunds after 30 days."
}
{- "id": "INV2-RUVR-ADWQ-H89Y-ABCD",
- "number": "INV 01256",
- "status": "DRAFT",
- "merchant_info": {
- "email": "merchant@example.com",
- "first_name": "David",
- "last_name": "Larusso",
- "business_name": "Mitchell & Murray",
- "phone": {
- "country_code": "001",
- "national_number": "4085551234"
}, - "address": {
- "line1": "1234 First Street",
- "city": "Anytown",
- "state": "CA",
- "postal_code": "98765",
- "country_code": "US"
}
}, - "billing_info": [
- {
- "email": "bill-me@example.com",
- "first_name": "Stephanie",
- "last_name": "Meyers"
}
], - "shipping_info": {
- "first_name": "Stephanie",
- "last_name": "Meyers",
- "address": {
- "line1": "1234 Main Street",
- "city": "Anytown",
- "state": "CA",
- "postal_code": "98765",
- "country_code": "US"
}
}, - "items": [
- {
- "name": "Zoom System wireless headphones",
- "quantity": 2,
- "unit_price": {
- "currency": "USD",
- "value": "120.00"
}, - "tax": {
- "name": "Tax",
- "percent": 8,
- "amount": {
- "currency": "USD",
- "value": "19.20"
}
}
}, - {
- "name": "Bluetooth speaker",
- "quantity": 1,
- "unit_price": {
- "currency": "USD",
- "value": "145.00"
}, - "tax": {
- "name": "Tax",
- "percent": 8,
- "amount": {
- "currency": "USD",
- "value": "11.60"
}
}
}
], - "invoice_date": "2017-06-22 PDT",
- "discount": {
- "percent": 10,
- "amount": {
- "currency": "USD",
- "value": "38.50"
}
}, - "shipping_cost": {
- "amount": {
- "currency": "USD",
- "value": "10.00"
}
}, - "tax_calculated_after_discount": false,
- "tax_inclusive": false,
- "note": "Thank you for your business.",
- "total_amount": {
- "currency": "USD",
- "value": "387.30"
}, - "metadata": {
- "created_date": "2017-06-22 09:39:04 PDT"
}, - "allow_tip": false,
- "links": [
- {
- "rel": "self",
- "method": "GET"
}, - {
- "rel": "send",
- "method": "POST"
}, - {
- "rel": "update",
- "method": "PUT"
}, - {
- "rel": "delete",
- "method": "DELETE"
}
]
}
Deprecation notice: TheLists invoices. To filter the invoices that appear in the response, you can specify one or more optional query parameters./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 200 OK
status code and a JSON response body that lists invoices with details.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/invoicing/invoices?page=3&page_size=4&total_count_required=true \
{- "total_count": 589,
- "invoices": [
- {
- "id": "INV2-2NB5-UJ7A-YSUJ-ABCD",
- "number": "9879878979003791",
- "status": "DRAFT",
- "merchant_info": {
- "email": "merchant@example.com"
}, - "billing_info": [
- {
- "email": "bill-me@example.com"
}
], - "shipping_info": {
- "first_name": "Sally",
- "last_name": "Patient",
- "business_name": "Not applicable"
}, - "invoice_date": "2014-02-27 PST",
- "note": "Medical Invoice 16 Jul, 2013 PST",
- "total_amount": {
- "currency": "USD",
- "value": "0.00"
}, - "metadata": {
- "created_date": "2014-02-27 23:55:58 PST"
}
}, - {
- "id": "INV2-5AYC-UE5K-XXEG-ABCD",
- "number": "9879878979003790",
- "status": "DRAFT",
- "merchant_info": {
- "email": "merchant@example.com"
}, - "billing_info": [
- {
- "email": "bill-me@example.com"
}
], - "shipping_info": {
- "first_name": "Sally",
- "last_name": "Patient",
- "business_name": "Not applicable"
}, - "invoice_date": "2014-02-27 PST",
- "note": "Medical Invoice 16 Jul, 2013 PST",
- "total_amount": {
- "currency": "USD",
- "value": "0.00"
}, - "metadata": {
- "created_date": "2014-02-27 19:41:56 PST"
}
}, - {
- "id": "INV2-C4QH-KEKM-C5QE-ABCD",
- "number": "9879878979003789",
- "status": "DRAFT",
- "merchant_info": {
- "email": "merchant@example.com"
}, - "billing_info": [
- {
- "email": "bill-me@example.com"
}
], - "shipping_info": {
- "first_name": "Sally",
- "last_name": "Patient",
- "business_name": "Not applicable"
}, - "invoice_date": "2014-02-27 PST",
- "note": "Medical Invoice 16 Jul, 2013 PST",
- "total_amount": {
- "currency": "USD",
- "value": "0.00"
}, - "metadata": {
- "created_date": "2014-02-27 15:34:11 PST"
}
}, - {
- "id": "INV2-YP6Y-9LJU-9NFS-ABCD",
- "number": "9879878979003788",
- "status": "DRAFT",
- "merchant_info": {
- "email": "merchant@example.com"
}, - "billing_info": [
- {
- "email": "bill-me@example.com"
}
], - "shipping_info": {
- "first_name": "Sally",
- "last_name": "Patient",
- "business_name": "Not applicable"
}, - "invoice_date": "2014-02-27 PST",
- "note": "Medical Invoice 16 Jul, 2013 PST",
- "total_amount": {
- "currency": "USD",
- "value": "12.00"
}, - "metadata": {
- "created_date": "2014-02-27 15:34:01 PST"
}
}
], - "links": [
- {
- "rel": "next",
- "method": "GET"
}, - {
- "rel": "previous",
- "method": "GET"
}
]
}
Deprecation notice: TheSearches for invoices that match search criteria. If you pass multiple criteria, the response lists invoices that match all criteria./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
string The initial letters of the email address. | |||||||||||||||||||||||||||
recipient_first_name | string The initial letters of the recipient's first name. | ||||||||||||||||||||||||||
recipient_last_name | string The initial letters of the recipient's last name. | ||||||||||||||||||||||||||
recipient_business_name | string The initial letters of the recipient's business name. | ||||||||||||||||||||||||||
number | string Any part of the invoice number. | ||||||||||||||||||||||||||
status | string The invoice status. To search by status, specify this value as an array. For example,
| ||||||||||||||||||||||||||
lower_total_amount | string The lower limit of the total amount. | ||||||||||||||||||||||||||
upper_total_amount | string The upper limit of the total amount. | ||||||||||||||||||||||||||
start_invoice_date | string <date> The start date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
end_invoice_date | string <date> The end date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
start_due_date | string <date> The start due date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
end_due_date | string <date> The end due date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
start_payment_date | string <date> The start payment date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
end_payment_date | string <date> The end payment date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
start_creation_date | string <date> The start creation date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
end_creation_date | string <date> The end creation date for the invoice, in Internet date and time format. For example, yyyy-MM-dd z. | ||||||||||||||||||||||||||
page | number The zero-relative start index of the entire list of merchant invoices to return in the response. So, a combination of | ||||||||||||||||||||||||||
page_size | number The page size for the search results. | ||||||||||||||||||||||||||
total_count_required | boolean Default: false Indicates whether the response shows the total count. | ||||||||||||||||||||||||||
archived | boolean Indicates whether to list merchant-archived invoices in the response. If |
A successful request returns the HTTP 200 OK
status code and a JSON response body that lists the invoices that match the search criteria.
{- "start_invoice_date": "2014-01-01 PST",
- "end_invoice_date": "2014-03-26 PST",
- "page": 0,
- "page_size": 3,
- "total_count_required": true
}
{- "invoices": [
- {
- "id": "INV2-KXVU-7Z64-DT6W-MG2X",
- "number": "0001",
- "status": "SENT",
- "merchant_info": {
- "email": "dennis@example.com"
}, - "billing_info": [
- {
- "email": "sally-patient@example.com"
}
], - "invoice_date": "2012-05-09 PST",
- "payment_term": {
- "due_date": "2012-05-24 PST"
}, - "total_amount": {
- "currency": "USD",
- "value": "250"
}, - "metadata": {
- "created_date": "2012-05-09 04:48:57 PST"
}
}
]
}
Deprecation notice: TheSends an invoice, by ID, to a customer. To suppress the merchant's email notification, set the `notify_merchant` query parameter to `false`./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
Note: After you send an invoice, you cannot resend it.
A successful request returns the HTTP 202 Accepted
status code with no JSON response body.
curl -v -X POST https://api-m.sandbox.paypal.com/v1/invoicing/invoices/INV2-EHNV-LJ5S-A7DZ-V6NJ/send?notify_merchant=true \
Deprecation notice: TheSchedules an invoice, by ID, to send on a future date. At 07:00 on that date in the preferred time zone of the merchant's PayPal account profile, PayPal emails an invoice notification to the merchant and the customer, adds an online payment button to the customer’s view of the invoice, and updates the invoice status to/v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
SENT
.Note: To change the scheduled date, adjust the invoice date and update invoice. To send the invoice immediately, update the invoice date to today or to a date in the past.
A successful request returns the HTTP 202 Accepted
status code and a JSON response body with a link to the invoice .
curl -v -X POST https://api-m.sandbox.paypal.com/v1/invoicing/invoices/INV2-EHNV-LJ5S-A7DZ-V6NJ/schedule \
{- "links": [
- {
- "rel": "self",
- "method": "GET"
}
]
}
Deprecation notice: TheSends a reminder to the payer about an invoice, by ID. In the JSON request body, include a `notification` object that defines the subject of the reminder and other details./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 202 Accepted
status code with no JSON response body.
{- "subject": "Past due",
- "note": "Please pay soon",
- "send_to_merchant": true,
- "cc_emails": [
- "cc-email@example.com"
]
}
Deprecation notice: TheCancels a sent invoice, by ID, and, optionally, sends a notification about the cancellation to the payer, merchant, and CC: emails./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
{- "subject": "Invoice canceled",
- "note": "Canceling this invoice per your request.",
- "send_to_merchant": true,
- "send_to_payer": true,
- "cc_emails": [
- "cc-email@example.com"
]
}
Deprecation notice: TheMarks the status of an invoice, by ID, as paid./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
date | string <date-time> The date when the invoice was paid, in Internet date and time format. |
method required | string The payment mode or method. |
note | string A note associated with the payment. |
object (Currency) The currency and amount for a financial transaction, such as a balance or payment due. |
A successful request returns the HTTP 200 OK
status code with no JSON response body.
{- "method": "CASH",
- "date": "2013-11-06 03:30:00 PST",
- "note": "I got the payment by cash!",
- "amount": {
- "currency": "USD",
- "value": "20.00"
}
}
Deprecation notice: TheMarks the status of an invoice, by ID, as refunded./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
date | string <date-time> The date when the invoice was refunded, in Internet date and time format. For example, |
note | string A note associated with the refund. |
object (Currency) The currency and amount for a financial transaction, such as a balance or payment due. |
A successful request returns the HTTP 200 OK
status code with no JSON response body.
{- "date": "2013-11-10 14:00:00 PST",
- "note": "Refunded by cash!",
- "amount": {
- "currency": "USD",
- "value": "20.00"
}
}
Deprecation notice: TheShows details for an invoice, by ID./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows invoice details.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/invoicing/invoices/INV2-RF6D-L66T-D7H2-CRU7 \
{- "id": "INV2-RF6D-L66T-D7H2-CRU7",
- "number": "0002",
- "status": "DRAFT",
- "template_id": "TEMP-XYZ",
- "merchant_info": {
- "email": "merchant@example.com",
- "first_name": "Dennis",
- "last_name": "Doctor",
- "business_name": "Medical Professionals, LLC",
- "phone": {
- "country_code": "1",
- "national_number": "5032141716"
}, - "address": {
- "line1": "1234 Main St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97217",
- "country_code": "US"
}
}, - "billing_info": [
- {
- "email": "bill-me@example.com"
}
], - "shipping_info": {
- "first_name": "Sally",
- "last_name": "Patient",
- "business_name": "Not applicable",
- "address": {
- "line1": "1234 Broad St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97216",
- "country_code": "US"
}
}, - "items": [
- {
- "name": "Sutures",
- "quantity": 100,
- "unit_price": {
- "currency": "USD",
- "value": "5.00"
}
}
], - "invoice_date": "2014-03-24 PDT",
- "payment_term": {
- "term_type": "NET_45",
- "due_date": "2014-05-08 PDT"
}, - "tax_calculated_after_discount": false,
- "tax_inclusive": false,
- "note": "Medical Invoice 16 Jul, 2013 PST",
- "total_amount": {
- "currency": "USD",
- "value": "500.00"
}, - "metadata": {
- "created_date": "2014-03-24 12:11:52 PDT"
}, - "links": [
- {
- "rel": "send",
- "method": "POST"
}, - {
- "rel": "delete",
- "method": "DELETE"
}, - {
- "rel": "update",
- "method": "PUT"
}
]
}
Deprecation notice: TheFully updates an invoice, by ID. In the JSON request body, include a complete `invoice` object. This call does not support partial updates./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
number | string <= 25 characters The invoice number. If you omit this value, the default is the number that the API automatically increments from the last number. |
Array of objects (billing_info) = 1 items An array of billing information for the invoice recipient. Note: This value is an array with only one element. | |
Array of objects (Participant) An array of email addresses to which PayPal sends a copy of the invoice. | |
Array of objects (invoice_item) <= 100 items An array of invoice line item information. | |
invoice_date | string <date> The invoice date as specified by the sender, in Internet date and time format. |
reference | string <= 60 characters The reference data, such as PO number. |
allow_partial_payment | boolean Default: false Indicates whether the invoice allows a partial payment. If Note: This feature is not available for merchants in |
tax_calculated_after_discount | boolean Default: false Indicates whether the tax is calculated before or after a discount. If |
tax_inclusive | boolean Default: false Indicates whether the unit price includes tax. |
terms | string <= 4000 characters The general terms of the invoice. |
note | string <= 4000 characters A note to the invoice recipient. The note also appears on the invoice notification email. |
merchant_memo | string <= 500 characters A private bookkeeping memo for the merchant. |
logo_url | string <uri> <= 4000 characters The full URL to an external logo image. The logo must not be larger than 250 pixels wide by 90 pixels high. The logo must be stored on a secure server. |
allow_tip | boolean Default: false Indicates whether the invoice enables the customer to enter a tip amount during payment. If Note: This feature is not available for merchants in |
template_id | string Default: "PayPal system template" This value is only used to determine the layout to display on the create or edit invoice experience, such as which fields to show and hide. It does not impact the view of the invoice that the customer receives. Note: If you are just using the Invoicing APIs to create and send invoices, leave this field blank. The
|
required | object (merchant_info) The merchant business information that appears on the invoice. |
object (shipping_info) The shipping information for the invoice recipient. | |
object (payment_term) The payment term of the invoice. If you specify | |
object (Discount) The discount as a percent or an amount value. For example, to specify 10%, enter | |
object (shipping_cost) The shipping cost, as a percent or amount value. | |
object (custom_amount) The custom amount to apply to an invoice. If you include a label, you must include a custom amount. | |
object (Currency) The currency and amount for a financial transaction, such as a balance or payment due. |
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows invoice details.
{- "merchant_info": {
- "email": "merchant@example.com",
- "first_name": "Dennis",
- "last_name": "Doctor",
- "business_name": "Medical Professionals, LLC",
- "phone": {
- "country_code": "001",
- "national_number": "5032141716"
}, - "address": {
- "line1": "1234 Main St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97217",
- "country_code": "US"
}
}, - "billing_info": [
- {
- "email": "bill-me@example.com"
}
], - "items": [
- {
- "name": "Sutures",
- "quantity": 100,
- "unit_price": {
- "currency": "USD",
- "value": "5"
}
}
], - "note": "Medical Invoice 16 Jul, 2013 PST",
- "payment_term": {
- "term_type": "NET_45"
}, - "shipping_info": {
- "first_name": "Sally",
- "last_name": "Patient",
- "business_name": "Not applicable",
- "address": {
- "line1": "1234 Broad St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97216",
- "country_code": "US"
}
}
}
{- "id": "INV2-8UZ6-Q3DK-VZXV-SXQB",
- "number": "0014",
- "status": "DRAFT",
- "merchant_info": {
- "email": "merchant@example.com",
- "first_name": "Dennis",
- "last_name": "Doctor",
- "business_name": "Medical Professionals, LLC",
- "phone": {
- "country_code": "1",
- "national_number": "5032141716"
}, - "address": {
- "line1": "1234 Main St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97217",
- "country_code": "US"
}
}, - "billing_info": [
- {
- "email": "bill-me@example.com"
}
], - "shipping_info": {
- "first_name": "Sally",
- "last_name": "Patient",
- "business_name": "Not applicable",
- "address": {
- "line1": "1234 Broad St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97216",
- "country_code": "US"
}
}, - "items": [
- {
- "name": "Sutures",
- "quantity": 100,
- "unit_price": {
- "currency": "USD",
- "value": "5.00"
}
}
], - "invoice_date": "2014-03-24 PDT",
- "payment_term": {
- "term_type": "NET_45",
- "due_date": "2014-05-08 PDT"
}, - "tax_calculated_after_discount": false,
- "tax_inclusive": false,
- "note": "Medical Invoice 16 Jul, 2013 PST",
- "total_amount": {
- "currency": "USD",
- "value": "500.00"
}
}
Deprecation notice: TheDeletes invoices in the/v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
DRAFT
or SCHEDULED
state, by ID. For invoices that have already been sent, you can cancel the invoice. After you delete a draft or scheduled invoice, you can no longer use it or show its details. However, you can reuse its invoice number.A successful request returns the HTTP 204 No Content
status code with no JSON response body.
curl -v -X DELETE https://api-m.sandbox.paypal.com/v1/invoicing/invoices/INV2-92MG-CNXV-ND7G-P3D2 \
Deprecation notice: TheDeletes an external payment, by invoice ID and transaction ID./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
curl -v -X DELETE https://api-m.sandbox.paypal.com/v1/invoicing/invoices/INV2-TBRZ-SWBK-7FQ9-AC8F/payment-records/EXTR-86F38350LX4353815 \
Deprecation notice: TheDeletes an external refund, by invoice ID and transaction ID./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 204 No Content
status code with no JSON response body.
curl -v -X DELETE https://api-m.sandbox.paypal.com/v1/invoicing/invoices/INV2-333R-YUQL-YNNN-D7WF/refund-records/EXTR-2LG703375E477444T \
Deprecation notice: TheGenerates a QR code for an invoice, by ID. The QR code is a PNG image in Base64-encoded format that corresponds to the invoice ID. You can generate a QR code for an invoice and add it to a paper or PDF invoice. When customers use their mobile devices to scan the QR code, they are redirected to the PayPal mobile payment flow where they can view the invoice and pay online with PayPal or a credit card. Before you get a QR code, you must create an invoice and send an invoice to move the invoice from a draft to payable state. Do not include an email address if you do not want the invoice emailed./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows the QR code as a PNG image.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/invoicing/invoices/INV2-S6FG-ZZCK-VXMM-8KKP/qr-code \
{- "image": "iVBORw0KGgoAA......XUDM"
}
Deprecation notice: TheGenerates the next invoice number that is available to the merchant. The next invoice number uses the prefix and suffix from the last invoice number and increments the number by one. For example, the next invoice number after `INVOICE-1234` is `INVOICE-1235`./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows the next invoice number.
curl -v -X POST https://api-m.sandbox.paypal.com/v1/invoicing/invoices/next-invoice-number \
{- "number": "ee0044"
}
Deprecation notice: TheCreates an invoice template. You can use details from this template to create an invoice. You can create up to 50 templates./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
Note: Every merchant starts with three PayPal system templates that are optimized for the unit type billed. The template includes `Quantity`, `Hours`, and `Amount`.
Created
{- "name": "Hours Template",
- "default": true,
- "unit_of_measure": "HOURS",
- "template_data": {
- "merchant_info": {
- "email": "doctor@example.com",
- "first_name": "Dennis",
- "last_name": "Doctor",
- "business_name": "Medical Professionals, LLC",
- "phone": {
- "country_code": "001",
- "national_number": "5032141716"
}, - "address": {
- "line1": "1234 Main St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97217",
- "country_code": "US"
}
}, - "items": [
- {
- "name": "Nutri Bullet",
- "quantity": 1,
- "unit_price": {
- "currency": "USD",
- "value": "50.00"
}
}
], - "tax_calculated_after_discount": false,
- "tax_inclusive": false,
- "note": "Thank you for your business.",
}, - "settings": [
- {
- "field_name": "items.date",
- "display_preference": {
- "hidden": true
}
}, - {
- "field_name": "custom",
- "display_preference": {
- "hidden": true
}
}
]
}
{- "template_id": "TEMP-XYZ",
- "name": "Hours Template",
- "default": true,
- "unit_of_measure": "HOURS",
- "template_data": {
- "merchant_info": {
- "email": "doctor@example.com",
- "first_name": "Dennis",
- "last_name": "Doctor",
- "business_name": "Medical Professionals, LLC",
- "phone": {
- "country_code": "001",
- "national_number": "5032141716"
}, - "address": {
- "line1": "1234 Main St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97217",
- "country_code": "US"
}
}, - "items": [
- {
- "name": "Nutri Bullet",
- "quantity": 1,
- "unit_price": {
- "currency": "USD",
- "value": "50.00"
}
}
], - "tax_calculated_after_discount": false,
- "tax_inclusive": false,
- "note": "Thank you for your business.",
}, - "settings": [
- {
- "field_name": "items.date",
- "display_preference": {
- "hidden": true
}
}, - {
- "field_name": "custom",
- "display_preference": {
- "hidden": true
}
}
], - "links": [
- {
- "rel": "self",
- "method": "GET"
}, - {
- "rel": "replace",
- "method": "PUT"
}, - {
- "rel": "delete",
- "method": "DELETE"
}
]
}
Deprecation notice: TheLists merchant-created templates with associated details. The associated details include the email addresses, postal addresses, and phone numbers from the user's PayPal profile./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.
A successful request returns the HTTP 200 OK
status code and a JSON response body that lists invoices.
curl -v -X GET https://api-m.sandbox.paypal.com/v1/invoicing/templates \
{- "addresses": [
- {
- "line1": "2211 N 1st Street",
- "city": "San Jose",
- "postal_code": "95131",
- "state": "CA",
- "country_code": "US"
}
], - "emails": [
- "invoicing-merchant@example.com",
- "invoicing-merch-store2@example.com"
], - "phones": [
- {
- "country_code": "1",
- "national_number": "4085057783"
}, - {
- "country_code": "1",
- "national_number": "4088064703"
}
], - "templates": [
- {
- "template_id": "TEMP-XYZ",
- "name": "Hours Template",
- "default": true,
- "unit_of_measure": "HOURS",
- "template_data": {
- "merchant_info": {
- "email": "doctor@example.com",
- "first_name": "Dennis",
- "last_name": "Doctor",
- "business_name": "Medical Professionals, LLC",
- "phone": {
- "country_code": "001",
- "national_number": "5032141716"
}, - "address": {
- "line1": "1234 Main St.",
- "city": "Portland",
- "state": "OR",
- "postal_code": "97217",
- "country_code": "US"
}
}, - "items": [
- {
- "name": "Nutri Bullet",
- "quantity": 1,
- "unit_price": {
- "currency": "USD",
- "value": "50.00"
}
}
], - "tax_calculated_after_discount": false,
- "tax_inclusive": false,
- "note": "Thank you for your business.",
}, - "settings": [
- {
- "field_name": "items.date",
- "display_preference": {
- "hidden": true
}
}, - {
- "field_name": "custom",
- "display_preference": {
- "hidden": true
}
}
], - "links": [
- {
- "rel": "self",
- "method": "GET"
}, - {
- "rel": "replace",
- "method": "PUT"
}, - {
- "rel": "delete",
- "method": "DELETE"
}
]
}
], - "links": [
- {
- "rel": "collection",
- "method": "GET"
}
]
}
Deprecation notice: TheShows details for a template, by ID./v1/invoices
endpoint is deprecated. Use the/v2/invoices
endpoint instead. For details, see PayPal Invoicing Basic Integration.