取引情報のキャンセルデータの扱い
取引情報のキャンセルデータの扱いを確認したいです。
例えば、購入により「取引ID:A」がレコードとして生成されたとします。
その後(当日や後日)、取引ID:Aのキャンセル処理を行った場合、
元の取引ID:A自体のレコード内容(取消区分が、0:正常から1:取消)が更新されるのか、
キャンセルのデータ自体が新しい取引IDで生成されますでしょうか。
またキャンセルデータが新しく生成された場合、
このキャンセル(取引区分=1:取消)データが、どの取引に関連したキャンセルなのかを特定するには、
どこのデータをみれば(利用すれば)確認できますか?
答え
ご質問ありがとうございます。
前提として、スマレジ の取引の取消操作には「取消」と「返品取消」の二つの概念があります。
ユーザがある取引Aに対して、返品取消を実行した場合は、返品取消取引Bが生成されます。このAとBの紐付け情報は取引Bの
TransactionHeadにあるdisposeServerTransactionHeadId
にAの取引IDが設定されており、そこから判断できます。(未設定の場合は返品取消で作成したレコードではない)disposeServerTransactionHeadId
は取引一覧取得APIと取引取得APIで取得可能です。詳しくは下記仕様書をご確認ください。仕様書URL:https://www1.smaregi.dev/apidoc/#operation/getTransaction