Bahasa Indonesia
API ReferenceLogin

Membuat Pembayaran Berulang

Last updated 06/17/2021

Anda dapat membuat Pembayaran Berulang via dasbor Xendit ataupun API berdasar pada apa yang bisnis Anda butuhkan. Untuk mengerti lebih lanjut mengenai keuntungan dan kekurangan dalam memilih dasbor Xendit atau API, silahkan menuju ke sini.

Membuat Pembayaran Berulang via Dasbor

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

  1. Masuk ke dasbor Xendit Anda
  2. Pergi menuju tab Recurring
  3. Klik 'Buat Recurring' untuk membuat Pembayaran Berulang dan gunakan informasi di bawah ini sebagai panduan Anda:
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
EmailAlamat email pelanggan Anda (pelanggan yang ingin Anda tagih). Anda dapat memilih apakah Xendit akan mengirimkan email invoice terbuat, terbayar, ataupun kedaluwarsa ke pelanggan Anda dengan menyesuaikan kotak 'Kirim Invoices ke alamat email ini'
JumlahJumlah nominal dari invoice yang pelanggan Anda akan bayarkan di setiap interval (dapat menggunakan mata uang IDR, PHP atau USD)
Total Terjadinya RecurringJumlah invoice yang akan terbuat di dalam satu skema dan periode Pembayaran Berulang yang Anda buat. Kosongkan kolom ini jika Anda ingin skema Pembayaran Berulang untuk berlanjut tanpa batas
Jarak Waktu RecurringFrekuensi dikirimkannya invoice kepada pelanggan Anda dalam satu skema Pembayaran Berulang. Jarak ini adalah periode di antara invoice yang terakhir dibuat dan invoice yang akan dibuat selanjutnya, dihitung berdasarkan hari, minggu, atau bulan
Jatuh Tempo InvoicePeriode waktu di mana invoice aktif dan dapat dibayarkan. Invoice dapat aktif hingga waktu satu tahun semenjak waktu dibuatnya invoice
DeskripsiDeskripsi singkat untuk dibaca pelanggan Anda. Anda dapat menggunakan ini untuk menulis catatan atau tujuan dari dibuatnya invoice tersebut
Contoh: Pembayaran Bulanan Keanggotaan Pusat Kebugaran
Aksi Ketika Pembayaran Tidak DipenuhiMengindikasikan perlakuan invoice selanjutnya jika pelanggan Anda melewatkan pembayaran invoice di periode sebelumnya. Memilih 'Ignore' berarti Xendit akan tetap mengirimkan invoice di periode selanjutnya meskipun pelanggan Anda gagal membayar periode invoice sebelumnya. Memilih 'Stop' berarti Xendit akan berhenti mengirimkan invoice di periode selanjutnya jika pelanggan Anda gagal membayar invoice di periode sebelumnya
RechargeMencentang 'recharge' berarti Xendit akan melakukan auto charge kepada kartu kredit/debit pelanggan Anda di periode invoice selanjutnya. Opsi ini hanya tersedia jika pembayaran dilakukan melalui kartu kredit/debit

Opsi Autocharge tersedia bagi pelanggan Anda yang membayar menggunakan kartu kredit/debit. Jika token kartu kredit/debit terhubung pada skema Pembayaran Berulang maka setiap pembayaran di periode selanjutnya, Xendit akan langsung mendebet saldo setelah invoice terbuat
Token Kartu KreditJika Anda telah memiliki token kartu kredit dari transaksi sebelumnya, Anda dapat mengisi kolom ini dengan token kartu kredit tersebut untuk melakukan auto charge ke kartu yang sama yang pelanggan Anda gunakan di transaksi sebelumnya

Anda juga dapat membuat token kartu kredit melalui API dengan mengikuti instruksi di Referensi API Membuat Token. Anda akan mendapatkan token kartu kredit dari response proses tokenisasi di dalam parameter ID
Redirect url untuk pembayaran suksesLaman yang Anda ingin pelanggan Anda lihat jika pembayaran berhasil
Redirect url untuk pembayaran gagalLaman yang Anda ingin pelanggan Anda lihat jika pembayaran gagal

Membuat Pembayaran Berulang via API

