Cara integrasi Midtrans dengan PHP untuk Pemula

Cara integrasi Midtrans dengan PHP untuk Pemula

Cara integrasi Midtrans dengan PHP untuk Pemula

Kali ini kami ingin berbagi tutorial bagaimana Cara integrasi Midtrans dengan PHP untuk Pemula pertama tama buat dulu sebuah folder projyek di htdocs anda misalanya midtrans

Langkah Pengerjaan

Sebelum berintegrasi dengan Midtrans, Anda perlu mendaftar untuk Akun.

Daftarkan Akun Midtrans di sini

Setelah menyelesaikan pendaftaran, login ke Merchant Administration Portal (MAP) di mana Anda dapat mengakses lingkungan Sandbox dan Produksi.

Dasbor Pedagang Produksi

Mengakses Portal Administrasi Midtrans

Untuk mengakses Midtrans Administration Portal (MAP), ikuti langkah-langkah di bawah ini.

  1. Klik Login di situs Midtrans ( www.midtrans.com ). Anda diarahkan ke halaman LOGIN .
  2. Masukkan Email Anda .
  3. Masukkan Kata Sandi .
  4. Klik Login .

Halaman masuk

Setelah berhasil masuk, Dasbor ditampilkan.

Catatan: Midtrans mengikuti praktik tertentu untuk menjaga keamanan akun Anda.

  • Jika sesi Anda tidak aktif selama lebih dari 15 menit, Anda akan keluar secara otomatis.
  • Midtrans MAP memberi tahu Anda untuk memperbarui kata sandi MAP Midtrans Anda setiap 90 hari.

Melengkapi Informasi Rekening

Lengkapi informasi yang diperlukan dari Pengaturan> Pengaturan Umum .

Informasi Umum

Catatan:

  • Nama Merchant tidak boleh mengandung simbol apapun.
  • URL pedagang harus kurang dari 25 karakter.

Mengambil Kunci Akses API

Untuk berkomunikasi dengan Midtrans API, Client Key dan Server Key diperlukan.

Untuk mendapatkan akses ke Kunci Klien dan Kunci Server, ikuti langkah-langkah yang diberikan di bawah ini.

  1. Masuk ke akun MAP Anda.
  2. Di Dasbor , buka Pengaturan> Tombol Akses .

Halaman Access Keys akan ditampilkan.

kunci akses

Catatan

  • Client Key: Digunakan sebagai kunci API yang akan digunakan untuk otorisasi pada¬†permintaan / konfigurasi API¬†frontend¬†.¬†Jadi aman untuk memasukkan kode HTML / klien Anda secara publik.
  • Server Key: Digunakan sebagai kunci API yang akan digunakan untuk otorisasi saat memanggil API Midtrans dari¬†backend¬†.¬†Jadi¬†jaga kerahasiaannya¬†.

Tombol Akses unik untuk setiap pedagang. Selalu jaga kerahasiaan Kunci Server .

Baca Juga  Belajar Microsoft Excel: Cara Menetralisir Spasi Berlebih Pada Text

Lingkungan Switching

Lingkungan dapat dialihkan dari menu tarik-turun Lingkungan kiri atas di dasbor.

saklar lingkungan

Anda dapat menggunakan lingkungan Sandbox selama fase pengembangan Anda dalam mengintegrasikan sistem pembayaran Midtrans. Anda juga dapat menguji transaksi dummy di lingkungan Sandbox. saklar lingkungan

  • Lingkungan Sandbox¬†: Dapat digunakan untuk membuat transaksi “pengujian” (biasanya dilakukan dari lingkungan pengembangan / pengujian Anda).¬†Semua transaksi yang dilakukan dalam mode lingkungan ini tidak “nyata”, dan tidak memerlukan “pembayaran / dana nyata”.¬†Anda dapat mensimulasikan pembayaran uji coba¬†melalui Sandbox Simulator¬†untuk mengubah status pembayaran, seolah-olah telah dibayar.¬†Lingkungan ini dibuat secara otomatis saat Anda mendaftar, dan gratis untuk digunakan.
  • Lingkungan Produksi¬†: Dapat digunakan ketika Anda siap menerima “pembayaran / dana nyata” dari pelanggan Anda.¬†Pelanggan harus melakukan pembayaran nyata untuk memicu pembaruan status pembayaran.¬†Biaya transaksi mungkin berlaku untuk pembayaran apa pun yang dibuat dalam mode lingkungan ini.

