Cara Instalasi Midtrans Multipayment di Php

Hallo, Tutorial kali ini adalah Cara menghubungkan Payment Midtrand dengan Project Php kalian. Terlebih dahulu saya perkenalkan Midtras merupakan Payment Gateway yang melayani Terima pembayaran dan dana dengan lebih mudah .

Midtrans Multipayment juga menyediakan layanan Pembayaran melalui Bank Transfer, Gojek, Alfamart/Indomart, BCA dan lainnya. midtrans sendiri mempunyai lisensi dari Bank Indonesia yang membuat sitem  pembayaran menjadi Aman Berikut ini adalah keamanan yang dimiliki oleh Midtrasns 
  1. Bank Indonesia, Midtrans terdaftar dan memegang lisensi dari bank Indonesia sejak tahun 2018.
  2. Kementrian Komunikasi dan Informatika Republik indonesia ( Kominfo), Midtrans terdaftar sebagai penyelenggara sistem elektronik di Kementrian Komunikasi dan Informatika Republik indonesia
  3. AES 256, AES adalah Standar Enkripsi elektronik yang didirikan Oleh U.S National Institute. AES 256 ini memastikan untuk melindungi data sensitif dari pencuri dan Akses yang tidak Otorisasi.
  4. PCI DSS, Yaitu untuk menjamin keamanan Transaksi Konsumen sesuai yang ditetapkan oleh PCI Security Standard.
  5. ISO 27001,  Untuk melindungi Transaksi Secara Internal dan eksternal berdasarkan standar internasional.
Data diatas merupakan Sertifikasi yang  dimiliki oleh Midtrans Sendiri. Terus Bagaimana cara Instalasi Midtrans di Php ?  untuk instalasi midtrans di Php adalah sebagai berikut.

Cara Instalasi Midtrans Multipayment di Php 

a. Membuat Akun Midtrans dan Access Key

1. Langkah Pertama Kalian harus mendaftarkan Akun kalian ke Midtrans dengan cara kalian bisa klik Tautan ini
2. kemudian kalian isi sesuai Data yang diminta

Tampilan Register Midtrans
3. Jika Kalian sudah Membuat akun baru di Midtrans, Langkah selanjutnya kalian Login sesuai akun yang tadi Kalian Buat.

Halaman Login Midtrans

4.Jika sudah di Halaman Menu Utama, Kalian Klik Environment yang sudah saya tandai di gambar bawah ini. Dan Kalian Pilih Environmentnya dari production Menjadi Sandbox.

Tampilan Halaman Utama

 

5. Kemudian Klik Pengaturan -> Access Key. Nah disini Kalian Copy Paste Client Key dan Server Key kedalam Notepad kalian supaya lebih mudah. 

Client Key dan Server Key untuk menghubungkan Midtrans dan Projek Kalian

b. Instalasi kedalam Php

1. Kalian Download terlebih Dahulu Midtrans-php disini
2. Ekstrak File Midtrans yang sudah di download.
3. Pindahkan Folder Midtrans yang sudah di ektrak tadi ke folder HTdoc di xampp.
3. Langkah selanjutnya, Kita test dulu nih file Midtrans kita apakah sudah terbung atau tidak, dengan cara kalian msauk ke folder Example -> Snap 


Di Folder snap ada 3 File diantaranya :
    a. Checkout-Process.php
    b. index.php 
    c. Checkout-Process-Simple-version.php

Kemudian kalian buka file Checkout-process.php

