TripPayとの統合
この記事には、TripPay との統合方法のエンドツーエンドの例が記載されています。
以下の内容をすでにお読みいただくことをお勧めします:
- 支払い > マッピング。
- 支払い > 統合。
- 支払いWebコンポーネント。
- 決済API。セクションを読む
Create payable contracts
TripPay を使用して予約の支払いを完了するための手順は次のとおりです。
- 予約契約書に記載した受益者がマッピングされていることを確認してください。
- 旅行者に予約したい在庫を選択させ、支払いの準備をさせます。
- 作成する
payable contract
予約するアイテムが含まれる TripPay を使用します。 - 旅行者が TripPay Web コンポーネントを使用して支払いを行えるようにします。
すでに完了していると想定していますStep 1
そして Step 2
そして、TripPay に予約について知らせる準備が整いました。
支払契約書を作成する
Section titled “支払契約書を作成する”これは、最初の支払い契約を作成するために必要なものがすべて含まれている JSON サンプル リクエストです。
{ "user": { "userIdentifier": "191d5729-0b90-4000-85df-1bea7a6e9a01", "firstName": "John", "lastName": "Smith", }, "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", "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" } }]
保存するid
3 行目。これを使用して TripPay Web コンポーネントに挿入します。
TripPayを埋め込む
Section titled “TripPayを埋め込む”この時点で、Payment Web Component
ウェブサイトに組み込んでユーザーに表示します。
<trip-pay id="contract-1"></trip-pay>
統合に関しては、これだけで十分です。その後の面倒な作業はすべてTripPayが行います。