Create and Send an Invoice Immediately

Creating and sending an invoice publishes a payable invoice that is automatically emailed to the customer. In addition to the sent email, you can also share the invoice by sending the customer the redirect URL generated in the
invoiceInformation.paymentLink
response field.
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 an
itemized
invoice.
You can assign a unique invoice number in the
invoiceInformation.invoiceNumber
request 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,
Cybersource
generates a unique invoice number for you in the
invoiceInformation.invoiceNumber
response field.
IMPORTANT
You 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 to
true
.
orderInformation.amountDetails.minimumPartialAmount
Set to the minimum amount allowed for a partial payment.
Partner Information
If your merchant account is associated with a
Cybersource
partner, you can include your partner solution ID (PSID) in the request message for tracking and reporting purposes. To include your PSID, use the
clientReferenceInformation.partner.solutionId
request field and set its field value to your PSID.
Alternative Methods to Create an Invoice
To create a new invoice that is
not
immediately sent in an email to the customer, see Create an Invoice without Sending it.
To create an invoice
draft
that is not payable or viewable to the customer, see Create a Draft Invoice.

Endpoint

Send an API POST request message to one of these endpoints:
Test:
POST
https://apitest.cybersource.com
/invoicing/v2/invoices
Production:
POST
https://api.cybersource.com
/invoicing/v2/invoices
Production in India:
POST https://api.in.cybersource.com/invoicing/v2/invoices

Successful Response

A successfully created and sent invoice is indicated by the
SENT
status in the
status
response field. The response message also includes the newly created invoice's details.

Required Fields for Creating and Sending an Invoice

  • Email invoice
  • Itemized email invoice

Required Fields for an Email Invoice

customerInformation.email
customerInformation.name
invoiceInformation.deliveryMode
Set to
email
.
invoiceInformation.description
invoiceInformation.dueDate
invoiceInformation.sendImmediately
Set to
true
.

Required Fields for an Email Invoice with Line Items

customerInformation.email
customerInformation.name
invoiceInformation.deliveryMode
Set to
email
.
invoiceInformation.dueDate
invoiceInformation.sendImmediately
Set to
true
.
orderInformation.lineItems[].productSku

Optional Fields for Invoice Creation

Set to your developer ID.
Set to your partner solution ID (PSID).
customerInformation.company.name
customerInformation.email
customerInformation.merchantCustomerId
customerInformation.name
invoiceInformation.allowPartialPayments
Set to one of these possible values:
  • false
    : The invoice must be paid in a single payment.
  • true
    : The invoice is payable in installments.
invoiceInformation.deliveryMode
invoiceInformation.description
This field is optional when the line item fields are present in the request message.
invoiceInformation.invoiceNumber
Set to a unique number to create an invoice number.
If you do not include this field and a unique value, the invoicing API automatically generates an invoice number for the new invoice.
IMPORTANT
You cannot update this invoice number after sending the API request.
merchantDefinedFieldValues.definition id[].value
orderInformation.amountDetails.freight.amount
orderInformation.amountDetails.freight.taxable
orderInformation.amountDetails.freight.taxRate
orderInformation.amountDetails.minimumPartialAmount
orderInformation.amountDetails.subAmount

Example: Creating and Sending an Invoice

REST Interactive Example: Create and Send an Invoice

Click this image to access the interactive code example for creating and sending a new invoice.

Figure:

Interactive Code
Image and link to the interactive code example for creating a new
                            invoice.
Light Dark
Request
123456789101112131415
{"customerInformation": { "email": "test@email.com" }, "invoiceInformation": { "description": "This is a test invoice", "dueDate": "2019-07-11", "sendImmediately": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD" } }}
Response to a Successful Request
12345678910111213141516171819202122232425262728293031323334353637383940414243
{"_links": { "self": { "href": "/v2/invoices/98768", "method": "GET" }, "update": { "href": "/v2/invoices/98768", "method": "PUT" }, "deliver": { "href": "/v2/invoices/98768/delivery", "method": "POST" }, "cancel": { "href": "/v2/invoices/98768/cancelation", "method": "POST" } }, "id": "98768", "submitTimeUtc": "2024-08-03T00:40:31.143121084Z", "status": "SENT", "customerInformation": { "email": "test@cybs.com" }, "processingInformation": { "requestPhone": false, "requestShipping": false }, "invoiceInformation": { "invoiceNumber": "98768", "description": "This is a test invoice", "dueDate": "2019-07-11", "allowPartialPayments": false, "paymentLink": "https://businesscenter.cybersource.com/ebc2/invoicing/payInvoice/2AgCNHLrUtD7hfFR5SVh5DSxISAbFD9zybhUjpxpZuXKLQVyuLttP78uWWLRSSNX?version=v2.1", "deliveryMode": "Email" }, "orderInformation": { "amountDetails": { "totalAmount": 2623.64, "currency": "USD", "balanceAmount": 2623.64 } }}
Request
12345678910111213141516171819202122232425262728293031
{"customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world" }, "invoiceInformation": { "dueDate": "2019-07-11", "sendImmediately": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": 293.5, "currency": "USD" }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": 12.05, "quantity": 20, "totalAmount": 241 }, { "productSku": "P653727383", "productName": "Second line item's name", "unitPrice": 5.25, "quantity": 10, "totalAmount": 52.5 } ] }}
Response to a Successful Request
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
{"_links": { "self": { "href": "/v2/invoices/98769", "method": "GET" }, "update": { "href": "/v2/invoices/98769", "method": "PUT" }, "deliver": { "href": "/v2/invoices/98769/delivery", "method": "POST" }, "cancel": { "href": "/v2/invoices/98769/cancelation", "method": "POST" } }, "id": "98769", "submitTimeUtc": "2024-08-03T00:43:05.320320438Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "test@cybs.com" }, "processingInformation": { "requestPhone": false, "requestShipping": false }, "invoiceInformation": { "invoiceNumber": "98769", "dueDate": "2019-07-11", "allowPartialPayments": false, "paymentLink": "https://businesscenter.cybersource.com/ebc2/invoicing/payInvoice/XvgrhdaVUbBJb466S9nxqXpp1e2UHoFEUlhye9gtiwgi7gzv5fwqV8YgfP6xep0D?version=v2.1", "deliveryMode": "Email" }, "orderInformation": { "amountDetails": { "totalAmount": 293.5, "currency": "USD", "balanceAmount": 293.5 }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": 12.05, "quantity": 20, "totalAmount": 241 }, { "productSku": "P653727383", "productName": "Second line item's name", "unitPrice": 5.25, "quantity": 10, "totalAmount": 52.5 } ] }}