TripPay ile Entegrasyon
Bu makale, TripPay ile nasıl uçtan uca entegrasyon yapılacağını içermektedir.
Öncelikle aşağıdakileri okumanız önerilir:
- Ödeme > Eşleme.
- Ödeme > Entegrasyon.
- Ödeme Web Bileşeni.
- Ödeme API.
Ödenecek sözleşmeler oluşturmabö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 rezervasyonu yapan 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.- 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 gelecek kullanıcıdır.
- İngilizce isim Envanterin İngilizce dilindeki adıdır.
- İngilizce açıklama Envanterin İngilizce dilindeki daha uzun açıklamasıdır.
- Fiyat Öğenin fiyatıdır.
- Güzergah Bu öğenin ne zaman rezerve edileceğidir.
- Fiyatlandırma türü Fiyatın nasıl hesaplandığıdır.
- Envanter türü Bu envanterin türüdür.
- Ödenecek Seyahatçiden ne zaman ücret alınacağıdır. Şu anda sadece anında ödeme seçeneklerini destekliyoruz.
- Politika İptal politikası kurallarını içerir.
- 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 TripPay hesabının hangi kısmının öğe fiyatından ne kadar pay alacağını belirtir. 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.