Bahasa Indonesia
API ReferenceLogin

Membuat Invoice

Last updated 01/12/2022

Anda dapat membuat Invoice melalui dasbor Xendit ataupun API sesuai dengan apa yang bisnis Anda butuhkan. Di bawah ini adalah penjelasan umum yang mungkin dapat menjadi pertimbangan Anda ketika memutuskan untuk memilih di antara kedua pilihan yang tersedia

Platform Pembuatan InvoiceKeuntunganKekurangan
Dasbor- Tidak membutuhkan integrasi yang teknis

- Dapat membuat Invoice di manapun dan kapanpun selama Anda memiliki akses ke dasbor Xendit

- Langkah-langkah pembuatan Invoice sangat mudah untuk diikuti
Pembuatan Invoice harus dilakukan secara manual (tidak dapat diotomasi)
API- Pembuatan Invoice dapat diotomasi melalui API

- Invoice dapat dibuat dalam beberapa detik saja

- Kemudahan untuk menggunakan tampilan antarmuka Anda sendiri sesuai dengan kebutuhan bisnis Anda
Membutuhkan pengembang (developer) untuk melakukan integrasi secara teknis

Membuat Invoice melalui Dasbor

Untuk membuat Invoice melalui Dasbor, akun pengguna Xendit Anda harus setidaknya memiliki akses EDIT. Ikuti langkah-langkah berikut ini untuk membuat invoice melalui dasbor Xendit:

  1. Masuk ke dasbor Xendit Anda
  2. Pergi menuju Terima Pembayaran > Invoices
  3. Klik "Membuat" untuk membuat invoice dan gunakan informasi di bawah ini sebagai panduan Anda


Parameter Wajib

ParameterApa yang harus diisi
External IDKode unik untuk identifikasi invoice di sistem Anda. Tidak ada pembatasan karakter pada External ID. Buat kode unik ini sesuai keinginan Anda
Contoh: HOUSE.AP/INV/XXV/341293TPR0004XJEDBDIEFDJIAGDY
Jumlah yang Harus DibayarJumlah nominal dari invoice yang pelanggan Anda akan bayarkan (dapat menggunakan mata uang IDR, PHP atau USD) tanpa daftar pesanan.
Catatan: Apabila Anda memilih Jumlah yang Harus Dibayar, anda tidak perlu memasukkan Daftar Item Pesanan untuk invoice tersebut.
Daftar Item PesananDetail daftar pesanan untuk transaksi meliputi Nama Barang, Jumlah, dan Harga Satuan.
Catatan: Apabila Anda memilih Daftar Item Pesanan, Anda tidak perlu memasukkan Jumlah Total karena kami akan otomatis menghitung jumlah total berdasarkan kuantitas dan harga satuan.


Parameter Opsional

ParameterApa yang harus diisi
Biaya AdminBiaya tetap yang akan berlaku untuk seluruh invoice, terlepas dari metode pembayaran dan kanal yang digunakan pelanggan Anda untuk membayar. Biaya admin secara otomatis ditambahkan ke jumlah total invoice.
NamaNama pelanggan Anda untuk invoice tersebut.
EmailAlamat email pelanggan Anda (pelanggan yang ingin Anda tagih). Anda dapat mengirim invoice dan pengingat melalui email dengan memilih “email” pada Pengingat dan Notifikasi Invoice.
Nomor PonselNomor ponsel pelanggan Anda. Anda dapat mengirim invoice dan pengingat melalui SMS atau WhatsApp ke nomor tersebut dengan memilih “SMS” dan/atau “WhatsApp” pada Pengingat dan Notifikasi Invoice.
DeskripsiDeskripsi singkat untuk dibaca pelanggan Anda. Anda dapat menggunakan ini untuk menulis catatan atau tujuan dari dibuatnya invoice tersebut
Contoh: Pembayaran listrik bulan Juni 2021 untuk Apartemen unit #1A
Tanggal kedaluwarsa invoiceWaktu yang Anda inginkan untuk masa berlaku invoice. Klik logo kalender untuk memilih tanggal dan di dalam kalender. Klik logo jam untuk menentukan waktu jam kedaluarsa di tanggal yang Anda sudah tentukan sebelumnya
Pengingat InvoiceIngatkan pelanggan Anda untuk membayar invoice melalui email, SMS dan/atau WhatsApp. Pilih untuk mengirim pengingat minimal satu jam sampai 30 hari sebelum invoice kedaluwarsa. Biarkan kolom pengingat kosong apabila Anda tidak ingin mengirimkan pengingat ke pelanggan Anda.
Waktu Pengingat InvoiceWaktu yang Anda inginkan untuk Xendit mengirimkan pengingat kepada pelanggan Anda melalui email, SMS dan/atau WhatsApp. Anda dapat pilih untuk mengirim pengingat minimal satu jam sampai 30 hari sebelum invoice kedaluwarsa.

