TripPay ile Entegrasyon
Bu makale, TripPay ile nasıl uçtan uca entegre olunacağını gösteren bir örnek içermektedir.
Öncelikle aşağıdakileri okumanız önerilir:
- Ödeme > Eşleme.
- Ödeme > Entegrasyon.
- Ödeme Web Bileşeni.
- Ödeme API.
Create payable contractsbölümünü okuyun
TripPay’i kullanarak bir rezervasyonun ödemesini başarıyla yapmak için adımlar şunlardır:
- Rezervasyon sözleşmesinde belirttiğiniz yararlanıcıların eşlendiğinden emin olun.
- Seyahatçinin rezervasyon yapmak istediği envanteri seçmesine izin verin ve ödemeye hazır hale getirin.
- Rezervasyon yapılacak öğeleri içeren bir
ödenecek sözleşmeyi TripPay ile oluşturun. - Seyahatçinin TripPay Web Bileşeni’ni kullanarak ödeme yapmasını sağlayın.
Adım 1 ve Adım 2’yi tamamladığınızı ve TripPay’e rezervasyon hakkında bilgi vermeye hazır olduğunuzu varsayıyoruz.
Ödenecek sözleşme oluşturma
Section titled “Ödenecek sözleşme oluşturma”İlk ödenecek sözleşmenizi oluşturmak için ihtiyacınız olan her şeyi içeren bir JSON örnek isteği aşağıdadır.
{ "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" } ] } ] } ]}Açıklama:
Buradaki her veri noktasını açıklamayacağız çünkü API dokümanlarında zaten detaylıca ele alınmıştır.
- Satırlar: 2 - 7 rezervasyon için sorumlu kullanıcıdır. İki tür rezervasyon yapan vardır:
- Seyahatçi.
- Seyahat acentesi.
- Satırlar: 8 - 9 rezervasyonu kolaylaştıran TripPay hesabıdır. Bu:
- Sizin TripPay entegratör hesabınız olabilir.
- Bir bağlı kuruluş ağı işletiyorsanız, bağlı kuruluşunuz olabilir.
- Birden fazla tedarikçi arasında birden fazla rezervasyonu gruplayabilmek için
traceIdkullanın. Böylece grup rezervasyonunu iptal edebilirsiniz. redirectUrlödeme tamamlandıktan sonra TripPay’in yönlendireceği sayfayı belirtir.sourceUrlrezervasyonun yapıldığı site / uygulamadır.
contractList dizisi, seyahatçinin birden fazla tedarikçiden satın almak istediği öğeleri içerir. Her öğe şunları içerir:
identifiersizin oluşturduğunuz geçerli bir UUID’dir.- Envanteri rezervasyon yapmak istediğiniz tedarikçi.
- O tedarikçiden rezervasyon yapmak istediğiniz envanter. Bunlar iç içe
contractItemListdizisinde belirtilmiştir. contractItemListaltındaki her giriş şunları içerir:- Misafir kullanıcı Tesislere varacak kullanıcıdır.
- İngilizce isim Envanterin İngilizce dilindeki adı.
- İngilizce açıklama Envanterin İngilizce dilindeki daha uzun açıklaması.
- Fiyat Öğenin fiyatı.
- Güzergah Bu öğenin ne zaman rezerve edileceği.
- Fiyatlandırma türü Fiyatın nasıl hesaplandığı.
- Envanter türü Bu envanterin türü.
- Ödenecek Seyahatçiden ne zaman ücret alınacağı. Şu anda sadece anında ödeme seçeneklerini destekliyoruz.
- Politika İptal politikası kurallarını dahil edin.
- Günlük fiyat listesi Rezervasyon yapılan öğe bir oda ise, misafirin kaldığı her gece için o odanın fiyatını dahil edebilirsiniz.
- Yararlanıcılar Hangi TripPay hesabına öğe fiyatının ne kadarının tahsis edileceğini belirtin. Sabit / Yüzde tutarlar desteklenir.
TripPay isteğinize yanıt verdiğinde şöyle görünecektir:
[ { "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" } }]- satırdaki
iddeğerini kaydedin. Bunu TripPay web bileşenine enjekte etmek için kullanacaksınız.
TripPay’i Gömme
Section titled “TripPay’i Gömme”Bu noktada, Payment Web Component’i web sitenize gömmeye ve kullanıcıya göstermeye hazırsınız.
<trip-pay id="contract-1"></trip-pay>Entegrasyon açısından yapmanız gereken tek şey budur. Geri kalan tüm ağır işler TripPay tarafından yapılacaktır.