Topup

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