Demo langsung

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.

Seorang pelanggan membayar perjalanan secara online sementara situs pemesanan, payment gateway, dan bank bertukar pesan pembayaran

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
  1. 01CheckoutPelanggan Situs Anda

    Pelanggan meninjau perjalanan dan menekan Bayar. Pemesanan ditahan di pemasok, belum dikonfirmasi.

  2. 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.

  3. 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.

  4. 043-D SecureJaringan kartu / bank Pelanggan

    Jika bank penerbit memintanya, pelanggan mengonfirmasi pembayaran di aplikasi bank atau dengan kode sekali pakai.

  5. 05OtorisasiGateway Jaringan kartu / bank

    Gateway meminta penerbit menyetujui jumlah tersebut melalui jaringan kartu.

  6. 06Disetujui, dana ditahanJaringan kartu / bank Gateway

    Penerbit mencadangkan uang di kartu. Belum ada dana yang berpindah.

  7. 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.

  8. 08CaptureSitus Anda Gateway

    Setelah pemasok mengonfirmasi, server Anda melakukan capture sebesar penuh atau lebih kecil. Banyak gateway juga bisa langsung capture.

  9. 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.

  1. 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.

  2. authorized

    Diotorisasi

    Penerbit menyetujui jumlah dan menahannya di kartu.

    voidedAkhir

    Dibatalkan (void)

    Penahanan dibatalkan sebelum capture, sehingga pelanggan tidak pernah ditagih.

  3. 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.

MetodeApa ituKapan uang masukRefund
KartuKartu 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 digitalAkun 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 bankPelanggan 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 nantiPemesanan 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 B2BSub-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.

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.

webhook.php
 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.

FAQ

API payment gateway: pertanyaan penjual travel

Hubungi sales

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.