harrypujianto / Veritrans-Codeigniter

15 stars 63 forks source link

Notifikasi Pembayaran #4

Closed jepicode closed 6 years ago

jepicode commented 6 years ago

Hallo pak Harry,

maaf saya membuka topik baru lagi, karena topik yang berbeda. disini saya ingin bertanya bagaimana sistem midtrans memberi tahukan jika pembayaran sudah dilakukan? apakah kita membuat sebuah halaman yang setiap detiknya akan mengecek status dari setiap order dan menyimpan di database, atau bagaimana?

saya membaca dokumentasi, jika midtrans mengirimkan notifikasi ke website (link yang ada di pengaturan), tapi bagaimana halaman tersebut bisa mengetahui adanya data yang dikirim oleh midtrans? apakah harus melakukan pengecekan terus menerus?

harrypujianto commented 6 years ago

Jadi midtrans akan mengirimkan notifikasi untuk setiap transaksi. Ketika transaksi dicreate maupun setelah transaksi dibayar. Notifikasi dari Midtrans ada 2. 1 email notif, 1 lagi HTTP POST notif. Http post notif ini otomatis diterima pak sama server bapak. JIka pake librari ci bisa diliat di notif controller. Di code itu notif akan diterima dan di proses. Jadi bapak tidak perlu melakukan get status terus menerus ke midtrans. Semoga dapat dipahami pak. Silahkan dicoba dahulu codenya

jepicode commented 6 years ago

Maaf pak sebelumnya saya agak kurang mengerti. pertama saya sudah download repository ini dan saya pindahkan ke web saya. bapak bisa akses di https://pinopi.com, yang artinya controller notif ada di https://pinopi.com/notification. kedua, saya coba membuat order, dan saya lakukan pembayaran di sandbox, lalu saya buka https://pinopi.com/notification, tapi tidak keluar hasil apapun. apa ada pengaturan lainnya? selain mengganti server key? ketiga, saya bingung di file_get_contents('php://input'), saya tau kalo file tersebut akan menangkap post dari midtrans jika ada notif, tapi bagaimana website saya bisa tau kalo sedang ada yg dikirim atau diterima?

harrypujianto commented 6 years ago

Link notif url ini memang bukan untuk dibuka di browser, karena belum tentu notif sampai setelah browser berhasil di load. bisa saja sebelum slsai di load notif sudah sampai. maka dari itu, silahkan tulis hasil notif ke dalam log (error_log) contoh paling simpelnya.

fajaruddinmeilana commented 6 years ago

Hallo Pak Harry, Saya juga mengalami case yang sama, saya masih kurang paham dengan notification yg diberikan dari midtrans seperti apa untuk saya mengetahui customer sudah bayar selain mendapat notification melaui email? agar saya dapat mengupdate datanya ke database.

dan 1 lagi yg saya mau tanyakan, saya menggunakan metode SNAP dari midtrans. dan untuk gross_amountnya itu kalau tidak salah harus sesuai dengan harga subtotal itemnya ya ? saya sudah mencoba memasukan nilai gross_amount yg tidak sesuai dengan subtotal itemnya, namun program nya tidak jalan. yg saya mau saya tanyakan disini adalah bagaiman jika dalam sistem saya ada potongan diskon voucher ? @harrypujianto image

harrypujianto commented 6 years ago

https://github.com/harrypujianto/Veritrans-Codeigniter/blob/master/application/controllers/notification.php#L42 dibaris itu ada code untuk mencatat notifikasi yang masuk kedalam error log. silahkan cek error log anda. jika sudah ada notifkasi dalam bentuk json yang masuk, maka endpoint sudah berjalan dengan baik. kemudian silahkan uncomment baris-baris dibawahnya.

Snap hanya terima gross amount dengna nilai yang sama dengna nilai total dari item_details->price * item_details->qty. untuk promo, silahkan ubah nilai harga menjadi nilai negative. misalnya -200000.

fajaruddinmeilana commented 6 years ago

Ow ow ow.... ternyata oh ternyata image

Terimakasih atas bantuannya Pak Harry

kartono21 commented 5 years ago

Hi Mas Harry,

ini di controller saya saat ini

$result = $request->input('data'); $data = json_decode($result, true); $transaction = $data['transaction_status'];

ketika saya echo $transaction, di dashboard midtrans muncul internal server error..tapi pas saya postman muncul hasil echonya.

Sama ketika saya mau update data, saya dapat internal server error terus.

itu kendalanya dimana yah pak?