Академический Документы
Профессиональный Документы
Культура Документы
#Credit Card
1. Langkah pertama buatlah terlebih dahulu akun midtrans
2. Jika sudah kunjungi https://dashboard.midtrans.com/
3. Pada bagian environment ganti menjadi sandbox
4. Lalu kunjungi pengaturan lalu klik access key,nah disitu copy atau simpan client
key dan server key.
Client Key : SB-Mid-client-AdsWkTkYY9M5F-SE
Server Key : SB-Mid-server-uzuyn3qbKPZqbUZ3ny7b9TAj
5. Jika sudah buat folder di hdocs dengan nama webservice
6. Lalu buka aplikasi sublime text atau text editor yang kalian punya, ketik script
dibawah ini di dengan naama creditcard.php
MASUKKAN CLIENT
KEY PUNYAMU
JENIS METODE
7. Script untuk GET token
MASUKKAN CLIENT
KEY PUNYAMU
MASUKKAN CLIENT
KEY PUNYAMU
MASUKKAN CLIENT
KEY PUNYAMU
14. Script lanjutan dari Script transaction data
MASUKKAN SERVER
KEY PUNYAMU
NIM : 16170049<br>
NAMA : Aji Nugroho<br>
Kelas : 16.5A.33<br>
<?php
define("BASE_URL","https://api.sandbox.midtrans.com/v2/");
define("CLIENT_KEY","SB-Mid-client-AdsWkTkYY9M5F-SE");
function remotePost( $url, $server_key,$postData )
{
$options = [
CURLOPT_CUSTOMREQUEST =>"POST",
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Accept: application/json',
'Authorization: Basic ' . base64_encode($server_key . ':')
],
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POSTFIELDS => $postData
];
$ch = curl_init( $url ); // Inisialisasi Curl
curl_setopt_array( $ch, $options ); // Set Opsi
$content = curl_exec( $ch ); // Eksekusi Curl
curl_close( $ch ); // Stop atau tutup script
return $content;
}
$items = array(
array(
'id' => 'item1',
'price' => 5500000,
'quantity' => 1,
'name' => 'Laptop core i7'
),
array(
'id' => 'item2',
'price' => 13400000,
'quantity' => 1,
'name' => 'Asus ROG'
),
array(
'id' => 'item3',
'price' => 1900000,
'quantity' => 2,
'name' => 'OPPO A3S'
)
);
$total=0;
for($i=0;$i<count($i);$i++){
$total += ($items[$i]['price'])*($items[$i]['quantity'])."<br>";
}
$transaction_details = array(
'order_id' => time(),
'gross_amount' => $total
);
$url_request = BASE_URL.'token?'.http_build_query($card_details);
$x = get_web_page($url_request);
$y = str_replace(array("Veritrans.c(",");"),"",$x);
$my_token = json_decode($y);
echo "<pre>";
print_r($my_token);
die();
$billing_address = array(
'first_name' => "Aji",
'last_name' => "Nugroho",
'address' => "Jln Sukasari",
'city' => "Bandung",
'postal_code' => "12161",
'phone' => "089789008567",
'country_code' => 'IDN'
);
$shipping_address = array(
'first_name' => "Yesi",
'last_name' => "Komalasari",
'address' => "Padasuka",
'city' => "Bandung",
'postal_code' => "12162",
'phone' => "085123456789",
'country_code' => 'IDN'
);
$customer_details = array(
'first_name' => "Aji",
'last_name' => "Nugroho",
'email' => "nugrohoaji314@gmail.com",
'phone' => "089634178256",
'billing_address' => $billing_address,
'shipping_address' => $shipping_address
);
$params = array(
'card_number' => '4811111111111114',
'card_cvv' => "123",
'card_exp_month' => '10',
'card_exp_year' => '2019',
'client_key'=> "SB-Mid-client-AdsWkTkYY9M5F-SE"
);
$token = BASE_URL.'token?'.http_build_query($params);
$contents = file_get_contents($token);
$decode = json_decode($contents, true);
$transaction_data = array(
'payment_type' => 'credit_card',
'credit_card' => array(
'card_number' => '4811111111111114',
'card_cvv' => "123",
'card_exp_month' => '10',
'card_exp_year' => '2019',
'bank' => 'maybank',
'secure' => true,
'installment' => true,
'installment_term' => '6',
'token_id' => $decode['token_id'],
'two_click' => true,
'type' => "authorize",
'channel' => "migs",
'point' => true,
'client_key'=> "SB-Mid-client-AdsWkTkYY9M5F-SE"
),
'transaction_details' => $transaction_details,
'item_details' => $items,
'customer_details' => $customer_details
);
try {
$data1 = json_encode($transaction_data);
$url = BASE_URL.'charge';
$response = remotePost($url,'SB-Mid-server-
uzuyn3qbKPZqbUZ3ny7b9TAj',$data1);
$data1 = file_get_contents($url);
echo $response;
//header('Location:'.$newURL);
} catch (Exception $e) {
echo $e->getMessage();
die();
}
?>