Kunci API antara lingkungan Produksi & Kotak Pasir berbeda. Harap pastikan untuk mengakses lingkungan dasbor yang benar.

Data transaksi dipisahkan antara lingkungan masing-masing, sehingga tidak akan mengganggu / bercampur satu sama lain. Pengaturan & konfigurasi sebagian besar dipisahkan antara setiap lingkungan, sehingga Anda dapat memiliki dua pengaturan berbeda untuk mode pengujian dan produksi.

Membuka Kunci Akun Terkunci

Jika Anda mencoba masuk ke akun Anda dengan kata sandi yang salah lebih dari lima kali, akun Anda secara otomatis terkunci. Ini adalah fitur keamanan untuk melindungi akun Anda dari akses tidak sah.

Setelah akun Anda dikunci, itu akan dibuka kuncinya secara otomatis setelah 15 menit.

Jika Anda tidak dapat membuka akun Anda setelah 15 menit, mohon informasikan support@midtrans.com untuk memulai proses membuka kunci. Setelah akun dibuka, silakan masuk ke akun MAP Midtrans menggunakan kata sandi yang ada.

Mengatur Ulang Kata Sandi

Jika Anda lupa kata sandi, Anda dapat mengatur ulang kata sandi Anda dengan yang baru.

Untuk mengatur ulang kata sandi Anda, ikuti langkah-langkah yang diberikan di bawah ini.

  1. Di halaman Login, klik Trouble Logging In? .

halaman lupa kata sandi

Anda akan diarahkan ke halaman Atur Ulang Kata Sandi .

  1. Masukkan email Anda yang terdaftar di kolom Email .
  2. Klik Atur Ulang Kata Sandi .

bidang email halaman lupa kata sandi

Pesan yang mengonfirmasi tautan akan dikirim melalui email untuk mengatur ulang kata sandi Anda ditampilkan. Silakan periksa folder Kotak Masuk dan Spam Anda .

  1. Buka akun email Anda dan buka email yang dibuat secara otomatis yang diterima di kotak masuk Anda.
  2. Klik link untuk mengatur ulang kata sandi Anda.
  3. Anda akan diarahkan ke halaman Ubah Kata Sandi Midtrans .
  4. Masukkan kata sandi baru di bidang Kata Sandi Baru .
  5. Masukkan kembali kata sandi yang sama di bidang Konfirmasi Kata Sandi Baru .
  6. Klik Ubah Kata Sandi Saya .
Baca Juga  Belajar Microsoft Excel: Meniadakan Hyperlinks Tanpa Mengganti Format

Setelah pengaturan ulang kata sandi berhasil, Anda akan diarahkan ke halaman Login Midtrans.

Catatan:

  • The¬†sandi Lupa¬†link dalam email hanya berlaku untuk satu jam.¬†Jika tautan sudah kedaluwarsa, ulangi proses pengaturan ulang kata sandi.
  • Kata sandi baru tidak bisa sama dengan kata sandi yang digunakan di masa lalu.

Jika Anda menggunakan Composer, Anda masukan modul berikut kebagian composer.json atau anda bisa menggunakan terminal, Anda bisa melihat langkah pengerjaan di bagian video.

1. Instalasi

1.a Instalasi Komposer

Jika Anda menggunakan Komposer, Anda dapat menginstal melalui komposer CLI:

rekomendasi pake composer ya, klo belum install install dulu download disini

composer require midtrans/midtrans-php

atau

tambahkan baris ini ke file composer.json Anda:

{

"membutuhkan": {

"midtrans / midtrans-php": "2. *"

}

}

 

dan jalankan penginstalan komposer di terminal Anda.

Catatan: Jika Anda menggunakan framework Laravel jika PHP native lanjutkan tutorial ini, dalam beberapa kasus Anda juga perlu menjalankan komposer dumpautoload

/ Midtrans kemudian akan tersedia (dimuat otomatis) sebagai Objek di proyek Anda.

1.b Instalasi Manual

Jika Anda tidak menggunakan Komposer, Anda dapat mengkloning atau mengunduh repositori ini.

Maka Anda harus membutuhkan / autoload file Midtrans.php pada kode Anda.

<?php

require_once dirname (__ FILE__). '/namaproyek/Midtrans.php';

 

Anda panggil modul yang anda tambahkan dibagian composer.json dengan memanggil require dari autoload.php, Anda masukan key server yang anda dapat dari midtrans, Jika anda menjalankan kode dibawah maka secara otomatis anda mendapatkan kode token transaksi.

<?php

