Speedcash Manual API
Speedcash Manual API
DAFTAR ISI
DAFTAR ISI .........................................................1
PENGANTAR .........................................................2
PANDUAN PENGGUNAAN API ..................................3
Selain metode integrasi sederhana melalui SSN / Simple Sell Now dan integrasi
melalui penginstalan plugins shopping cart, SpeedCash juga menyediakan metode
integrasi yang lengkap menggunakan API (Application Programming Interface) untuk
shopping cart Anda. Metode integrasi dengan API cocok untuk bisnis online
profesional dengan shopping cart yang bersifat customized dan kompleks.
SpeedCash menyediakan dokumen API (Application Programming Interface) yang
dapat digunakan oleh tim IT Anda membangun aplikasi yang menghubungkan
webstore Anda dengan SpeedCash secara H2H (host to host).
Langkah mudah yang dapat Anda lakukan dengan penggunaan metode ini adalah
dengan cara:
3.
4.
Private Key yang telah berhasil digenerate, dapat dilihat di tab Detail Api Saya
5.
Berikut source API yang dapat diintegrasikan pada web e-commerce Anda,
Proses Kirim Data/INPUT
Proses ini menjelaskan bagaimana data penjualan bisa terkirim ke website SPI
Speedcash, berikut Penjelasannya :
URL get Token = https://www.speedcash.co.id/spi/token
URL send Data = https://www.speedcash.co.id/spi/toolbar
List Variable Input
No.
Variable Name
Type Data
Example
Keterangan
1.
name
String max(30)
Kaos Oblong
Nama Produk
2.
unitPrice
String
"150"
3.
sku
String max(30)
Jenis Produk
4.
ids
String max(30)
Model Produk
5.
qty
String
"3"
Jumlah Produk
6.
desc
String max(30)
"Kaos Oblong"
7.
cms
String max(20)
"ubercart"
Jenis CMS
8.
spi_callback
String max(150)
9.
spi_is_escrow
Integer
10.
spi_request_key
String max(20)
"IYSOZDHWOP114"
11.
spi_currency
String max(3)
"IDR"
12.
spi_quantity
Integer
21
13.
spi_amount
Integer
145210
14.
114
Order ID Penjualan
Merchant harus unique /
beda dengan id transaksi
lain
15.
spi_token
String max(100)
16.
spi_billingName
String max(30)
"andi kapri"
Nama pembeli
17.
spi_billingAddress
String max(100)
"jalan arjuno"
Alamat Pembeli
18.
spi_billingCity
String max(50)
"kota malang"
Kota Pembeli
19.
spi_billingState
String max(4)
"LA"
20
spi_billingPostalCode
String max(6)
"64393"
21.
spi_billingCountry
String max(3)
"ID"
22.
spi_billingPhone
String max(20)
"085766171733"
No Telepon Pembeli
(diusahakan dengan no HP
agar suatu saat si pembeli
bisa mendapatkan sms dan
telepon)
23.
spi_billingEmail
String max(50)
Email Pembeli
24.
spi_deliveryName
String max(30)
"andi kapri"
Nama Penerima
25.
spi_deliveryAddress
String max(100)
"jalan mawar"
Alamat Penerima
26.
spi_deliveryCity
String max(50)
"kota jakarta"
Kota Penerima
27.
spi_deliveryState
String max(3)
"LA"
28.
"64393"
Variable Name
Type Data
Contoh
Keterangan
1.
reff_id
String
10
2.
order_id
String
114
2.
request_key
String
"IYSOZDHWOP114"
3.
response_code
String
00
00 : Transaksi Sukses
80 : Salah Currency
33 : Database Trouble
31 : Gagal Catat Transaksi
4.
response_desc
String
5.
additional_datas
JSON
{"spi_item":[{"name":"Kao
s 2",
"unitPrice":"150.00000",
"qty":"1"},
{"name":"Kaos 1",
"unitPrice":"3.00000",
"qty":"20"}],
"spi_currency":"IDR",
"spi_amount":210,
"spi_deliveryName":"andi
kapri",
"spi_deliveryAddress":"jala
n aa jalan bb",
"spi_deliveryCity":"kota
aa",
"spi_deliveryPostalCode":"
64393",
"spi_deliveryCountry":"ID"
}
Berikut kami berikan contoh pengambilan dan pengolahan variabel Output dari
Website SPI Speedcash :
<?php
//decript function
function decrypt($text,$order_id)
{
global $key;
$key = $order_id;
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($text), MCRYPT_MODE_ECB,
mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
$reff_id = $_REQUEST['reff_id']; // order id yang di peroleh dari speedcash
$response_code = $_REQUEST['response_code']; // kode yang menunjukan proses transaksi jika mendapatkan nilai 00
maka transaksi sukses dan apabila mendapatkan nilai selain 00 maka anda bisa menampilkan notifikasi melalui parameter
$response_desc
$order_id = $_REQUEST['order_id']; // order id penjualan dari website/toko online merchant
$request_key = $_REQUEST['request_key']; //nilai spi_request_key yang anda kirim ketika proses pembelian
$response_desc = $_REQUEST['response_desc']; // parameter pesan apabila transaksi belum sukses
$datas = $_REQUEST['additional_datas']; // parameter array yang berisi detail pembelian barang dari website merchant
$datas = decrypt($datas,$order_id); // harus di dekrip terlebih dahulu untuk membuka array tersebut, fungsi decrypt sudah
tercantum di atas
//Berikut contoh fungsi untuk membuka isi decript untuk parameter $datas, dan anda bisa melihat apasaja parameter di
dalamnya
$datas = json_decode($datas);
$str = "<br/><table border = 1>";
$str="<tr><td><strong>No.</strong></td><td><strong>Name</strong></td><td><strong>Qty</strong></td><td><strong
>Price (".$datas->spi_currency.")</strong></td></tr>";
$i = 1;
foreach ($datas->spi_item as $key => $product) {
$price = round($product->unitPrice,2);
$str .= "<tr><td>".$i."</td><td>".$product->name."</td><td>".$product->qty."</td><td>".$price."</td></tr>";
$i = $i + 1;
}
$str .= "</table>";
$str .= "<br/>";
$str .= "Total Amount = ".$datas->spi_amount."<br/><br/>";
$str .= "<strong>Delivery Order</strong><br/>";
$str .= "Delivery Name : ".$datas->spi_deliveryName ."<br/>";
$str .= "Delivery Address : ".$datas->spi_deliveryAddress."<br/>";
$str .= "Delivery City : ".$datas->spi_deliveryCity."<br/>";
$str .= "Delivery PostalCode : ".$datas->spi_deliveryPostalCode."<br/><br/>";
echo $str;
?>
Variable Name
Type Data
Example
Keterangan
10
1.
tanggal
String
2014-08-30
2.
private_key
String
"83905d8bbd9a562d1dcc31d89001"
Variable Name
Type Data
Contoh
Keterangan
1.
id_transaksi
String
10
2.
bill_info32
String
114
3.
time_request
date
"2014-08-30 12:21:39.183124+07"
Tanggal Transaksi
4.
keterangan
String
Sukses
11
{
$data = '';
if($array != '' && is_array($array)){
foreach($array as $key => $value) {
if($key != ""){
$data .= $data == "" ? "" : "&";
$data .= urlencode(urldecode($key)) ."=". urlencode($value);
}
}
}
return $data;
}
function setData($tgl="00",$pin="00", $url) // contoh program untuk mengambil data transaksi dari website speedcash
{
$ch = curl_init();
$orderdata = new stdClass();
$orderdata->tanggal = $tgl;
$orderdata->private_key = $pin;
$orderdata_ = (json_encode($orderdata));
$orderdata_encrypted = encrypt2(json_encode($orderdata));
$orderdata_decrypted = decrypt2($orderdata_encrypted);
$d = array("orderdata" => $orderdata_encrypted);
$serialized = _serialize_request($d);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $serialized);
curl_setopt($ch, CURLOPT_PORT, 443);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
$response = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
if ($errno > 0)
$aa = 'null';
else
$aa = $response;
curl_close($ch);
$resp = json_decode($response);
if ($resp == null || $resp == "")
{
$tabel = "<font size='6' color='red'>Data Tidak Di Temukan</font>";
}
else
{
$i = 1;
$tabel
=
"<table><tr><td>NO</td><td>REFF
ID</td><td>ORDER
ID</td><td>TRANSACTION
DATE</td><td>KETERANGAN</td></tr><tr>";
foreach ($resp as $data)
{
12
6.
7.
Silakan Anda menambahkan source API tersebut di atas pada halaman web ecommerce Anda
SpeedCash Interface Payment siap untuk digunakan
13