Create a Deliverable Draft Invoice
Drafting an invoice creates an unpublished invoice that is viewable only by you. To draft an
invoice that will be delivered to the customer in an email message when you publish it, set
the
invoiceInformation.deliveryMode
request field to
email
. When you are ready to publish and share the invoice with a customer,
you can send the follow-on send invoice
request. The customer will then receive an
email with the invoice and the invoice's status will update from DRAFT
to
SENT
. - 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,Cybersourcegenerates 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 aCybersourcepartner, 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 isnotsent 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 message 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.cybersource.com
/invoicing/v2/invoicesProduction:
POST
https://api.cybersource.com
/invoicing/v2/invoicesIndia Production:
POST https://api.in.cybersource.com/invoicing/v2/invoices
Response 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.