API pembayaran travel
API Payment Gateway untuk pemesanan perjalanan: dari checkout hingga refund
API payment gateway memungkinkan situs pemesanan Anda menerima uang pelanggan tanpa pernah menyentuh data kartu. Halaman ini menjelaskan panggilan dalam satu pembayaran kartu, status yang dilaluinya, mengapa pembayaran travel lebih rumit daripada ritel, dan bagaimana PHPTRAVELS menghubungkan alur pemesanan Anda ke gateway pilihan Anda.
- Sesi, 3-D Secure, capture
- Semua status pembayaran
- Kartu, dompet digital, bank, kredit
- Tanpa data kartu di server Anda
Cara kerja panggilan
Satu pembayaran kartu, panggilan demi panggilan
API payment gateway adalah kumpulan layanan web yang dibuka perusahaan pembayaran untuk merchant. Server Anda meminta pembuatan pembayaran dengan jumlah dan mata uang tertentu, pelanggan memasukkan kartu di formulir milik gateway, lalu gateway berhubungan dengan jaringan kartu dan bank penerbit. Server Anda tidak pernah melihat nomor kartu; ia hanya menerima ID pembayaran dan status.
Empat pihak terlibat. Diagram menampilkannya sebagai kolom dan setiap pesan sebagai panah bernomor. Namanya berbeda di tiap gateway (payment intent, sesi, order, charge), tetapi urutannya sama.

