Integrasi

Integrasi pembayaran crypto di backend, langkah demi langkah

Integrasi pembayaran crypto di backend langkah demi langkah: buat pembayaran dari server, arahkan pelanggan, verifikasi webhook, dan rekonsiliasi pesanan.

Mengintegrasikan pembayaran crypto ke backend membutuhkan tiga bagian: panggilan server yang membuat pembayaran, redirect untuk pelanggan, dan webhook yang menutup pesanan. Panduan ini membahas setiap langkah dengan API v1 Qvard.

Langkah 1: simpan pesanan dulu

Simpan pesanan di database Anda dengan status seperti pending sebelum memanggil API. Gunakan id pesanan sebagai field id, sehingga pembayaran dan pesanan terhubung sejak awal.

Langkah 2: buat pembayaran

Dari backend Anda, kirim POST ke /api/v1/payment dengan header x-api-key, id pesanan di id, dan total di price. Simpan kunci API di konfigurasi server, jangan pernah di kode front-end.

Langkah 3: arahkan pelanggan

Simpan redirectUrl yang dikembalikan bersama pesanan dan kirim pelanggan ke sana. Di halaman hosted pelanggan memilih aset dan jaringan lalu membayar nominal yang persis.

POST/api/v1/payment
x-api-key: sk_live_…

{
  "id": "order_1024",
  "price": 12499.00,
  "currency": "INR",
  "paymentSystemId": 12
}

// 201 Created
{
  "data": {
    "id": "8f3k2a1c",
    "redirectUrl": "https://my.qvard.com/pay/8f3k2a1c"
  },
  "code": 201,
  "message": "success",
  "status": true
}

Langkah 4: tutup pesanan dari webhook

Endpoint webhook Anda memeriksa x-api-key, mencari pesanan berdasarkan id, dan menandainya lunas ketika status paid. Inilah satu-satunya tempat pembayaran dikonfirmasi.

Langkah 5: rekonsiliasi dan pantau

Jalankan pemeriksaan harian untuk pesanan yang terlalu lama pending dan bandingkan dengan catatan pembayaran Anda. Catat setiap respons API dan setiap webhook untuk dukungan.

POSTyour-webhook-url
x-api-key: sk_live_…

{ "id": "order_1024", "status": "paid" }

Tips arsitektur

Simpan kode pembayaran di layanan kecil yang terpisah dari tampilan checkout. Dengan begitu handler webhook bisa diubah atau kanal kedua bisa ditambahkan tanpa menyentuh bagian toko lainnya.

FAQ

Bahasa backend apa yang bisa saya pakai?

Bahasa apa pun yang bisa mengirim HTTPS POST dengan body JSON dan menerima webhook. API berupa HTTP biasa, jadi tidak perlu SDK.

Di mana saya harus menaruh URL webhook?

Gunakan endpoint HTTPS publik di backend Anda. Endpoint harus menerima POST dan memeriksa header x-api-key sebelum memperbarui pesanan.

Apakah saya perlu integrasi terpisah untuk setiap kripto?

Tidak. Pelanggan memilih aset dan jaringan di halaman checkout hosted, jadi backend Anda membuat satu pembayaran dalam USD dan membaca satu status.

Bisakah saya menguji seluruh integrasi dulu?

Bisa. Gunakan alur invoice demo untuk membayar invoice uji dan pastikan handler webhook Anda berjalan sebelum menerima pembayaran sungguhan.

Artikel terkait

Artikel terkait