The setting to charge admin fee and channel fee to the customer does not
apply to the Invoice feature.
Authorization
string
required
Example:
Authorization | Bearer Paste-Your-API-Key-HereRequest Body
string
required
Full name of the customer.
string
required
Email address of the customer.
string
required
Mobile phone number of the customer.
array
required
List of invoice items.
number
required
Quantity of the item.
number
required
Price per item.
string
required
Description of the item.
string
Description or notes related to the invoice.
string
Invoice expiration time in ISO 8601 format (UTC).
integer
Tax amount applied to the invoice.
string
Restrict the invoice to a specific payment method (lowercase). Accepts one of
the following values:
qrisva/bniva/briva/mandiriva/cimbva/permatava/bjbva/bsiewallet/danaewallet/gopayewallet/linkajaewallet/shopeepayewallet/jeniusoutlet/alfamart
400 with
"Payment method \"...\" is not available or disabled".string
Cashtag associated with the invoice. Only required when using
ewallet/jeniuspay as the paymentMethod.object
Additional custom data attached to the invoice.
Response
Successful ResponseMain Structure (Root)
integer
Status code form API.
string
Status message that describes the status code.
object
The created invoice data.
data Structure (Object)
string
Unique identifier of the invoice record.
string
Unique identifier of the associated transaction.
string
Invoice URL that can be accessed by the customer.
number
Timestamp (in milliseconds) indicating when the invoice will expire.
object
Additional custom data attached to the invoice (echoed from the request).
Errors
object
Returned when the request body fails validation:
{ "statusCode": 400, "messages": "Validation Error" } or
{ "statusCode": 400, "messages": "extraData Validation Error" }.object
Returned when the customer could not be found or created:
{ "statusCode": 404, "messages": "Customer not found and failed to create new customer" }.object
Returned when an invoice with the same identifier already exists:
{ "statusCode": 409, "messages": "already exist" }.object
Returned when a duplicate create request is detected:
{ "statusCode": 429, "messages": "Duplicate request detected. Please wait 1 minute before trying again." }.