Lewati ke konten

Integrasi dengan TripPay

Artikel ini berisi contoh menyeluruh tentang cara mengintegrasikan dengan TripPay.

Disarankan Anda sudah membaca:

Berikut adalah langkah-langkah untuk berhasil menggunakan TripPay untuk membayar pemesanan:

  1. Pastikan penerima manfaat yang Anda sebutkan dalam kontrak pemesanan sudah dipetakan.
  2. Biarkan pelancong memilih inventaris yang ingin mereka pesan dan bersiap untuk membayar.
  3. Buat payable contract dengan TripPay yang berisi item yang akan dipesan.
  4. Biarkan pelancong membayar menggunakan TripPay Web Component.

Kami mengasumsikan Anda sudah menyelesaikan Langkah 1 dan Langkah 2 dan siap memberi tahu TripPay tentang pemesanan.

Berikut adalah contoh permintaan JSON yang mencakup semua yang Anda butuhkan untuk membuat payable contract pertama Anda.

{
"user": {
"userIdentifier": "191d5729-0b90-4000-85df-1bea7a6e9a01",
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]"
},
"affiliateAccountIdentifier": "291d5729-0b91-4001-95df-2bec7a6e9a01",
"affiliateAccountIdentifierType": "INTERNAL",
"displayCurrency": "USD",
"traceId": "trace-1",
"redirectUrl": "/thank-you",
"sourceUrl": "https://www.travel.com",
"contractList": [
{
"identifier": "191d5729-0b90-4000-8298-72431beb1701",
"supplierIdentifier": "191d5729-0b90-4000-8b72-58186a642401",
"supplierIdentifierType": "EXTERNAL",
"contractItemList": [
{
"user": {
"userIdentifier": "191d5729-0b90-4000-8596-ed18f9876801",
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]",
"telephone": "+1 212 555 1212",
},
"nameInEnglish": "Deluxe King",
"descriptionInEnglish": "Ini adalah deluxe king terbaik yang bisa dibeli dengan uang.",
"price": {
"amount": 100,
"currency": "USD"
},
"itinerary": {
"startDate": "2024-12-24T00:00:00.000Z",
"endDate": "2024-12-25T00:00:00.000Z",
"adults": 2
},
"pricingType": "PER_STAY",
"type": "LODGING",
"payable": "PREPAY",
"policy": {
"refundable": true
},
"externalIdentifier": "room-type-1",
"dailyRateList": [
{
"date": "2024-12-24",
"price": {
"amount": 100,
"currency": "USD"
}
}
],
"beneficiaryList": [
{
"identifier": "account-0",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.015
},
"type": "PLATFORM_FEE"
},
{
"identifier": "account-1",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.0985
},
"type": "COMMISSION"
},
{
"identifier": "account-2",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.8865
},
"type": "SALE"
}
]
}
]
}
]
}

Penjelasan:

Kami tidak akan menjelaskan setiap titik data di sini karena sudah dibahas dalam dokumen API.

  • Baris: 2 - 7 adalah pengguna yang bertanggung jawab atas pemesanan. Ada dua jenis pemesan:
    • Pelancong.
    • Agen perjalanan.
  • Baris: 8 - 9 adalah akun TripPay yang memfasilitasi pemesanan. Bisa berupa:
    • Akun integrator TripPay Anda.
    • Jika Anda menjalankan jaringan afiliasi, bisa berupa afiliasi Anda.
  • Gunakan traceId untuk mengelompokkan beberapa pemesanan dari beberapa pemasok. Dengan cara ini Anda dapat membatalkan pemesanan grup.
  • redirectUrl memberi tahu TripPay halaman mana yang harus diarahkan setelah pembayaran selesai.
  • sourceUrl adalah situs / aplikasi tempat pemesanan dilakukan.

Array contractList berisi item yang ingin dibeli pelancong dari beberapa pemasok. Setiap item berisi:

  • identifier adalah UUID valid yang Anda buat.
  • Pemasok yang ingin Anda pesan inventarisnya.
  • Inventaris yang ingin Anda pesan dari pemasok tersebut. Semua ini ditentukan dalam array bersarang contractItemList.
  • Setiap entri di bawah contractItemList berisi:
    • Pengguna tamu Ini adalah pengguna yang akan tiba di lokasi.
    • Nama dalam Bahasa Inggris Nama inventaris dalam bahasa Inggris.
    • Deskripsi dalam Bahasa Inggris Deskripsi lebih panjang tentang inventaris dalam bahasa Inggris.
    • Harga Harga item.
    • Itinerary Kapan item ini harus dipesan.
    • Jenis harga Cara harga dihitung.
    • Jenis inventaris Jenis inventaris ini.
    • Payable Kapan pelancong harus dikenakan biaya. Saat ini kami hanya mendukung opsi pembayaran langsung.
    • Kebijakan Sertakan aturan kebijakan pembatalan.
    • Daftar tarif harian Jika item yang dipesan adalah kamar, Anda dapat memilih untuk menyertakan berapa biaya kamar tersebut untuk setiap malam tamu menginap.
    • Penerima manfaat Sertakan akun TripPay mana yang harus dialokasikan berapa jumlah dari harga item. Jumlah tetap / persentase didukung.

Ketika TripPay merespons permintaan Anda, tampilannya akan seperti ini:

[
{
"id": "contract-1",
"traceId": "trace-1",
"supplierContractIdentifier": "191d5729-0b90-4000-8298-72431beb1701",
"supplierIdentifier": "191d5729-0b90-4000-8b72-58186a642401",
"supplierName": "Hilton",
"totalPrice": {
"amount": 100,
"currency": "USD"
},
"totalDisplayPrice": {
"amount": 100,
"currency": "USD"
},
"totalSupplierPrice": {
"amount": 100,
"currency": "USD"
},
"totalInternalPrice": {
"amount": 100,
"currency": "USD"
},
"totalCapturePrice": {
"amount": 100,
"currency": "USD"
}
}
]

Simpan id pada baris 3. Anda akan menggunakannya untuk disisipkan ke dalam TripPay web component.

Pada titik ini, Anda siap untuk menyematkan Payment Web Component ke situs web Anda dan menampilkannya kepada pengguna.

<trip-pay id="contract-1"></trip-pay>

Sejauh integrasi berjalan, itu saja yang perlu Anda lakukan. Semua pekerjaan berat dilakukan oleh TripPay mulai dari sini.