Sebelum memulai
- Gunakan kunci API dari aplikasi sandbox. Aplikasi produksi tidak pernah terhubung ke VASP uji.
- Aktifkan Travel Rule dengan nama hukum:
- Secara opsional, daftarkan tujuan webhook ke
travel_rule.status.updated. Sandbox mengirimkannya dengan penanda"environment": "sandbox".
Didit Test VASP
GET /v1/sandbox/scenarios/ mengembalikan profil VASP uji dan setiap skenario dalam objek travel_rule-nya, sehingga pengujian Anda dapat membaca nilai pemicu alih-alih menuliskannya secara tetap:
Setiap nilai adalah data uji. VASP uji bukan anggota jaringan Travel Rule mana pun, dan tidak ada hasil di sandbox yang menunjukkan bahwa pihak lawan atau jaringan sungguhan dapat dijangkau.
Skenario keluar
Setiap transaksitravelRule keluar dari aplikasi sandbox yang membutuhkan pertukaran akan diarahkan ke VASP uji. Pilih hasilnya dengan alamat dompet penerima (huruf besar kecil tidak berpengaruh), atau dengan nama penerima berbentuk Didit Test VASP <suffix>; dompet akan diutamakan jika keduanya diisi. Jika keduanya tidak diisi, atau sufiksnya tidak ada dalam tabel, transfer akan selesai (accept).
Transfer yang tidak membutuhkan pertukaran tidak pernah mencapai VASP uji: transfer di bawah threshold_amount Anda, transfer ke dompet terverifikasi milik pengguna Anda sendiri, dan transfer yang dompet pihak lawannya telah Anda nyatakan sebagai dompet swakelola. VASP pihak lawan yang dipilih Anda atau pengguna akhir Anda secara manual dari direktori dinilai berdasarkan rute yang akan dimiliki aplikasi produksi: jika entrinya memiliki rute (endpoint TRP yang terverifikasi, jaringan tempat aplikasi Anda mengirim, atau kontak kepatuhan), transfer diarahkan ke VASP uji; jika tidak memiliki rute, transfer berakhir dengan COUNTERPARTY_VASP_NOT_FOUND, sebagaimana yang terjadi di aplikasi produksi.
rail pada transfer bernilai TEST_VASP, dan daftar transfer mencantumkan Didit Test VASP sebagai VASP penerimanya. Pantau transfer tersebut melalui webhook travel_rule.status.updated, atau baca GET /v3/transactions/{transaction_id}/.
name_mismatchmembandingkan nama penerima yang Anda kirim dengan nama pemegang yang diberikan oleh VASP uji, pada aturan nama Anda untuk jenis entitas penerima (matching_rules.individual.nameataumatching_rules.company.name, yang mengikutiname_matching_strictnesssampai Anda mengaturnya). Transfer dan entri linimasa yang memutuskannya memuatname_match(dengancompared_with: "counterparty_vasp") dandata_matchdenganmismatched_fields: ["name"].not_reachablemembuat transfer tetapAWAITING_COUNTERPARTYselama mencoba ulang, dengandelivery.statusRETRYINGdanlast_errortest VASP is not answering, lalu mengubahnya menjadiCOUNTERPARTY_VASP_NOT_REACHABLE. Setelahnya, kirim{"action": "resend"}untuk menjalankannya kembali.self_hostedmembuat VASP uji menjawab bahwa dompet tersebut adalah dompet swakelola. Catat buktinya dengan widget kepemilikan dompet (dibuat untuk Anda selamaauto_wallet_verificationaktif) atauPOST .../travel-rule/ownership/dengan{"confirmed": true}: dompet akan ditambahkan ke buku alamat Anda atas nama penerima, dan kecocokan nama menentukan transfer. Kecocokan akan menyelesaikannya dan menandai dompet sebagai terverifikasi;{"confirmed": false}menolaknya.
Transfer masuk dari VASP uji
Untuk menguji sisi penerimaan, minta VASP uji mengirim transfer ke Anda denganPOST /v3/travel-rule/test-vasp/inbound/. Sebutkan salah satu dompet buku alamat aplikasi Anda sendiri: transfer diputuskan oleh jalur masuk yang sama dengan transfer sungguhan, dengan merujuk ke buku alamat, mode kepemilikan, dan aturan nama Anda.
Respons
201 berisi transaction_id, txn_id, scenario, travel_rule_status, detail, test_vasp: true, dan transfer travel_rule. Aplikasi produksi akan menerima 400 ("The Didit Test VASP is only available on sandbox applications."), scenario lain akan menghasilkan 400, dan aplikasi yang Travel Rule-nya nonaktif akan menerima 409.
Putuskan transfer yang menunggu dengan
POST .../travel-rule/ownership/, sama seperti pada transfer sungguhan: {"confirmed": true} menyelesaikannya dan {"confirmed": false} menolaknya.
Setoran yang Anda laporkan sendiri melalui POST /v3/transactions/ bukan transfer yang dikirim VASP uji. Setoran tersebut tetap AWAITING_COUNTERPARTY menunggu VASP pengirim, dan linimasanya menyebutkan endpoint di atas. Setoran tidak memicu webhook apa pun sampai kedaluwarsa setelah confirmation_timeout_hours. POST /v3/travel-rule/inbound/ tetap menyelesaikan pendaftaran pascadeposit menggunakan buku alamat Anda, sama seperti pada aplikasi produksi.
Webhook di sandbox
travel_rule.status.updated dipicu untuk aplikasi sandbox pada setiap perubahan status, dengan "environment": "sandbox". Transfer yang dijawab VASP uji juga menyertakan rail: "TEST_VASP", test_vasp: true, dan test_vasp_scenario. Bagian sandbox lainnya tetap berperilaku seperti dijelaskan di Pemantauan Transaksi di sandbox: aturan tidak dievaluasi, transaction.created dan transaction.status.updated tidak dikirim, dan tidak ada tagihan.
Yang tidak dibuktikan oleh sandbox
- Bahwa pihak lawan sungguhan, keanggotaan jaringan, atau host TRP publik Didit berfungsi. Tidak ada yang dihubungi.
- Bahwa kredensial jaringan Anda valid. Keanggotaan yang terhubung baru terbukti setelah pertukaran produksi pertamanya.
- Rute direktori dari VASP sungguhan: pada aplikasi sandbox setiap rute menampilkan
unavailabledenganreason: sandbox_application, dan setiap barisreachable: false.