コンテンツにスキップ

TripPayとの統合

この記事には、TripPay との統合方法のエンドツーエンドの例が記載されています。

以下の内容をすでにお読みいただくことをお勧めします:

TripPay を使用して予約の支払いを完了するための手順は次のとおりです。

  1. 予約契約書に記載した受益者がマッピングされていることを確認してください。
  2. 旅行者に予約したい在庫を選択させ、支払いの準備をさせます。
  3. 作成する payable contract 予約するアイテムが含まれる TripPay を使用します。
  4. 旅行者が TripPay Web コンポーネントを使用して支払いを行えるようにします。

すでに完了していると想定していますStep 1 そして Step 2そして、TripPay に予約について知らせる準備が整いました。

これは、最初の支払い契約を作成するために必要なものがすべて含まれている JSON サンプル リクエストです。

{
"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": "This is the best deluxe king that money can buy.",
"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"
}
]
}
]
}
]
}

説明:

すべてのデータ ポイントは既に API ドキュメントで説明されているため、ここで説明することはしません。

  • 行:2 - 7予約の責任を負うユーザーです。予約者には2つの種類があります。
    • 旅行者。
    • 旅行代理店。
  • 行:8~9歳予約を円滑に進めるTripPayアカウントです。以下のものが考えられます。
    • TripPay インテグレーター アカウント。
    • アフィリエイト ネットワークを運営している場合は、それがアフィリエイトになることができます。
  • 使用traceId複数のサプライヤーにまたがる複数の予約をグループ化します。これにより、グループ予約をキャンセルできます。
  • redirectUrl支払いが完了した後にどのページにリダイレクトするかを TripPay に知らせます。
  • sourceUrl予約が行われたサイト/アプリです。

そのcontractList配列には、旅行者が複数のサプライヤーから購入したい商品が含まれます。各商品には以下の情報が含まれます。

  • そのidentifier生成した有効な UUID です。
  • 在庫を予約するサプライヤー。
  • その仕入先から予約したい在庫。これらはすべてネストされた配列で指定されます。contractItemList
  • 以下のすべてのエントリcontractItemList含まれるもの:
    • ゲストユーザー敷地内に到着するユーザーです。
    • 英語名英語での在庫名。
    • 英語での説明英語で書かれた在庫のより詳しい説明。
    • 価格商品の価格。
    • 旅程このアイテムを予約する必要がある時期。
    • 価格タイプ価格の計算方法。
    • 在庫タイプこれはどのようなタイプの在庫ですか。
    • 支払可能額旅行者に料金を請求する必要がある場合。現在、即時支払いオプションのみをサポートしています。
    • ポリシーキャンセルポリシーのルールを含めます。
    • 日替わり料金表予約する項目が部屋の場合、ゲストが宿泊する 1 泊あたりの部屋の料金を含めることを選択できます。
    • 受益者どの TripPay アカウントに商品価格のどの金額を割り当てるかを含めます。固定額 / パーセント額がサポートされています。

TripPay がリクエストに応答すると、次のようになります。

[
{
"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"
}
}
]

保存するid3 行目。これを使用して TripPay Web コンポーネントに挿入します。

この時点で、Payment Web Componentウェブサイトに組み込んでユーザーに表示します。

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

統合に関しては、これだけで十分です。その後の面倒な作業はすべてTripPayが行います。