Created
October 27, 2014 14:13
-
-
Save rafeequl/634583d1108cf4bf5911 to your computer and use it in GitHub Desktop.
Two Click part 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
require_once(dirname(__FILE__) . '/../../Veritrans.php'); | |
if(empty($_POST['token_id'])) { | |
die('Empty token_id!'); | |
} | |
Veritrans_Config::$serverKey = 'server key'; | |
// Uncomment for production environment | |
// Veritrans_Config::$isProduction = true; | |
$transaction_details = array( | |
'order_id' => time(), | |
'gross_amount' => 200000 | |
); | |
// Populate items | |
$items = array( | |
array( | |
'id' => 'item1', | |
'price' => 100000, | |
'quantity' => 1, | |
'name' => 'Adidas f50' | |
), | |
array( | |
'id' => 'item2', | |
'price' => 50000, | |
'quantity' => 2, | |
'name' => 'Nike N90' | |
)); | |
// Populate customer's billing address | |
$billing_address = array( | |
'first_name' => "Andri", | |
'last_name' => "Setiawan", | |
'address' => "Karet Belakang 15A, Setiabudi.", | |
'city' => "Jakarta", | |
'postal_code' => "51161", | |
'phone' => "081322311801", | |
'country_code' => 'IDN' | |
); | |
// Populate customer's shipping address | |
$shipping_address = array( | |
'first_name' => "John", | |
'last_name' => "Watson", | |
'address' => "Bakerstreet 221B.", | |
'city' => "Jakarta", | |
'postal_code' => "51162", | |
'phone' => "081322311801", | |
'country_code' => 'IDN' | |
); | |
// Populate customer's info | |
$customer_details = array( | |
'first_name' => "Andri", | |
'last_name' => "Setiawan", | |
'email' => "[email protected]", | |
'phone' => "081322311801", | |
'billing_address' => $billing_address, | |
'shipping_address' => $shipping_address | |
); | |
// Token ID from checkout page | |
$token_id = $_POST['token_id']; | |
// Transaction data to be sent | |
$transaction_data = array( | |
'payment_type' => 'credit_card', | |
'credit_card' => array( | |
'token_id' => $token_id, | |
'bank' => 'bni', | |
'save_token_id' => isset($_POST['save_cc']) | |
), | |
'transaction_details' => $transaction_details, | |
'item_details' => $items, | |
'customer_details' => $customer_details | |
); | |
$response = Veritrans_VtDirect::charge($transaction_data); | |
// Success | |
if($response->transaction_status == 'capture') { | |
echo "<p>Transaksi berhasil.</p>"; | |
echo "<p>Status transaksi untuk order id $response->order_id: " . | |
"$response->transaction_status</p>"; | |
echo "<h3>Detail transaksi:</h3>"; | |
echo "<pre>"; | |
var_dump($response); | |
echo "</pre>"; | |
} | |
// Deny | |
else if($response->transaction_status == 'deny') { | |
echo "<p>Transaksi ditolak.</p>"; | |
echo "<p>Status transaksi untuk order id .$response->order_id: " . | |
"$response->transaction_status</p>"; | |
echo "<h3>Detail transaksi:</h3>"; | |
echo "<pre>"; | |
var_dump($response); | |
echo "</pre>"; | |
} | |
// Challenge | |
else if($response->transaction_status == 'challenge') { | |
echo "<p>Transaksi challenge.</p>"; | |
echo "<p>Status transaksi untuk order id $response->order_id: " . | |
"$response->transaction_status</p>"; | |
echo "<h3>Detail transaksi:</h3>"; | |
echo "<pre>"; | |
var_dump($response); | |
echo "</pre>"; | |
} | |
// Error | |
else { | |
echo "<p>Terjadi kesalahan pada data transaksi yang dikirim.</p>"; | |
echo "<p>Status message: [$response->status_code] " . | |
"$response->status_message</p>"; | |
echo "<pre>"; | |
var_dump($response); | |
echo "</pre>"; | |
} | |
echo "<hr>"; | |
echo "<h3>Request</h3>"; | |
echo "<pre>"; | |
var_dump($response); | |
echo "</pre>"; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment