Customize Invoicing

DOCSCURRENT

Last updated: Feb 27th, 8:08am

The Invoicing REST API supports search, refunds, templates, reminders, and more.

This page describes a few ways you can customize an invoice. Refer to the Invoicing API reference to see everything you can do with the Invoicing API.

You can also make test calls to the Invoicing API with the PayPal API Executor.

Create QR code

When a buyer uses a mobile device to scan the QR code, they're redirected to the PayPal mobile payment flow to view the invoice and pay online with PayPal or another payment type.


Eligibility

You can create and associate invoice QR codes for the following countries:

  • France
  • Italy
  • Spain
  • United Kingdom
  • United States

1. Create codes

To generate a QR code, first create and send an invoice.

If you don't want PayPal to email the invoice notification to your buyer when you create it, because you want to send a QR code, set send_to_recipient in the Send invoice request to false. This parameter updates the invoice status to UNPAID and does not send the email notification.

Copy the invoice ID returned when you create the invoice.

To create a QR code for your invoice, copy the following code and modify it.

Sample request

API endpoint used: Generate QR code

  1. Sample request
  2. Sample response
1curl -v -X POST https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INVOICE-ID/generate-qr-code \
2 -H 'Content-Type: application/json' \
3 -H 'Authorization: Bearer ACCESS-TOKEN'

Modify code

After you copy the code in the sample request, modify the following:

Step result

A successful response results in:

  • A return status code of HTTP 200 OK.
  • A JSON response body that shows the QR code as an encoded Base64 image, such as:

2. Test QR code

To test your QR code, complete these steps:

  1. Use your preferred programming language or online tool to decode the Base64-encoded value to an image.
  2. Scan the QR code to open the invoice.

Add tips

To include a field that enables the customer to add a tip as a flat amount or percent of the total due, set the allow_tip parameter to true.

Enable partial and minimum due payments

To enable the customer to make a partial payment, set the allow_partial_payment parameter to true.

When you enable a partial payment, you can also set the minimum_amount_due parameter to the minimum amount due value.

Set up webhooks for invoicing

A webhook is an HTTP callback that receives notification messages for events. See configure webhooks for more details.

PayPal APIs use webhooks for event notification. Most invoice-related actions, including invoice payments, trigger invoicing webhook events:

INVOICING.INVOICE.CANCELLED A merchant or customer cancels an invoice. Cancel invoice
INVOICING.INVOICE.CREATED An invoice is created. Create draft invoice
INVOICING.INVOICE.PAID An invoice is paid, partially paid, or payment is made and is pending. Mark invoice as paid
INVOICING.INVOICE.REFUNDED An invoice is refunded or partially refunded. Mark invoice as refunded
INVOICING.INVOICE.SCHEDULED An invoice is scheduled. Send invoice
INVOICING.INVOICE.UPDATED An invoice is updated. Update invoice

If you accept cookies, we’ll use them to improve and customize your experience and enable our partners to show you personalized PayPal ads when you visit other sites. Manage cookies and learn more