Panah putus-putus adalah webhook: gateway memanggil server Anda sendiri, sehingga pembayaran tetap memperbarui pemesanan meski pelanggan menutup browser. Halaman Integrasi payment gateway menjelaskan bagaimana tiap langkah dikaitkan dengan pemesanan di PHPTRAVELS.
- Pelanggan
- Situs Anda
- Gateway
- Jaringan kartu / bank
01CheckoutPelanggan Situs Anda
Pelanggan meninjau perjalanan dan menekan Bayar. Pemesanan ditahan di pemasok, belum dikonfirmasi.
02Buat payment intent atau sesiSitus Anda Gateway
Server Anda mengirim jumlah, mata uang, referensi pemesanan, dan kunci idempotensi bersama kunci API rahasia. Gateway mengembalikan ID pembayaran.
03Hosted fields atau redirectGateway Pelanggan
Formulir kartu disajikan oleh gateway, di dalam halaman Anda atau di halamannya sendiri, sehingga data kartu langsung masuk ke gateway.
043-D SecureJaringan kartu / bank Pelanggan
Jika bank penerbit memintanya, pelanggan mengonfirmasi pembayaran di aplikasi bank atau dengan kode sekali pakai.
05OtorisasiGateway Jaringan kartu / bank
Gateway meminta penerbit menyetujui jumlah tersebut melalui jaringan kartu.
06Disetujui, dana ditahanJaringan kartu / bank Gateway
Penerbit mencadangkan uang di kartu. Belum ada dana yang berpindah.
07Hasil ke situs AndaGateway Situs Anda
Pelanggan kembali ke situs Anda membawa ID pembayaran. Server Anda membaca status dari API dan mengonfirmasi pemesanan ke pemasok.
08CaptureSitus Anda Gateway
Setelah pemasok mengonfirmasi, server Anda melakukan capture sebesar penuh atau lebih kecil. Banyak gateway juga bisa langsung capture.
09WebhookGateway Situs AndaDikirim gateway secara mandiri
Gateway mengirim event bertanda tangan (pembayaran di-capture, di-refund, disengketakan) ke endpoint Anda. Server Anda memeriksa tanda tangan lalu memperbarui pemesanan.
Status pembayaran
Siklus hidup pembayaran sebagai state machine
Setiap API gateway melaporkan status untuk tiap pembayaran. Istilahnya berbeda-beda, tetapi semuanya merujuk ke beberapa status yang sama, dan logika pemesanan Anda harus menanggapi masing-masing.
created
Dibuat
Pembayaran sudah ada dengan jumlah dan mata uang, menunggu pelanggan.
failedAkhir
Gagal
Ditolak, 3-D Secure tidak diselesaikan, atau ditinggalkan. Tidak ada yang ditagih.
authorized
Diotorisasi
Penerbit menyetujui jumlah dan menahannya di kartu.
voidedAkhir
Dibatalkan (void)
Penahanan dibatalkan sebelum capture, sehingga pelanggan tidak pernah ditagih.
captured
Di-capture
Uang sudah diambil dan akan diselesaikan ke rekening merchant Anda.
partially_refundedAkhir
Di-refund sebagian
Sebagian jumlah yang di-capture dikembalikan, misalnya setelah biaya pembatalan.
refundedAkhir
Di-refund
Seluruh jumlah yang di-capture dikembalikan ke kartu.
Otorisasi tidak berlaku selamanya: jika tidak di-capture tepat waktu, penahanan kedaluwarsa dan bank melepas uangnya. Pembayaran yang sudah di-refund sebagian masih bisa di-refund lagi, hingga jumlah yang di-capture.
Mengapa travel lebih sulit
Mengapa pembayaran travel berbeda
Toko menjual barang yang ada di stok. Penjual travel menerima uang untuk pemesanan yang masih harus dikonfirmasi pemasok, sering kali berbulan-bulan sebelum keberangkatan. API pembayaran harus sesuai dengan kondisi itu.
01
Otorisasi sekarang, capture nanti
Hotel on-request, tarif grup, dan tur dikonfirmasi beberapa jam atau hari setelah pesanan. Otorisasi dulu dan capture saat konfirmasi berarti tidak ada tagihan untuk pemesanan yang batal.
02
Pemasok masih bisa menolak
Tarif bisa habis di antara pembayaran dan penerbitan tiket. Dengan otorisasi, uang dilepas lewat void; setelah capture, menjadi refund.
03
Refund sebagian setelah biaya pembatalan
Membatalkan penginapan atau tiket biasanya menyisakan biaya. Panggilan refund mengirim jumlah yang lebih kecil terhadap pembayaran asli, sesering yang diminta aturan.
04
Multi-mata uang
Pelanggan membayar dalam mata uangnya, sedangkan pemasok menagih dalam mata uang mereka. Gateway harus mendukung mata uang presentasi, dan catatan Anda harus menyimpan kedua jumlah.
05
Pemeriksaan penipuan untuk nilai tinggi
Tiket untuk besok, untuk orang lain, dibayar dengan kartu baru adalah pola penipuan klasik. 3-D Secure, penilaian risiko gateway, dan antrean tinjauan manual melindungi pesanan bernilai tinggi.
06
Chargeback berbulan-bulan kemudian
Sengketa sering datang setelah perjalanan. Simpan hasil autentikasi, dokumen pemesanan, dan event gateway bersama-sama, agar Anda bisa menjawab setiap sengketa dengan bukti.
Metode pembayaran
Cara bayar apa saja yang dicakup API payment gateway
Kartu hanyalah salah satu opsi. Pelanggan dan agen membayar dengan cara berbeda, dan masing-masing di-refund secara berbeda.
| Metode | Apa itu | Kapan uang masuk | Refund |
|---|---|---|---|
| Kartu | Kartu debit dan kredit melalui gateway, dengan 3-D Secure bila diwajibkan penerbit. | Diotorisasi saat checkout; di-capture langsung atau saat pemasok mengonfirmasi. | Refund penuh atau sebagian ke kartu yang sama melalui API. |
| Dompet digital | Akun dompet yang didukung gateway, seperti PayPal atau dompet di ponsel yang menyimpan kartu ter-tokenisasi. | Saat checkout, setelah pelanggan menyetujui di dompetnya. | Kembali ke dompet atau kartu di baliknya, melalui gateway. |
| Transfer bank | Pelanggan atau agen mengirim uang ke rekening bank Anda dan pembayaran dicatat pada pemesanan. | Beberapa hari kemudian; pemesanan menunggu sampai tim Anda mengonfirmasi dana masuk. | Dikembalikan lewat transfer, di luar gateway. |
| Bayar nanti | Pemesanan dibuat sekarang dan dibayar belakangan; tim Anda mencatat pembayaran saat diterima. | Setelah pemesanan, ketika pelanggan membayar. | Hanya yang benar-benar dibayar yang dikembalikan. |
| Dompet atau kredit agen B2B | Sub-agen membayar dari saldo yang mereka isi di muka atau dari batas kredit yang Anda berikan. | Dipotong saat pemesanan; deposit dan kredit diselesaikan sesuai ketentuan Anda. | Dikreditkan kembali ke saldo agen. |
Transfer bank, bayar nanti, dan saldo dompet adalah opsi penyelesaian dari platform itu sendiri, bukan gateway. Saldo dan batas kredit agen dijelaskan di halaman Dompet agen B2B; pembayaran bank di halaman Pembayaran transfer bank.
Siap di PHPTRAVELS
API payment gateway yang sudah terhubung
Gateway ini sudah terhubung ke PHPTRAVELS. Anda membuka akun merchant di penyedia, memasukkan kunci API di admin, menguji di sandbox-nya, lalu go live. Daftarnya adalah daftar langsung dari direktori integrasi kami.
StripePanduan integrasiPayPalPanduan integrasi
xMoney
Fawaterk
Cashfree
Paystack
Flutterwave
Adyen
MyFatoorah
SSLcommerz
Razorpay- Semua integrasi pembayaran
Biaya dan persetujuan merchant disepakati dengan perusahaan pembayaran, bukan dengan PHPTRAVELS. Gateway yang tidak ada di sini bisa ditambahkan sebagai Integrasi API kustom, dan halaman Integrasi payment gateway menjelaskan cara penyiapan masing-masing.
Keamanan
Menjauhkan data kartu dari sistem Anda
Nomor kartu paling aman adalah yang tidak pernah diterima server Anda. API payment gateway dirancang agar server Anda tidak perlu menerimanya.
Jangan pernah menyimpan nomor kartu
Data kartu masuk ke gateway, yang mengembalikan token atau ID pembayaran. Database Anda menyimpan referensi itu, bukan nomor kartu atau kode keamanan.
Hosted fields dan redirect mengecilkan cakupan PCI DSS
PCI DSS berlaku bagi siapa pun yang menangani data kartu. Bila formulir kartu adalah halaman gateway atau field yang disematkan, jauh lebih sedikit sistem Anda yang masuk cakupan. Acquirer Anda menegaskan self-assessment mana yang berlaku.
Webhook diverifikasi dengan tanda tangan
Setiap webhook membawa tanda tangan yang dibuat dengan secret bersama. Server Anda menghitung ulang dan menolak event yang tidak cocok, sehingga tidak ada yang bisa memalsukan pemesanan lunas.
Kunci rahasia tetap di server
Browser hanya menerima kunci publik. Kunci rahasia yang membuat pembayaran dan refund berada di konfigurasi server Anda, dan setiap permintaan membawa kunci idempotensi agar percobaan ulang tidak pernah menagih dua kali.
1$payload = file_get_contents("php://input"); 2$signature = $_SERVER["HTTP_X_SIGNATURE"] ?? ""; 3$expected = hash_hmac("sha256", $payload, $webhookSecret); 4 5if (!hash_equals($expected, $signature)) { 6 http_response_code(400); exit; // reject 7} 8$event = json_decode($payload, true); 9if (alreadyHandled($event["id"])) exit; // repeat delivery10updateBooking($event["data"]["metadata"]["booking_ref"], $event["type"]);
Contoh umum. Nama header dan metode penandatanganan mengikuti gateway yang Anda pilih.
PHPTRAVELS adalah perangkat lunak self-hosted, sehingga kepatuhan PCI DSS dinilai untuk bisnis dan server Anda, bukan untuk perangkat lunaknya saja.
Lihat pemesanan dibayar, di-capture, dan di-refund
Pesan perjalanan di demo langsung dan ikuti pembayarannya di admin. Pada paket Enterprise, PHPTRAVELS juga menyediakan REST API dan webhook sendiri untuk aplikasi dan mitra Anda.
Juga merencanakan penerbangan? Halaman API Penerbangan menjelaskan sisi pemasok, dan API travel mendaftar semua API yang dihubungkan PHPTRAVELS.
Kumpulan layanan web dari perusahaan pembayaran agar situs dapat membuat pembayaran, mengirim kartu ke bank untuk persetujuan, meng-capture uang, melakukan refund, dan menerima pembaruan status lewat webhook, tanpa menyimpan data kartu sendiri.
Gateway adalah bagian yang berhubungan dengan situs Anda: mengumpulkan kartu dengan aman dan meneruskan permintaan. Processor membawa transaksi melalui jaringan kartu ke bank penerbit. Banyak penyedia menawarkan keduanya sebagai satu layanan.
Yang menyetujui bisnis Anda, mendukung negara, mata uang, dan metode pembayaran pelanggan Anda, serta menawarkan otorisasi dan capture terpisah plus refund sebagian. Banyak agen menggabungkan gateway kartu global dengan gateway regional.
Otorisasi mencadangkan jumlah di kartu pelanggan; capture mengambilnya. Memisahkan keduanya memungkinkan Anda menagih hanya setelah pemasok mengonfirmasi pemesanan, dan membatalkan penahanan jika tidak.
Di banyak wilayah, termasuk Wilayah Ekonomi Eropa dan Inggris, autentikasi pelanggan yang kuat diwajibkan untuk sebagian besar pembayaran kartu online, dan 3-D Secure adalah cara kartu memenuhinya. API gateway menangani tantangannya; alur pemesanan Anda menunggu hasilnya.
Tidak dengan sendirinya. Memakai hosted fields atau halaman pembayaran gateway menjauhkan data kartu dari server Anda dan mengecilkan cakupan PCI DSS, tetapi Anda tetap harus menyelesaikan penilaian yang diminta acquirer Anda.
Bisa, jika gateway mendukung refund sebagian, seperti kebanyakan gateway kartu. Anda mengirim refund dengan jumlah lebih kecil terhadap pembayaran asli, misalnya harga dikurangi biaya pembatalan.
Tidak. Anda membuka akun merchant di gateway pilihan Anda dan menyepakati biayanya dengan mereka. PHPTRAVELS menghubungkan platform pemesanan Anda ke akun itu dengan kunci API yang Anda masukkan di admin.
Bisa. Gateway apa pun dengan API terdokumentasi dapat ditambahkan sebagai integrasi kustom, dan karena kode sumbernya disertakan, developer Anda juga dapat memperluas alur pembayaran.
Jelajahi lebih lanjut
Selengkapnya tentang platform
- Integrasi payment gatewayCheckout, 3D Secure, refund, dan webhook
- Pembayaran StripeCheckout kartu dan dompet, refund, dan pencairan
- Pembayaran PayPalCheckout PayPal untuk penerbangan, hotel, dan tur
- Dompet agen B2BDeposit agen, batas kredit, dan buku besar per agen
- API travelAPI GDS, hotel, tur, mobil dan pembayaran
- API PenerbanganAPI penerbangan GDS, NDC, dan konsolidator dalam satu platform
