veritrans / veritrans-php

PHP client library for Veritrans
93 stars 85 forks source link

Penyebab Eror ini status 404 adalah ini Veritrans_Transaction::status('{') #73

Closed omsem closed 5 years ago

omsem commented 6 years ago

Saya mendapat error di log server semacam ini

PHP Fatal error: Uncaught exception 'Exception' with message 'Veritrans Error (404): The requested resource is not found' in /var/www/.../.../Veritrans/ApiRequestor.php:96

dan sebelumnya ada error ini :

PHP Warning: Illegal string offset 'transaction_id' in /var/www/.../.../Veritrans/Notification.php on line 20

Berikut stack tracenya

`Stack trace:

0 /var/www/vhosts/.../.../Veritrans/ApiRequestor.php(17): Veritrans_ApiRequestor::remoteCall('https://api.san...', 'SB-Mid-server-O...', false, false)`

#1 /var/www/vhosts/.../.../Veritrans/Transaction.php(17): Veritrans_ApiRequestor::get('https://api.san...', 'SB-Mid-server-O...', false)

#2 /var/www/vhosts/.../.../Veritrans/Notification.php(20): Veritrans_Transaction::status('{')

#3 /var/www/vhosts/.../.../gateway.php(92): Veritrans_Notification->__construct()

#4 /var/www/vhosts/.../.../Veritrans/ApiRequestor.php on line 96

penyebab erro menurut analisaku di #2 yang adalah masih olahan standar dari barisan code midtrans

json dikirim dari dashboard midtrans bagian konfigurasi --> test notification url --> send json menuju gateway.php yang merupakan notification handle di webku

Ada yang mengalami hal yang sama?

bagaimana penyelesaiinnya?

adamramadhan commented 6 years ago

sama nih

edwinnsan commented 6 years ago

sudah ada solusinya atau belum ya?

nurasto commented 6 years ago

Hal ini terjadi karena json tidak terparse oleh json_decode, php://input tidak tahu content-type nya. Selain itu json yang diterima pada server merchant terdapat "magic quotes", contohnya seperti ini:

"{\"transaction_id\": \"xyz123456\"}"

Terdapat tanda kutip di depan dan di belakang, ditambah dengan slash. Saya tidak tahu ini dari server midtrans atau bukan, karena setahu saya PHP 7 sudah tidak ada magic quotes.

Solusi sederhana adalah melakukan trim karakter " dan menghilangkan slash. Berikut commit dari fork https://github.com/nurasto/veritrans-php/commit/15fbdf3b331c21c31265a08fd611978464a65432 untuk mengatasi hal ini. Saya tidak melakukan PR.

PS: Untuk fungsi test notification yang terdapat pada konfigurasi dalam dashboard akan tetap mengalami kendala 404, mungkin bisa dihindarkan dengan memasukan try catch pada kode, sehingga tetap berjalan walaupun ada exception dari ApiRequestor.

rizdaprasetya commented 6 years ago

Terima kasih mas Nurasto sudah memberikan solusi.

Seringnya error ini terjadi karena malakukan test notification dari menu "Send Test Notification" di dashboard midtrans, data yang dikirimkan oleh menu tersebut memang data dummy dan terkadang format JSONnya salah, sehingga gagal di passing oleh library. Untuk testing notification, disarankan untuk membuat transaksi sandbox langsung, karena sudah pasti transaksi ter-create dan bisa dilakukan get status. Untuk sementara silahkan di ignore menu "Send Test Notification" di dashboard midtrans

Anggyanisa commented 4 years ago

saya mendapat kan error log seperti ini D/OkHttp: <-- 404 Not Found http://..../.../midtrans/gettoken.php/charge (365ms).

Ada yang mengalami hal yang sama?

bagaimana penyelesaiinnya?

rizdaprasetya commented 4 years ago

Silahkan dijelaskan secara detail, pada proses apakah issue terjadi. Apakah ini transaksi dari Android SDK? 404 berarti ketika SDK kirim request ke backend anda, urlnya not exist atau belum diimplement, pastikan sudah diimplement.

Android SDK akan by default menambahkan path /charge pastikan backend anda bisa handle hal tersebut. Atau silahkan lihat sample: https://github.com/rizdaprasetya/midtrans-mobile-merchant-server--php-sample-

Anggyanisa commented 4 years ago

jadi ketika saya mengirim data pembelian saya dari java ke PHP server / PHP API saya, pada logcat android studio saya mengalami error D/OkHttp: <-- 404 Not Found http://..../.../midtrans/gettoken.php/charge (365ms), dan pada tampilan yang ada di hp android saya adalah "transaksi gagal, silahkan ulangi lagi atau coba dengan metode pembayaran lainnya". itu bagaimana ya bapak? apa yang salah ?

Pada tanggal Kam, 25 Jul 2019 pukul 12.06 Rizda Dwi Prasetya < notifications@github.com> menulis:

Silahkan dijelaskan secara detail, pada proses apakah issue terjadi. Apakah ini transaksi dari Android SDK? 404 berarti ketika SDK kirim request ke backend anda, urlnya not exist atau belum diimplement, pastikan sudah diimplement.

Android SDK akan by default menambahkan path /charge pastikan backend anda bisa handle hal tersebut. Atau silahkan lihat sample:

https://github.com/rizdaprasetya/midtrans-mobile-merchant-server--php-sample-

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/veritrans/veritrans-php/issues/73?email_source=notifications&email_token=AFIXUKPZDKGVZ2XV4NMVYS3QBEYGJA5CNFSM4EHUEIMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2YLPRQ#issuecomment-514897862, or mute the thread https://github.com/notifications/unsubscribe-auth/AFIXUKPS5NBCMMFVSJRJ4GDQBEYGJANCNFSM4EHUEIMA .

rizdaprasetya commented 4 years ago

Silahkan make sure langkah berikut sudah dilakukan ya:

Android SDK akan by default menambahkan path /charge pastikan backend anda bisa handle hal tersebut. Atau silahkan lihat sample: https://github.com/rizdaprasetya/midtrans-mobile-merchant-server--php-sample-

Anggyanisa commented 4 years ago

[image: WhatsApp Image 2019-07-29 at 11.13.38.jpeg] selamat siang, jika saya mengalami error logcat seperti ini apa yang salah mohon bantuannya?

Pada tanggal Jum, 26 Jul 2019 pukul 15.59 Rizda Dwi Prasetya < notifications@github.com> menulis:

Silahkan make sure langkah berikut sudah dilakukan ya:

Android SDK akan by default menambahkan path /charge pastikan backend anda bisa handle hal tersebut. Atau silahkan lihat sample:

https://github.com/rizdaprasetya/midtrans-mobile-merchant-server--php-sample-

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/veritrans/veritrans-php/issues/73?email_source=notifications&email_token=AFIXUKKEM4IFT2DPYTQ3H3TQBK4FXA5CNFSM4EHUEIMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD236YGQ#issuecomment-515370010, or mute the thread https://github.com/notifications/unsubscribe-auth/AFIXUKPKREPZOIY55SVO6HTQBK4FXANCNFSM4EHUEIMA .

rizdaprasetya commented 4 years ago

Imagenya tidak terload @Anggyanisa . silahkan kontak via email support[at]midtrans.com