Membuat Invoice melalui API

Ikuti langkah-langkah berikut ini untuk membuat invoice melalui API:

  1. Ikuti instruksi di Referensi API Xendit bagian Pembuatan Invoice untuk mulai membuat invoice melalui API
  2. Atur Invoice Callback URL Anda di dasbor Xendit untuk "Invoices Terbayarkan"

Contoh pembuatan Invoice melalui API

<?php

  use Xendit\Xendit;
  require 'vendor/autoload.php';

  Xendit::setApiKey('xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw==');

  $params = [ 
    'external_id' => 'demo_1475801962607',
    'payer_email' => 'alfina@xendit.co',
    'description' => 'Trip to Bali',
    'amount' => 50000
  ];

  $createInvoice = \Xendit\Invoice::create($params);
  var_dump($createInvoice);

?>
const x = new require('xendit-node')({ secretKey: 'xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw==' });

const { Invoice } = x;
const invoiceSpecificOptions = {};
const i = new Invoice(invoiceSpecificOptions);

const resp = await i.createInvoice({
  externalID: 'demo_1475801962607',
  amount: 230000,
  payerEmail: 'sample_email@xendit.co',
  description: 'Trip to Bali',
});
console.log(resp);
Xendit.apiKey = "xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw==";
try {
  Map<String, Object> params = new HashMap<>();
  params.put("external_id", "demo_1475801962607");
  params.put("amount", 50000);
  params.put("payer_email", "customer@domain.com");
  params.put("description", "Trip to Bali");

  Invoice invoice = Invoice.create(params);
} catch (XenditException e) {
  e.printStackTrace();
}
xendit.Opt.SecretKey = "xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw=="

data := invoice.CreateParams{
  ExternalID:  "demo_1475801962607",
  Amount:      50000,
  PayerEmail:  "alfina@xendit.co",
  Description: "Trip to Bali",
}

resp, err := invoice.Create(&data)
if err != nil {
  log.Fatal(err)
}

fmt.Printf("created invoice: %+v\n", resp)
from xendit import Xendit

api_key = "xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw=="
xendit_instance = Xendit(api_key=api_key)
Invoice = xendit_instance.Invoice

invoice = Invoice.create(
    external_id="invoice-1593684000",
    amount=20000,
    payer_email="customer@domain.com",
    description="Invoice Demo #123",
)
print(invoice)

Pengetesan Pembayaran melalui Invoice

Lakukan pengetesan integrasi Xendit Anda dengan mensimulasikan pembayaran untuk invoice Anda! Hasil dari simulasi akan menghasilkan perubahan status pada invoice Anda menjadi Paid/Settled. Kami juga akan mengirimkan callback ke Callback URL yang sudah Anda atur. Mohon diingat bahwa semua simulasi ini harus dilakukan hanya pada mode tes.

Pengetesan Pembayaran Invoice melalui Tampilan Antarmuka Invoice

Tes pembayaran invoice melalui tampilan antarmuka dengan mengikuti langkah-langkah berikut ini:

  1. Buat invoice
  2. Buka Invoice URL link
  3. Pilih metode pembayaran yang ingin Anda gunakan
  4. Klik "Klik disini untuk simulasi pembayaran dengan [metode pembayaran Anda" pada bagian atas antar muka yang berwarna merah
  5. Invoice akan sukses terbayarkan

Pengetesan Pembayaran Invoice melalui Nominal

Tes pembayaran invoice melalui nominal dengan mengikuti langkah-langkah berikut ini:

  1. Buat invoice dengan nominal IDR 3,000,000
  2. Pergi menuju tab Invoice di dasbor Xendit Anda
  3. Invoice sukses terbayarkan

Pengetesan Pembayaran Invoice melalui Kartu Kredit

Tes pembayaran invoice melalui kartu kredit dengan mengikuti langkah-langkah berikut ini:

  1. Buat invoice dengan metode pembayaran Kartu Debit / Kredit sebagai salah satu metode pembayaran yang dipilih
  2. Buka Invoice URL link
  3. Pilih metode pembayaran menggunakan Kartu Debit / Kartu Kredit
  4. Masukkan nomor kartu dengan 4000 0000 0000 0002, kode CVV apapun dan masa kadaluarsa kartu dengan tanggal yang akan datang
  5. Masukkan "1234" pada laman otorisasi 3DS
  6. Invoice akan sukses terbayarkan