Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. OpenCart
Code

Membuat Metode Pembayaran Kustom di OpenCart: Bagian 3

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Create a Custom Payment Method in OpenCart.
Create a Custom Payment Method in OpenCart: Part 2

Indonesian (Bahasa Indonesia) translation by Ari Ana (you can also view the original English article)

Jika Anda telah mengikuti seri ini, Anda harus terbiasa dengan jenis struktur file yang kami siapkan untuk metode pembayaran kustom kita di back-end. Jika Anda belum melalui bagian awal dari seri ini, saya sangat menyarankan Anda membacanya sebelum melanjutkan dengan yang satu ini.

Kita akan menggunakan sejenis pengaturan file untuk bagian front-end juga.

Pengaturan Controller

Silakan membuat file controller di catalog/controller/payment/custom.php. Tempel konten berikut di file controller custom.php yang baru dibuat.

Seperti yang Anda lihat, ada dua metode berbeda. Metode index akan bertanggung jawab untuk menyiapkan data ketika formulir dikirimkan ke gateway pembayaran pihak ketiga, dan metode callback digunakan untuk menangani data respons dari gateway pembayaran. Karena itu, Anda dapat menentukan lebih banyak metode jika diperlukan oleh gateway pembayaran Anda. Dalam contoh ini, kita menjaga alurnya sesederhana mungkin.

Mari kita bahas setiap bagian secara rinci. Kita akan mulai dengan metode index.

Pertama, kita telah memuat file bahasa dan mengatur nilai tombol Confirm. Kita juga telah menyiapkan atribut action yang akan digunakan oleh formulir pengiriman pembayaran. Anda harus mengubahnya sesuai dengan gateway pembayaran Anda.

Selanjutnya, kita telah memuat informasi pesanan dari sesi aktif pengguna.

Jika informasi pemesanan tersedia, kita akan melanjutkan dan mengatur data untuk variabel tersembunyi yang akan digunakan untuk mengirimkan formulir ke URL gateway pembayaran. Jika Anda mengikuti kode ini dengan cermat, Anda akan melihat bahwa kami juga telah menggunakan parameter kustom kami, text_config_one dan text_config_two, yang kami konfigurasikan dalam formulir konfigurasi admin di bagian sebelumnya dari seri ini.

Variabel penting lainnya yang perlu diperhatikan di sini adalah callbackurl, yang menyimpan URL yang digunakan oleh gateway pembayaran untuk mengalihkan pengguna kembali ke toko kita setelah proses pembayaran. Dan ya, melihat URL payment/custom/callback harus menunjukkan bahwa itu akan memanggil metode callback, seperti yang akan kita lihat pada saat ini.

Akhirnya, kita menetapkan file template kustom custom.tpl kita dan me-render view.

Mari kita tinjau kode dari metode callback. Metode ini akan dipanggil ketika pengguna kembali ke toko dari situs gateway pembayaran.

Pertama, kita memeriksa apakah variabel orderid tersedia atau tidak sebelum melanjutkan lebih jauh. Jika tidak tersedia, kita hanya berhenti memproses lebih lanjut.

Selanjutnya, kita memuat informasi pemesanan dari database. Dan akhirnya, kita akan memeriksa apakah kita mendapat indikator success dari respons gateway pembayaran. Jika demikian, kita akan melanjutkan dan memperbarui informasi status pesanan yang sesuai.

Itu pengaturan controller. Sederhana, bukan?

Model Konvensional

Seperti yang Anda ketahui, OpenCart memiliki kumpulan konvensi dan standar tersendiri untuk menangani cara kerja bagian dalam toko. Seperti halnya dengan pengaturan model untuk deteksi metode pembayaran. Anda hanya mengaturnya sesuai konvensi, dan itu akan diambil secara otomatis.

Silakan membuat file model di catalog/model/payment/custom.php. Tempel konten berikut di file model custom.php yang baru dibuat.

Kelas ini akan digunakan oleh OpenCart ketika mencantumkan metode pembayaran aktif selama proses checkout. Selama proses ini, OpenCart mengumpulkan daftar metode pembayaran aktif dari back-end, dan untuk setiap metode itu akan memeriksa apakah kelas model yang sesuai tersedia atau tidak. Metode pembayaran hanya akan dicantumkan jika kelas model terkait tersedia.

Yang penting dalam pengaturan ini adalah nilai dari variabel code. Dalam kasus kita, kita telah menetapkannya menjadi custom, yang berarti bahwa ketika Anda memilih metode pembayaran dan menekan Continue, itu akan memanggil URL payment/custom secara internal, yang akhirnya menyiapkan formulir untuk gateway pembayaran kita.

Singkatnya, kita dapat mengatakan bahwa itu adalah file wajib untuk deteksi dan kerja yang tepat dari metode pembayaran di front-end.

File Bahasa dan Template

Sekarang, kita hanya perlu membuat file bahasa dan view. Silakan membuat file bahasa di catalog/language/english/payment/custom.php. Tempel konten berikut di file bahasa custom.php yang baru dibuat.

Cukup mudah dimengerti: kita baru saja menyiapkan label yang akan digunakan di front-end saat checkout.

Silakan membuat file template di catalog/view/theme/default/template/payment/custom.tpl. Tempel konten berikut di file template custom.tpl yang baru dibuat.

Seperti yang Anda duga, ini adalah formulir yang akan dikirimkan ketika pengguna mengklik tombol Confirm Order. Kita baru saja mengatur variabel tersembunyi dan nilai-nilai mereka yang sebelumnya didefinisikan dalam metode index dari controller.

Mari kita lihat bagaimana tampilannya di front-end:

Front-end Checkout View

Mari kita dengan cepat melalui keseluruhan alurnya:

  • Pertama, Anda harus menyiapkan file model untuk metode pembayaran Anda sehingga dapat dicantumkan di Langkah 5: Tab Metode Pembayaran.
  • Selanjutnya, ketika pengguna memilih Custom Payment Method di tab kelima dan klik pada tombol Continue, OpenCart secara internal memanggil URL payment/custom, yang memanggil metode index pada akhirnya dan me-render file custom.tpl di tab keenam.
  • Akhirnya, ketika pengguna mengklik tombol Confirm Order, formulir akan dikirimkan dan pengguna dibawa ke situs gateway pembayaran tempat proses pembayaran dimulai. Setelah proses pembayaran selesai, pengguna akan diarahkan kembali ke situs kita, berkat variabel tersembunyi callbackurl. Tentu saja, status pesanan akan diperbarui sebagai bagian dari metode callback jika semuanya telah beroperasi seperti yang diharapkan.

Kesimpulan

Dalam seri ini, saya telah menjelaskan cara menyiapkan hampir semua metode pembayaran dengan membuat modul metode pembayaran Anda sendiri. Saya harap Anda menikmati seri ini dan belajar sesuatu yang bermanfaat.

Selalu menyenangkan membuat barang-barang kustom untuk kerangka apa pun, bukan? Ingat Anda selalu dapat memberikan komentar dan pertanyaan menggunakan formulir komentar di bawah ini.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.