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
|
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
|
||||||||
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_AMOUNT400 |
Nominal biaya dan/atau dalam bentuk angka negatif atau format yang salah |
API_VALIDATION_ERROR400 |
Input gagal tervalidasi. Error field berisikan detail field mana yang gagal tervalidasi |
RELATIONSHIP_NOT_FOUND400 |
Dikembalikan saat destination_account_id pada obyek route tidak memiliki hubungan dengan Business-ID dari pemilik Akun |