Skip to content

Latest commit

 

History

History
137 lines (111 loc) · 4.08 KB

Invoice.md

File metadata and controls

137 lines (111 loc) · 4.08 KB

Invoice

You can use the APIs below to interface with Xendit's Invoice API. To start using the API, you need to destruct instantiated Xendit client or directly import the module and set the secret key.

import { Xendit, Invoice as InvoiceClient } from 'xendit-node';

const xenditClient = new Xendit({secretKey: YOUR_SECRET_KEY})
const { Invoice } = xenditClient

const xenditInvoiceClient = new InvoiceClient({secretKey: YOUR_SECRET_KEY})

// At this point, `Invoice` and `xenditInvoiceClient` will have no usage difference, for example:
// Invoice.
// or
// xenditInvoiceClient.

Create an invoice

Function Signature

Name Value
Function Name createInvoice
Request Parameters CreateInvoiceOperationRequest
Return Type Invoice

Request Parameters — CreateInvoiceOperationRequest

Field Name Required Type
data CreateInvoiceRequest

Usage Examples

Create Invoice Request

import { CreateInvoiceRequest, Invoice } from 'xendit-node/invoice/models'

const data: CreateInvoiceRequest = {
  "amount" : 10000,
  "invoiceDuration" : 172800,
  "externalId" : "test1234",
  "description" : "Test Invoice",
  "currency" : "IDR",
  "reminderTime" : 1
}

const response: Invoice = await xenditInvoiceClient.createInvoice({
    data
})

Manually expire an invoice

Function Signature

Name Value
Function Name expireInvoice
Request Parameters ExpireInvoiceRequest
Return Type Invoice

Request Parameters — ExpireInvoiceRequest

Field Name Required Type
invoiceId string
idempotencyKey string

Usage Examples

Minimum API Usage

import { Invoice } from 'xendit-node/invoice/models'

const response: Invoice = await xenditInvoiceClient.expireInvoice({ 
    invoiceId: "5f4708b7bd394b0400b96276",
})

Get invoice by invoice id

Function Signature

Name Value
Function Name getInvoiceById
Request Parameters GetInvoiceByIdRequest
Return Type Invoice

Request Parameters — GetInvoiceByIdRequest

Field Name Required Type
invoiceId string
idempotencyKey string

Usage Examples

Minimum API Usage

import { Invoice } from 'xendit-node/invoice/models'

const response: Invoice = await xenditInvoiceClient.getInvoiceById({ 
    invoiceId: "62efe4c33e45294d63f585f2",
})

Get all Invoices

Function Signature

Name Value
Function Name getInvoices
Request Parameters GetInvoicesRequest
Return Type []Invoice

Request Parameters — GetInvoicesRequest

Field Name Required Type
externalId string
statuses []InvoiceStatus
limit number
createdAfter Date
createdBefore Date
paidAfter Date
paidBefore Date
expiredAfter Date
expiredBefore Date
lastInvoice string
clientTypes []InvoiceClientType
paymentChannels []string
onDemandLink string
recurringPaymentId string
idempotencyKey string

Usage Examples

Minimum API Usage

import { Invoice } from 'xendit-node/invoice/models'

const response: Invoice[] = await xenditInvoiceClient.getInvoices({ })