<?php
// This is just for very basic implementation reference, in production, you should validate the incoming requests and implement your backend more securely.
// Please refer to this docs for snap popup:
// https://docs.midtrans.com/en/snap/integration-guide?id=integration-steps-overview
namespace Midtrans;
require_once dirname(__FILE__) . '/../../Midtrans.php';
// Set Your server key
// can find in Merchant Portal -> Settings -> Access keys
Config::$serverKey = '<your server key>';
Config::$clientKey = '<your client key>';
// non-relevant function only used for demo/example purpose
printExampleWarningMessage();
// Uncomment for production environment
// Config::$isProduction = true;
// Enable sanitization
Config::$isSanitized = true;
// Enable 3D-Secure
Config::$is3ds = true;
// Uncomment for append and override notification URL
// Config::$appendNotifUrl = "https://example.com";
// Config::$overrideNotifUrl = "https://example.com";
// Required
$transaction_details = array(
'order_id' => rand(),
'gross_amount' => 94000, // no decimal allowed for creditcard
);
// Optional
$item1_details = array(
'id' => 'a1',
'price' => 18000,
'quantity' => 3,
'name' => "Apple"
);
// Optional
$item2_details = array(
'id' => 'a2',
'price' => 20000,
'quantity' => 2,
'name' => "Orange"
);
// Optional
$item_details = array ($item1_details, $item2_details);
// Optional
$billing_address = array(
'first_name' => "Andri",
'last_name' => "Litani",
'address' => "Mangga 20",
'city' => "Jakarta",
'postal_code' => "16602",
'phone' => "081122334455",
'country_code' => 'IDN'
);
// Optional
$shipping_address = array(
'first_name' => "Obet",
'last_name' => "Supriadi",
'address' => "Manggis 90",
'city' => "Jakarta",
'postal_code' => "16601",
'phone' => "08113366345",
'country_code' => 'IDN'
);
// Optional
$customer_details = array(
'first_name' => "Andri",
'last_name' => "Litani",
'email' => "andri@litani.com",
'phone' => "081122334455",
'billing_address' => $billing_address,
'shipping_address' => $shipping_address
);
// Optional, remove this to display all available payment methods
$enable_payments = array('credit_card','cimb_clicks','mandiri_clickpay','echannel');
// Fill transaction details
$transaction = array(
'enabled_payments' => $enable_payments,
'transaction_details' => $transaction_details,
'customer_details' => $customer_details,
'item_details' => $item_details,
);
$snap_token = '';
try {
$snap_token = Snap::getSnapToken($transaction);
}
catch (\Exception $e) {
echo $e->getMessage();
}
echo "snapToken = ".$snap_token;
function printExampleWarningMessage() {
if (strpos(Config::$serverKey, 'your ') != false ) {
echo "<code>";
echo "<h4>Please set your server key from sandbox</h4>";
echo "In file: " . __FILE__;
echo "<br>";
echo "<br>";
echo htmlspecialchars('Config::$serverKey = \'<your server key>\';');
die();
}
}
?>
<!DOCTYPE html>
<html>
<body>
<button id="pay-button">Pay!</button>
<pre><div id="result-json">JSON result will appear here after payment:<br></div></pre>
<!-- TODO: Remove ".sandbox" from script src URL for production environment. Also input your client key in "data-client-key" -->
<script src="https://app.sandbox.midtrans.com/snap/snap.js" data-client-key="<?php echo Config::$clientKey;?>"></script>
<script type="text/javascript">
document.getElementById('pay-button').onclick = function(){
// SnapToken acquired from previous step
snap.pay('<?php echo $snap_token?>', {
// Optional
onSuccess: function(result){
/* You may add your own js here, this is just example */ document.getElementById('result-json').innerHTML += JSON.stringify(result, null, 2);
},
// Optional
onPending: function(result){
/* You may add your own js here, this is just example */ document.getElementById('result-json').innerHTML += JSON.stringify(result, null, 2);
},
// Optional
onError: function(result){
/* You may add your own js here, this is just example */ document.getElementById('result-json').innerHTML += JSON.stringify(result, null, 2);
}
});
};
</script>
</body>
</html>

Kemudian kalian Ubah yang sudah Saya Tandai Warna Merah dengan Client Key dan Server key yang sudah Kalian Copy ke dalam Notepad.  kalian Akses folder Snap di web Browser kalian http://Localhost/midtrans-php/example/snap.

kalian coba klik Tombol Pay Apakah masih error atau tidak Jika sudah Terhubung akan keluar tampilan seperti dibawah ini

Tampilan Payment php

Jika sudah Tampil seperti Tampilan di atas Selemat kalian Sudah Terhubung ke Midtrans Payment meskipun masih Percobaan dalam development Project. Untuk Upgrade Kalian Bisa Info Lebih Lanjut di Situs Web Resminya di https://midtrans.com/id/pricing .
Untuk demo Bisa kalian kunjungi ke alamat https://docs.midtrans.com/en/snap/interactive-demo


Kesimpulan

Midrans merupakan Multipayment yang menyediakan layanan Pembayaran melalui Bank Transfer, Gojek, Alfamart/Indomart, BCA dan lainnya. Dengan keamanan yang dimiliki oleh Midtrans sendiri, Banyak seorang Web Development menggunakan Payment ini, Karena Midtrans ini lebih Mudah untuk di Instalasi Oleh seorang Developer. 

Posting Komentar

0 Komentar

Close Menu