Ikuti langkah-langkah berikut ini untuk membuat Pembayaran Berulang melalui API:

  1. Ikuti instruksi di Referensi API Xendit bagian Pembuatan Pembayaran Berulang untuk mulai membuat Pembayaran Berulang 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' => 'recurring_31451441',
    'payer_email' => 'sample_email@xendit.co',
    'description' => 'Monthly room cleaning service',
    'amount' => 125000,
    'interval' => 'MONTH',
    'interval_count' => 1
  ];

  $createRecurring = \Xendit\Recurring::create($params);
  var_dump($createRecurring);

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

const { RecurringPayment } = x;
const rpSpecificOptions = {};
const rp = new RecurringPayment(rpSpecificOptions);

const resp = await rp.createPayment({
  externalID: 'recurring_31451441',
  amount: 125000,
  payerEmail: 'sample_email@xendit.co',
  interval: RecurringPayment.Interval.Month,
  intervalCount: 1,
  description: 'Monthly room cleaning service',
});
console.log(resp);
Xendit.apiKey = "xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw==";
try {
  Map<String , Object> params = new HashMap<>();
  params.put("external_id", "recurring_31451441");
  params.put("payer_email", "sample_email@xendit.co");
  params.put("interval", "MONTH");
  params.put("interval_count", 1);
  params.put("description", "Monthly room cleaning service");
  params.put("amount", 125000);

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

createData := recurringpayment.CreateParams{
  ExternalID:    "recurring_31451441",
  Amount:        125000,
  PayerEmail:    "sample_email@xendit.co",
  Description:   "Monthly room cleaning service",
  Interval:      xendit.RecurringPaymentIntervalDay,
  IntervalCount: 1,
}

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

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

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

recurring_payment = RecurringPayment.create(
    external_id="recurring_12345",
    payer_email="test@x.co",
    description="Test Curring Payment",
    amount=100000,
    interval="MONTH",
    interval_count=1,
)
print(recurring_payment)

Ubah, Jeda, Lanjutkan, dan Hentikan Pembayaran Berulang

Ubah Pembayaran Berulang

Anda dapat mengubah Pembayaran Berulang Anda dari dasbor Xendit atau melalui API kapanpun (selama status Pembayaran Berulang Anda tidak "Stopped") jika Anda ingin melakukan perubahan. Untuk mengubah Pembayaran Berulang Anda melalui dasbor, silahkan kunjungi tab Recurring di dasbor Xendit, pilih Pembayaran Berulang yang ingin diubah, dan klik 'Ubah'. Anda dapat mengubah hampir seluruh parameter yang Anda isi ketika membuat Pembayaran Berulang kecuali parameter yang tertera di bawah ini:

  • External ID
  • Email
  • Token Kartu Kredit
  • Redirect url untuk pembayaran sukses
  • Redirect url untuk pembayaran gagal

Untuk mengubah Pembayaran Berulang melalui API, silahkan ikuti Referensi API Ubah Pembayaran Berulang.

Jeda dan Lanjutkan Pembayaran Berulang

Anda dapat menjeda dan melanjutkan Pembayaran Berulang kapanpun (selama status Pembayaran Berulang Anda tidak "Stopped") jika Anda ingin menghentikan jadwal Pembayaran Berulang untuk sementara dan melanjutkannya lagi di masa yang akan datang. Untuk menjeda dan melanjutkan Pembayaran Berulang Anda melalui dasbor, silahkan kunjungi tab Recurring di dasbor Xendit, pilih Pembayaran Berulang yang ingin diubah, dan klik 'Jeda' atau 'Lanjutkan'.

Untuk menjeda Pembayaran Berulang melalui API, silahkan ikuti Referensi API Jeda Pembayaran Berulang, dan untuk melanjutkannya, silahkan ikuti Referensi API Lanjutkan Pembayaran Berulang.

Catatan: Jika status Pembayaran Berulang Anda adalah Active, maka tombol 'Lanjutkan' tidak akan tersedia sebagai pilihan di dasbor Xendit Anda. Sebaliknya, jika status Pembayaran Berulang Anda adalah Paused, maka tombol 'Jeda' tidak akan tersedia.

Hentikan Pembayaran Berulang

Jika Anda ingin menghentikan Pembayaran Berulang Anda sepenuhnya, Anda juga dapat melakukannya melalui dasbor Xendit Anda atau API. Untuk menghentikan Pembayaran Berulang Anda melalui dasbor, silahkan kunjungi tab Recurring di dasbor Xendit, pilih Pembayaran Berulang yang ingin diubah, dan klik 'Hentikan'.

Untuk menghentikan Pembayaran Berulang melalui API, silahkan ikuti Referensi API Hentikan Pembayaran Berulang.