Voucha II XMLRPC 1.1. Interkoneksi dengan server host-to-host Voucha II menggunakan protokol HTTP dan XML-RPC.
Version History
- 1.0. Dirilis awal Februari 2007. Hanya ditujukan untuk kalangan sendiri.
- 1.1. Dirilis akhir Juli 2007. Terbuka untuk publik.
- Parameter 'password' diganti dengan 'signature'.
- Parameter 'status' ditambahkan pada respons 'trans.Topup'.
URL
URL Transaksi
URL untuk transaksi diberikan oleh pihak server. Formatnya sebagai berikut:
http://host:port/path
Contoh:
http://server.voucha.org:9999/topup
URL Reversal
URL untuk pesan reversal didaftarkan oleh pihak client kepada pihak server. Formatnya sebagai berikut:
http://host:port/path
Contoh
http://client.voucha.org:80/reverse
Methods
Transaksi
Daftar method dan parameter untuk transaksi remote. Pihak client mengirim 'trans.Topup' dan server memberikan respon berisi status code 1xx. Selain itu, transaksi ditolak. Setelah transaksi diterima, server memproses transaksi. Jika terjadi kegagalan, server mengirim method 'trans.Reverse' ke pihak client. Pihak client harus memproses pesan tersebut.
trans.Topup
Deskripsi
Mengirim transaksi topup ke server Voucha II.
Format
(struct)response trans.Topup( (struct) parameter)
Parameter
Parameter bertipe 'struct' dengan member sebagai berikut:
| Key | Tipe | Keterangan | Contoh |
| user | string(25) | User ID | 91234 |
| idProduk | string(25) | Kode produk | S10 |
| msisdn | string(15) | Nomor selular yang ditopup | 081012345678 |
| ref | string(15) | ID transaksi pihak User | 012345678 |
| signature | string(32) | MD5(idProduk+msisdn+password) | MD5(S10081012345678blahblahblah) |
Catatan:
- Tanda '+' pada signature berarti 'disambung'
Response
Response bertipe struct dengan member sebagai berikut:
| Key | Tipe | Keterangan | Contoh |
| success | boolean | TRUE jika berhasil, FALSE jika gagal | TRUE |
| status | int | status code. 1xx=berhasil, 2xx=Normal error, 3xx=System error | 100 |
| idTransaksi | string(15) | Nomor seri/ID transaksi. '0' jika gagal. | 12345678 |
| responseMessage | string(50) | Pesan balasan dari server | Transaksi berhasil. Saldo Rp. xxxxxxx |
trans.Reverse
Server mengirim 'trans.Reverse' ke pihak client jika terjadi kegagalan dalam proses topup.
Format
(boolean)response trans.Reverse( (struct) parameter)
Parameter
Parameter bertipe 'struct' dengan member sebagai berikut:
| Key | Tipe | Keterangan | Contoh |
| idTransaksi | string(15) | Nomor seri/ID transaksi yang direverse | 12345678 |
| msisdn | string(15) | Nomor selular yang ditopup | 081012345678 |
| ref | string(15) | ID transaksi pihak User | 012345678 |
| responseMessage | string(50) | Pesan tambahan (jika ada) | Reversal |
Response
Response bertipe boolean. Set nilai TRUE atau FALSE.
Server hanya mengirim pesan reversal melalui 'trans.Reverse' hanya satu kali.
Contoh
trans.Topup
Berikut contoh XML untuk 'trans.Topup'
MethodCall
<?xml version="1.0" ?>
<methodCall>
<methodName>trans.Topup</methodName> <params>
<param>
<value> <struct>
<member>
<name>user</name>
<value><string>10001</string></value>
</member>
<member>
<name>idProduk</name>
<value><string>S20</string></value>
</member>
<member>
<name>msisdn</name>
<value><string>081112</string></value>
</member>
<member>
<name>ref</name>
<value><string>12345678</string></value>
</member>
<member>
<name>signature</name>
<value><string>38c531c12dd33d0ddc54bfcf9cefe347</string></value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
Contoh XML untuk fault code
<?xml version="1.0"?>
<methodResponse>
<fault>
<value> <struct>
<member>
<name>faultCode</name>
<value><int>204</int></value>
</member>
<member>
<name>faultString</name>
<value><string>Invalid signature</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
trans.Reverse
Berikut contoh XML untuk 'trans.Reverse'
MethodCall
<?xml version="1.0" ?>
<methodCall>
<methodName>trans.Reverse</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>idTransaksi</name>
<value><string>1234567890</string></value>
</member>
<member>
<name>msisdn</name>
<value><string>081112</string></value>
</member>
<member>
<name>ref</name>
<value><string>12345678</string></value>
</member>
<member>
<name>responseMessage</name>
<value><string>Transaksi S20 ke nomor 081112 gagal</string></value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
Status Code
Daftar status code dari server Voucha II.
Normal
1xx, Normal. Transaksi berhasil diterima. Menunggu diproses.
| Status | Keterangan |
| 100 | Transaksi menunggu diproses |
| 101 | Transaksi menunggu diproses |
| 102 | Transaksi menunggu diproses |
Normal Error
2xx, Normal error. Transaksi ditolak.
| Status | Keterangan |
| 200 | Parameter tidak ditemukan |
| 201 | Parameter tidak valid |
| 202 | Parameter tidak lengkap |
| 203 | Account tidak valid |
| 204 | Signature tidak valid |
| 205 | IP Address tidak valid atau diblokir |
| 206 | Account tidak aktif atau diblokir |
| 207 | Produk tidak terdaftar |
| 208 | Produk sedang kosong atau tidak tersedia |
| 209 | Saldo tidak cukup untuk melakukan transaksi |
| 210 | Transaksi yang sama belum bisa dilakukan |
| 211 | MSISDN xxxx tidak dapat ditopup dengan produk XYY |
| 212 | Timeout |
| 213 | MSISDN tidak valid atau expired |
| 299 | Error belum diketahui |
System Error
3xx, System error. Transaksi/perintah ditolak. Terjadi kesalahan di server.
| Status | Keterangan |
| 300 | Unknown internal error |
| 301 | General error |
| 302 | System out of order |