NAV undefined
bash php javascript java go python

Buat Fee Rule

Fee Rule Object mendefinisikan bagaimana pembayaran yang diterima untuk sebuah sub-akun di alokasikan oleh xenPlatform. Masukkan fee_rule_id yang tertera pada response yang dikembalikan di endpoint yang didukung - Invoices, Kartu Kredit, Virtual Accounts, eWallets, QR Codes dan Direct Debit - untuk melakukan pemotongan Platform fee atau menyalurkan sebagian pembayaran ke Akun lain ketika pembayaran tersebut telah settle.

Endpoint: Buat Fee Rule

POST https://api.xendit.co/fee_rules

Example: Buat Fee Rule

curl -- request POST \
   --url https://api.xendit.co/fee_rules \
   --header 'Authorization: Basic xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==:' \
   --header 'Content-Type: application/json' \
   --data-raw '{
    "name": "20210908 Test",
    "description": "Platform fee for all transactions accepted on behalf of vendors",
    "routes": [{
      "unit": "flat",
      "amount": 3000,
      "currency": "IDR"
    }]
}'
  <?php
      $url = 'https://api.xendit.co/fee_rules';
      $apiKey = 'xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==:';
      $headers = [];
      $headers[] = 'Content-Type: application/json';
      $data = [
          'name' => 'standard_platform_fee',
          'description' => 'fee_for_all_transactions_accepted_on_behalf_of_vendors',
          'routes' => [
              [
                  'unit' => 'flat',
                  'amount' => 3000,
                  'currency' => 'IDR'
              ]
          ]
      ];

      $curl = curl_init();

      $payload = json_encode($data);
      curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
      curl_setopt($curl, CURLOPT_USERPWD, $apiKey.":");
      curl_setopt($curl, CURLOPT_URL, $url);
      curl_setopt($curl, CURLOPT_POST, true);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

      $result = curl_exec($curl);
      echo $result;
from xendit import Xendit

api_key = "xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==:"
xendit_instance = Xendit(api_key=api_key)
XenPlatform = xendit_instance.XenPlatform

xenplatform_fee_rules = XenPlatform.fee_rules(
    name="standard_platform_fee",
    description="fee_for_all_transactions_accepted_on_behalf_of_vendors",
    routes={
      "unit": "flat",
      "amount": 3000,
      "currency": "IDR"
    }
)
print(xenplatform_fee_rules)

Parameter Request

Parameter Badan Tipe Deskripsi
name
required
string Nama untuk identifikasi fee rule. Tidak perlu unik. Biasanya berdasarkan tipe transaksi dan/atau sub-merchant

Contoh: “standard_platform_fee”, “commission”
description
optional
string Deskripsi untuk identifikasi fee rule

Contoh: “Biaya yang dipotong sebagai biaya asuransi agen di Jawa”
routes
required
array Array of object yang mendefinisikan bagaimana platform ingin mengalokasikan biaya dan kepada akun yang mana. Setiap object Route setara dengan sekali alokasi biaya dari konsumen akhir ke sebuah akun tujuan

Catatan: Saat ini, Anda hanya dapat memasukkan satu object Route di parameter Route
unit
required
string Nilai yang tersedia: percent atau flat
amount
required
number Nominal biaya berdasarkan unit. Seluruh unit harus dalam angka positif

Nominal persen harus antara 0 dan 100
Nominal persen dibulatkan ke unit moneter terdekat (Contoh: 0.50 IDR akan dibulatkan ke 1 IDR; 0.49 IDR akan dibulatkan ke 0 IDR)
currency
required
string Kode mata uang ISO 4217

Catatan: Akan mengembalikan sebuah error apabila mata uang tidak cocok dengan mata uang transaksi/akun
Contoh: IDR;PHP
destination_account_id
optional
string

Catatan: Apabila kosong, default value adalah ID dari Akun master

Parameter Respon

Example: Respon Fee Rules

{
    "id": "xpfeeru_d9e069f2-4da7-4562-93b7-ded87023d749",
    "name": "Standard platform fee",
    "description": "Platform fee for all transactions accepted on behalf of vendors",
    "routes": {
      "unit": "flat",
      "amount": 3000,
      "currency": "IDR",
      "destination_account_id": "5cafeb170c2b18519b148768"
    },
    "created": "2020-09-01T07:00:00.007Z",
    "updated": "2020-09-01T07:00:00.007Z",
    "metadata": {}
}
Parameter Tipe Deskripsi
id
required
string ID unik yang dihasilkan oleh sistem Xendit

Format: xpfeeru_{{id}}
Contoh: xpfeeru_NF5p90U3MQ5MXAuH1NF
name
required
string Nama untuk identifikasi fee rule. Tidak perlu unik. Biasanya berdasarkan tipe transaksi dan/atau sub-merchant

Contoh: “standard_platform_fee”, “commission”
description
optional
string Deskripsi untuk identifikasi fee rule

Contoh: “Biaya yang dipotong sebagai biaya asuransi agen di Jawa”
routes
required
array Array of object yang mendefinisikan bagaimana platform ingin mengalokasikan biaya dan kepada akun yang mana. Setiap object Route setara dengan sekali alokasi biaya dari konsumen akhir ke sebuah akun tujuan

Catatan: Saat ini, Anda hanya dapat memasukkan satu object Route di parameter Route
unit
required
string Nilai yang tersedia: percent atau flat
amount
required
number Nominal biaya berdasarkan unit. Seluruh unit harus dalam angka positif

Nominal persen harus antara 0 dan 100
Nominal persen dibulatkan ke unit moneter terdekat (Contoh: 0.50 IDR akan dibulatkan ke 1 IDR; 0.49 IDR akan dibulatkan ke 0 IDR)
currency
required
string Kode mata uang ISO 4217

Catatan: Akan mengembalikan sebuah error apabila mata uang tidak cocok dengan mata uang transaksi/akun
Contoh: IDR;PHP
destination_account_id
required
string Akun tujuan sebagai akun yang menerima biaya yang dialokasikan.

Catatan: Apabila kosong, default value adalah ID dari Akun master
created
required
string Timestamp dalam ISO 8601 ketika Fee Rule Object terbuat

Format: YYYY-MM-DDTHH:mm:ssZ
Zona waktu: UTC+0
updated
required
string Timestamp dalam ISO 8601 ketika Fee Rule Object terakhir terupdate

Format: YYYY-MM-DDTHH:mm:ssZ
Zona waktu: UTC+0
metadata
optional
object Objek dari pasangan key-value tambahan yang digunakan oleh merchant seperti parameter sistem internal (business ID, keranjang belanja). Pengguna dapat mendefinisikan properti dan nilai JSON.

Anda dapat menspesifikkan hingga 50 key, dengan panjang nama key sampai dengan 40 karakter dan panjang value sampai dengan 500 karakter
Jika tidak ingin menggunakan maka dikosongkan NULL

Kode Error

Kode Error Deskripsi
INVALID_FEE_AMOUNT
400
Nominal biaya dan/atau dalam bentuk angka negatif atau format yang salah
API_VALIDATION_ERROR
400
Input gagal tervalidasi. Error field berisikan detail field mana yang gagal tervalidasi
RELATIONSHIP_NOT_FOUND
400
Dikembalikan saat destination_account_id pada obyek route tidak memiliki hubungan dengan Business-ID dari pemilik Akun