DEVELOPER PROSES Untuk menggunakan aplikasi sandbox, silahkan ikuti prosedur dibawah ini :
1. Melakukan Registrasi sebagai Merchant baru Klik menu Register dan mengisi form yang ditentukan sebagai merchant baru.
2. Cara pengiriman message Transfer for Payment
Merchant
Gateway
Create Payment Code
customer
y Pa
m
en
tC
od
Receive Payment Code
e
Status Inquiry
Response Status Inquiry
Channel Bank Notify Payment
Acknowledge Notify Payment
Untuk bisa bertransaksi ke environment sandbox, ikut petunjuk cara bertransaksi dibawah ini :
1. Create payment code Create payment code adalah transaksi permintaan Payment Code yang dilakukan oleh merchant saat customer melakukan checkout, Payment Code merupakan id bayar pada saat customer melakukan pembayaran di ATM Bersama. Message yang digunakan adalah XML dengan metode POST.
Request Message Format No
Name
Type
Status
Length
Description
1
type
String
M
50
Type of data that requested by Merchant, filled in accordance with the type of ongoing transactions: Value: reqpaymentcode
2
bookingid
String
M
25
3
clientid
String
M
50
Booking ID / Invoice ID (Received From Merchant, Unique) Client ID that use by merchant for identified each customer (Receive From merchant, Unique)
4
customer_name
String
M
25
Customer name in which bookingid is attached to.
5
amount
int
M
12
6
productid
String
M
20
Amount that customer should pay (should numeric, excluding decimal point). For example: IDR 1.892.221 will be denoted as 1892221 Product id from Merchant (must unique on merhant’s side).
7
interval
int
M
5
Interval of transaction based on minute (max 99999 minute).
8
username
String
M
25
9
booking_datetime
String
M
19
signature
String
M
32
Given merchant user name provided by Artajasa. Transmission local date and time of the transaction. (GMT+7). Format: YYYY-MM-dd hh:mm:ss Signature will use MD5 with the component below :
10
MD5(username+password+bookingID) Username and password for sandbox will be provided when when you receive email approval registering as merchant.
Response Message Format
No
Name type
Type String
Status M
Length 50
1
Value: respaymentcode ack
String
M
2
Bookingid/InvoiceId
int
M
25
vaid
int
M
12
int String
M M
3 32
2
3 4 5
Description
bankcode signature
6
Response Code of this transaction, Here is the list of Response code of the transaction : 1. 00 = Transaction Success 2. 01 = Illegal signature 3. 02 = Error Tag xml 4. 03 = Error Content Type 5. 04 = Error Content Length 6. 05 = Error Accessing Database Booking ID/InvoiceId (Received From Merchant, Unique) Payment Code that allocated for bookingid for Customer Artajasa internal code Signature will use MD5 with the component below : MD5(username+password+bookingID)
Berikut dibawah ini adalah contoh message XML Create Payment Code : Request XML :
reqpaymentcode 123456789 1 <customer_name>Faisal 1000000 <productid>01 120 <username>partner 2011-11-08 20:20:33 <signature>9bb575179ef43032d7dee3e57bbb5575 Response XML :
respaymentcode 00 123456789 500100123456
987 <signature>9bb575179ef43032d7dee3e57bbb5575
2. Pembayaran melalui ATM Bersama Setelah customer checkout dari web merchant, customer akan mendapatkan Payment code (vaid), melalui menu ATM Bersama customer akan mengisi Payment Code sebagai rekening tujuan transfer dengan bank tujuan adalah “987”. Simulasi pembayaran ATM Bersama telah disediakan didalam menu Merchant.
3. Notify Payment Notify payment adalah pengiriman message notifikasi ke url merchant atas transaksi pembayaran yang dilakukan customer di channel ATM Bersama. Merchant diharapkan meregister url notify payment untuk dapat menerima hasil transaksi transfer ATM Bersama yang dilakukan oleh customer. Message notify yang dikirim menggunakan format XML dengan mehod POST. Request Message Format No 1.
Name type
Type
Status
Length
String
M
10
Description Filled in accordance with the type of ongoing transactions: Value: reqnotification
2.
bookingid
int
M
25
3.
clientid
String
M
50
customer_name
String
M
25
Booking ID (Received From Merchant, Unique) Client ID that use by Merchant for identified each customer (Receive From Merchant, Unique) Customer name in which bookingid is attached to (Alphabet)
4. 5.
issuer_bank issuer_name
6.
amount
String String
M M
50 30
Int
M
12
Name of issuer bank Name of issuer bank account name of ATM Bersama Amount that customer should pay (should numeric, excluding decimal point) For example: IDR 1.892.221 will be denoted as 1892221
7.
productid
String
M
20
8.
trxid
String
M
34
9.
trx_date
String
M
19
Product id from Merchant (must unique on Merchant’s side) Combination of ATM Bersama transaction ID for transaction tracing. Date and time of the ATM Bersama transaction. Format: YYYY-MM-dd hh:mm:ss
10. username
String
M
20
11. notification_datetime
String
M
19
12. signature
String
M
32
Given Merchant user name provided by Artajasa Transmission local date and time of the transaction. (GMT+7) Format: YYYY-MM-dd hh:mm:ss Signature will use MD5 with the component below : MD5(username+password+bookingID)
Response Message Format No 1
Name type
Type String
Status M
Length 10
Description Filled in accordance with the type of ongoing transactions: Value: resnotification
2
ack
String
M
2
3
bookingid
int
M
25
4
signature
String
M
32
Response code of notification “00” for success, “78” for re try notification if already arrived before. Booking ID (Received From Merchant, Unique) Signature will use MD5 with the component below : MD5(username+password+bookingID)
Berikut dibawah ini adalah contoh message XML Notify Payment : Request XML : <notification>
reqnotification 123456789 1 <customer_name>Faisal
Bank Rakyat Indonesia NAMA BIN NAMA 100000 <productid>01
0000021805410607000014000000000000 2011-11-08 22:20:33 <username>partner <notification_datetime>2011-11-08 22:30:43 <signature>9bb575179ef43032d7dee3e57bbb5575
Response XML :
resnotification 00 123456789 <signature>9bb575179ef43032d7dee3e57bbb5575
Jika terjadi kegagalan dalam pengiriman notifikasi ini system akan mencoba melakukan retry sebanyak 3 kali.
4. Status Inquiry Transaksi Untuk memudahkan merchant untuk dapat mengetahui transaksi yang sebelumnya dilakukan customer melalui ATM Bersama, merchant dapat melakukan inquiry status transaksi. Merchant melakukan inquiry status ini jika sudah melewati interval (lihat Create Payment Code). Merchant dapat mengirim lebih dari 1 transaksi yang diindikasikan dengan itemNN (NN adalah index number transaksi) dalam melakukan inquiry status. Message ini menggunakan format XML dengan method POST.
Request Message Format No
Name
1 type
Type
Status
Length
String
M
12
Description Type of data that requested by Merchant, filled in accordance with the type of ongoing transactions: Value: reqtrxstatus
2 vaid
String
M
12
Payment Code that allocated for bookingid for Customer
3 booking_datetime
String
M
19
Created date of VAID that match with “booking_datetime” in Payment Code Request. Format: YYYY-MM-dd hh:mm:ss
4 username
String
M
20
5 signature
String
M
32
Given Merchant user name provided by Artajasa Signature will use MD5 with the component below : MD5(username+password+bookingID)
Response Message Format No
Name
Type
Status
Length
Description
1 type
String
M
10
Filled in accordance with the type of ongoing transactions: Value: restrxstatus
2 bookingid
String
M
25
Booking ID (Received From Merchant, Unique)
3 clientid
String
M
50
Client ID that use by Merchant for identified each customer (Receive From Merchant, Unique)
4 customer_name
String
M
25
5 issuer_bank
String
M
50
Customer name in which bookingid is attached to (Alphabet) Name of issuer bank
6 issuer_name
String
M
30
Name of issuer bank account name of ATM Bersama
Int
M
12
Amount that customer should pay (should numeric, excluding decimal point) For example: IDR 1.892.221 will be denoted as 1892221
8 productid
String
M
2
Product id from Merchant (must unique on Merchant’s side)
9 trxid
String
M
34
10 trx_date
String
M
19
11 status
String
M
3
Combination of ATM Bersama transaction ID for transaction tracing. Date and time of the ATM Bersama transaction. Format (YYYY-MM-dd HH:mm:ss) Transaction status code.
12 signature
String
M
32
7 amount
Signature will use MD5 with the component below : MD5(username+password+bookingI D)
Berikut dibawah ini adalah contoh message XML Notify Payment : Request XML : <notification>
reqtrxstatus 500100123456 2011-11-08 22:20:33 <username>partner <signature>9bb575179ef43032d7dee3e57bbb5575 500100123457 2011-11-08 22:20:53 <username>partner <signature>9bb575179ef43032d7dee3e57bbb5575 500100123458 2011-11-08 22:21:33 <username>partner <signature>9bb575179ef43032d7dee3e57bbb5575 ... ... <username>... <signature>...
Response Message : <notification>
restrxstatus 123456789 500100123456 1 <customer_name>Faisal Bank Rakyat Indonesia NAMA BIN NAMA 1000000 <productid>01 0000021805410607000014000000000000 2013-09-08 21:20:33
<status>00 <signature>9bb575179ef43032d7dee3e57bbb5575 123456790 500100123457 1 <customer_name>Faisal Bank Rakyat Indonesia NAMA BIN NAMA 1000000 <productid>01 0000021805410607000014000000000000 2013-09-08 21:20:33 <status>00 <signature>9bb575179ef43032d7dee3e57bbb5575 123456791 500100123458 1 <customer_name>Faisal Bank Rakyat Indonesia NAMA BIN NAMA 1000000 <productid>01 0000021805410607000014000000000000 2013-09-08 21:20:33 <status>00 <signature>9bb575179ef43032d7dee3e57bbb5575 ... ... ... <customer_name>... ... ... ... <productid>... ... ... <status>... <signature>...
Berikut dibawah ini adalah list dari semua Transaksi Status code :
1.
“00” Transaction Success
2.
“05” Transaction failed / general error
3.
“13” INVALID AMOUNT
4.
“78” ALREADY PAID (Transaction Success)
5.
“76” Maturity time expired
6.
“101” Ilegal signature
7.
“312” Empty Stock (Optional)
8.
“300” No Transaction Found
9.
“400” Success Transfer, REVERSAL Rejected (Transaction Success)
10. “401” Transfer Cancel, REVERSAL Approve
Untuk status 00, 78, 400 merchant mencatat status transaksi tersebut menjadi sukses dan tidak diperkenankan untuk melakukan pengiriman kembali transaksi inquiry status setelah mendapatkan status tersebut.
3. Persiapan Testing Sandbox Setelah merchant sudah mengetahui alur transaksi dan API yang digunakan, merchant dapat memproposed dengan email untuk melakukan testing. Adapun caranya : 1. Kirim email ke
[email protected] dengan subject “Proposed for testing Merchant <merchantID>”. Di dalam content email juga disebutkan URL Callback Merchant untuk notifikasi payment yang akan dikirim. Setelah itu dari kami akan mengirimkan : - Url Sandbox environment test - Username & Password - Tanggal testing
2. Merchant akan dipandu oleh assistant dari kami setelah merchant telah menerima email diatas.
4. Test aplikasi dengan Sandobox Merchant akan di sediakan skenario test dengan beberapa skenario untuk di uji coba. Setelah merchant telah menyelesaikan test ini, merchant dapat mempropose untuk Live Production melalui email.
5. Live Production Untuk dapat Live Production, merchant diharapkan untuk memigrasi aplikasi-nya ke production environment, adapun tahapan dan implementasinya akan dipandu oleh assistant dari kami.