On This Page
Create a Draft Invoice
Drafting an invoice creates an unpublished invoice that is viewable only by you. When sending
the draft invoice request, set the
invoiceInformation.deliveryMode
field to
none
to ensure that the invoice draft is not automatically sent in an email
message to the customer when the invoice is published. When you are ready to publish the draft
invoice, you can send a send invoice
request. After publishing the drafted invoice, the
invoice's status updates from DRAFT
to CREATED
.- Itemized Invoices
- An invoice can display a single billed amount or list up to 30 billed items. To list the billed items in the invoice, include the items in the request using the line item array fields. An invoice with line items is known as anitemizedinvoice. For more information about how to include line items in your request, see Including Line Items in an Invoice.
- Invoice Numbers
- You can assign a unique invoice number in theinvoiceInformation.invoiceNumberrequest field. The invoice number is required for follow-on API requests and tracking. You should store the invoice number in your system so that you can optimally perform the follow-on requests. If you do not include a unique invoice number when creating an invoice,Visa Acceptance Solutionsgenerates a unique invoice number for you in theinvoiceInformation.invoiceNumberresponse field.IMPORTANTYou cannot update the invoice number after it is generated.
- Installment Payments
- Invoices can be paid in installment payments when these fields and values are included in the request. If an invoice is payable in installments, multiple customers can make payments towards the same invoice.
- invoiceInformation.allowPartialPayments
- Set totrue.
- orderInformation.amountDetails.minimumPartialAmount
- Set to the minimum amount allowed for a partial payment.
- Partner Information
- If your merchant account is associated with aVisa Acceptance Solutionspartner, you can include your partner solution ID (PSID) in the request message for tracking and reporting purposes. To include your PSID, use theclientReferenceInformation.partner.solutionIdrequest field and set its field value to your PSID.
- Alternative Methods to Create an Invoice
- To create adraftinvoice that is sent in an email message to the customer when you publish it, see Create a Draft Invoice.To create a new invoice that isnotimmediately sent in an email to the customer, see Create an Invoice without Sending it.To createand senda new invoice at the same time, see Create and Send an Invoice Immediately.
Endpoint
Send an API POST request message to one of these endpoints:
Test:
POST
https://apitest.visaacceptance.com
/invoicing/v2/invoicesProduction:
POST
https://api.visaacceptance.com
/invoicing/v2/invoicesResponse to a Successful Request
A successfully drafted invoice is indicated by the
DRAFT
status in the
status
response field.The redirect URL generated in the
invoiceInformation.paymentLink
response field is usable only by you and not the
customer.Additional invoice details are included in the response message for you to review.
Follow-On API Requests
After successfully drafting an invoice, you can send these follow-on API requests.
- Send an Invoice
- After drafting an invoice, you can publish and send an invoice using the send invoice request. For more information, see Send an Invoice.
- Update an Invoice
- To update customer information or item details in an already drafted invoice, send an update invoice request. For more information, see Update an Invoice.
- Cancel an Invoice
- To cancel a drafted invoice, send the a cancel invoice request. For more information, see Cancel an Invoice.
- Get Invoice Details
- To retrieve a drafted invoice's details, send a get invoice details request. For more information, see Get Invoice Details.