Вы находитесь на странице: 1из 11

TUGAS 1

Nama : Aji Nugroho


Nim : 16170049
Kelas : 16.5A.33

#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

8. Script Items Details


9. Script transaction details dan get token

MASUKKAN CLIENT
KEY PUNYAMU

10. Script biling address (alamat tagihan)

11. Script biling address (alamat pengiriman)


12. Script customer details

MASUKKAN CLIENT
KEY PUNYAMU

13. Script transaction data

MASUKKAN CLIENT
KEY PUNYAMU
14. Script lanjutan dari Script transaction data

MASUKKAN SERVER
KEY PUNYAMU

15. Hasilnya yang dijalankan di XAMPP

16. Hasilnya dari transaction Midtrans


SOURCE CODE FULL

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;
}

function get_web_page( $url )


{
$options = [
CURLOPT_CUSTOMREQUEST =>"GET",
CURLOPT_RETURNTRANSFER => 1
];
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
curl_close( $ch );
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
);

$card_details =["card_number" => "4811111111111114",


"card_exp_month" => "10",
"card_exp_year" => "2019",
"card_cvv" => "123",
"secure" => true,
"gross_amount" => $total,
"callback" => "Veritrans.c",
"client_key" => "SB-Mid-client-AdsWkTkYY9M5F-SE"];

$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();
}

?>

Вам также может понравиться