旧 /api/v1/ API は、新規での提供は停止しています。 このヘルプは、既に API 利用されているベンダー向けのものです。
/api/v1/checkin/bookings エンドポイントのレスポンスには、payment_status と fees[].paid という支払い状態を示すデータが含まれています。
https://ziweizhou.github.io/slate/#search-a-booking
これら2つの項目の違いについてご説明します。
payment_status
これは予約全体(Bookingレベル)の支払い状況を表す項目です。
予約全体が支払い済みかどうかを判断するために使用されます。
fees[].paid
これは料金明細(Fee Detailレベル)の内部項目です。
この項目は、AirHost内部の Order レイヤーにおける支払い状況を表しています。
通常、この値はシステム上の決済フローを通じて支払いが完了した場合のみ true に更新されます。そのため、外部システム連携において予約全体の支払い状況を判断する用途には適していません。
注意:
予約の支払い完了 を判定する際は、fees[].paid ではなく、予約レベルの payment_status を参照する必要があります。 fees[].paid を参照すると二重課金を引き起こす原因となるので注意してください。
推奨ロジック
支払い済み判定は、以下のロジックで実装してください。
payment_status = paidまたはover_paid
→ 支払い完了として扱い、再請求しないpayment_status = not_paid
→ 未払いとして扱うpayment_status = partial_paid
→ 一部支払い済みとして扱う
