メインコンテンツにスキップ

旧 API /api/v1/checkin/bookings 利用時の注意点

T
対応者:Takashi Obatake

旧 /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
    → 一部支払い済みとして扱う

こちらの回答で解決しましたか?