require_once(dirname(__FILE__) . '/vendor/autoload.php');

Veritrans_Config::$serverKey = "Masukan_key_anda_disini";

Veritrans_Config::$isSanitized = true;

Veritrans_Config::$is3ds = true;

$transaction_details = array(

'order_id' => rand(),

'gross_amount' => 40000,

);

$item1_details = array(

'id' => 'a1',

'price' => 20000,

'quantity' => 2,

'name' => "Denim shirt"

);

$item2_details = array(

'id' => 'a2',

'price' => 150000,

'quantity' => 1,

'name' => "Sweatshirt"

);

$item_details = array ($item1_details, $item2_details);

$billing_address = array(

'first_name' => "Dede",

'last_name' => "Nurjanah",

'address' => "jalan No.1",

'city' => "Bekasi",

'postal_code' => "17414",

'phone' => "081283804283",

'country_code' => 'IDN'

);

$shipping_address = array(

'first_name' => "Dede",

'last_name' => "Nurjanah",

'address' => "Bekasi",

'city' => "Jawa Barat",

'postal_code' => "17414",

'phone' => "081283804283",

'country_code' => 'IDN'

);

$customer_details = array(

'first_name' => "Dede",

'last_name' => "Nurjanah",

'email' => "lkpnaura@gmail.com",

'phone' => "081283804283",

'billing_address' => $billing_address,

'shipping_address' => $shipping_address

);

$enable_payments = array('credit_card','cimb_clicks','mandiri_clickpay','echannel','alfamart');

$transaction = array(

'enabled_payments' => $enable_payments,

'transaction_details' => $transaction_details,

'customer_details' => $customer_details,

'item_details' => $item_details,

);

$snapToken = Veritrans_Snap::getSnapToken($transaction);

?>

 

Baca Juga  Cara integrasi template html dengan python dan flask

Kemudian anda buat Snap JS ketika pelanggan melakukan klik pada pay button, jika anda mengklik button pay maka tampil dialog dari detail transaksi dan metode pembayaran yang anda bisa digunakan, Anda masukan key client dari midtrans dibagian data-client-key.

<html>
<head>
<title>Integrasi Midtrans PHP LKP Naura</title>
</head>
<body></body>
<script src="https://app.sandbox.midtrans.com/snap/snap.js" data-client-key="Masukan_key_anda_disini"></script>

<script type="text/javascript">

document.getElementById('pay-button').onclick = function(){

snap.pay('<?=$snapToken?>', {

onSuccess: function(result){

document.getElementById('result-json').innerHTML += JSON.stringify(result, null, 2);

},

onPending: function(result){

document.getElementById('result-json').innerHTML += JSON.stringify(result, null, 2);

},

onError: function(result){

document.getElementById('result-json').innerHTML += JSON.stringify(result, null, 2);

}

});

};

</script>
</html>

 

Kemudian buat lagi satu buah file untuk menampung status transaksi apabila terjadi pembayaran, maka midtrans akan mempost status terbaru kea kun anda dan jika status di post anda update statusnya ke database mysql anda, misalnya beri nama

Status.php

<?php

require_once(dirname(__FILE__) . '/vendor/autoload.php');

\Midtrans\Config::$isProduction = false;

\Midtrans\Config::$serverKey = 'Server Key';

$notif = new \Midtrans\Notification();




$transaction = $notif->transaction_status;

$type = $notif->payment_type;

$order_id = $notif->order_id;

$fraud = $notif->fraud_status;

$transaction = $notif->transaction_status;

$fraud = $notif->fraud_status;

error_log("Order ID $notif->order_id: "."transaction status = $transaction, fraud staus = $fraud");

if ($transaction == 'capture') {

if ($fraud == 'challenge') {

// Buat Query dan update status nya 'challenge'

}

else if ($fraud == 'accept') {

// Buat Query dan update status nya 'success'

}

}

else if ($transaction == 'cancel') {

if ($fraud == 'challenge') {

// Buat Query dan update status nya 'failure'

}

else if ($fraud == 'accept') {

// Buat Query dan update status nya 'failure'

}

}

else if ($transaction == 'deny') {

// Buat Query dan update status nya 'failure'

}

?>

 

Untuk melakukan simulasi pembayaran, silahkan kunjungi link simulator pembayaran midtrans ini dan coba lakukan pembayaran lalu cek dashboard anda

simulator pembayaran midtran

Nah demikianlah tutorial sederhana dari kami semoga bermanfaat

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Need Help? Chat with us