取引取消のAPIに関する質問

BenBen
カテゴリ: POS

取引取消のAPIを見る限り、必要の情報は取引idと時間だけです。

それでは取引全体が取り消されると思います。

もし取引中に複数の商品があって、その中の一つだけを取り消したい場合は、どれのAPIを使うべきですか

答え

  • June 2021 編集されました

    @Ben

    一部の商品を取消としたい場合は、取消または打消取消とするのではなく『返品』を行います。

    ※返品の場合、元の取引と紐づきませんので、ご注意ください。


    APIで行う場合【取引登録API】にてマイナスの取引を立てていただきます。

    その際に transactionDetailDivision:2(返品) としてください。


    『返品』の概要は下記ヘルプサイトをご確認ください。

    https://help.smaregi.jp/hc/ja/articles/202423826


    また、一度その取引を取消し該当の商品を除いて取引を立て直す、ということも可能です。

  • 回答いただき有難うございます。

    返品のリクエストを送信してみましたが、少し問題があるかと思います。


    図に示されいるように、アプリで行った返品は、管理画面からは、「返品」という赤文字がついています。

    しかし、APIを送信して、青い「通常」だけ記載されています。

    アプリから見ますと、

    アプリから行った返品、単品の金額はプラスになっていますが、小計と合計はマイナスになっています

    一方、APIで送信したものは、単品の金額はマイナスが、小計と合計はプラスになっています。

    ちなみに、送信の時、小計をマイナスにすると、送信できなくなります。


    返品リクエストの正しい送信仕方を伺いします。

  • @Ben

    アプリで行った返品は、管理画面からは、「返品」という赤文字がついています。

    しかし、APIを送信して、青い「通常」だけ記載されています

    以前ご案内したヘルプサイトにも記載がありますが、返品の操作は下記2種類です。

    ①明細単位の返品:商品ごとに 通常/返品 の設定を行う方法

    ②返品販売:取引自体を「返品」をして登録する方法


    ①の場合、商品ごとに 通常/返品 の設定を行うため 取引種 に 返品 の表示はありません。

    ②の場合、取引自体が「返品」となるため、 取引種 に 返品 と表示されます。

    ※違いの詳細はお手数ですが、ヘルプサイトをご確認ください。


    アプリでは恐らく②の方法で返品されたため、取引種 に 返品 と表示されています。


    一方、APIでは「transactionHead」にて返品販売を指定することが出来ず、

    「details」の transactionDetailDivision にて返品の指定をしていただきます。

    そのため①の方法のみとなります。


    よって、アプリで立てた取引と、APIで立てた取引で表示に違いが生じています。


    アプリから行った返品、単品の金額はプラスになっていますが、小計と合計はマイナスになっています

    一方、APIで送信したものは、単品の金額はマイナスが、小計と合計はプラスになっています。

    ちなみに、送信の時、小計をマイナスにすると、送信できなくなります。

    返品リクエストの正しい送信仕方を伺いします。

    APIの場合も、アプリと同様に単品の金額(salesPrice)はプラス、小計(subtotal)と合計(total)はマイナスとしてください。


    transactionDetailDivision:2と指定していると、自動で金額をマイナスへ変換します。

    そのため、salesPriceをマイナスで入力してしまうと「--1800」となってしまい、エラーが生じます。


    salesPriceとsubtotal、totalの符号を変えて、再度お試しください。