メールにて送付した請求書から購入いただいた場合のorderにおけるcreated_at, updated_atについて

以前(2024年3月頃)までは、メールにて送付した請求書からクレジットカード払いを頂いたお客様の場合、Retrieve orderで取得できるorder情報のcreated_at, updated_atは下記のようになっており、この時刻はお客様が支払処理をした時刻(オーダ成立した時刻)と一致している状態でした。

    "created_at": "2024-03-03T10:14:49Z",
    "updated_at": "2024-03-03T10:14:50.000Z",

 

ところが、2024年4月になってから、同様なケースにおいて以下の通りcreated_atは請求書が送付された時刻、updated_atはお客様が支払処理をした時刻になっているようです。

    "created_at": "2024-04-10T04:16:08.229Z",
    "updated_at": "2024-04-11T03:55:04.000Z",

 
請求書発行はiOS版「SquareリテールPOSレジ」にて行っているのですが、アプリ側の仕様変更もしくはSquare側でのinovice または orderの記録の仕様に変更があったのでしょうか?

 

弊社ではcreated_at の時刻を基準に売上成立を識別し、データ取得を行っているため困っています。

97件の閲覧回数
メッセージ1/3
不適切なコンテンツを報告
1 Bベストアンサー

ベストアンサー

@sugai さん

 

created_at = 作成日
updated_at = 更新日
closed_at = 決済完了日

となります。

 

"created_at": "2024-03-03T10:14:49Z",
"updated_at": "2024-03-03T10:14:50.000Z",
これは、created_atにオーダーが作成され、その直後に決済が行われた(updated_at=closed_at)


"created_at": "2024-04-10T04:16:08.229Z",
"updated_at": "2024-04-11T03:55:04.000Z",
これは、created_atにオーダーが作成され、翌日に決済された(updated_at=closed_at) 

ものとなります。


決済が完了するとclosed_atにタイムスタンプが入り、その際にオーダーのデータが更新されるので、updated_atの値も同時に上書きされる、とのことでございました。お心当たりのケースでは、上記は妥当と考えられますでしょうか...?

 

こちらについて、さらにSquareあるいはエンジニアからの回答が必要な場合は、恐れ入りますが英語で開発者サポートまでお問い合わせ下さい。

他のAPI利用者から回答が得られやすい、開発者用コミュニティもご活用ください:Square Developer Forum

 

開発者向けリソース・サポート

間宮 −Mamiya
Square コミュニティ管理者
解決策や有用な回答には、ログイン して ベストアンサーとしてマークをクリックしましょう!

ベストアンサーを見る >

38件の閲覧回数
メッセージ3/3
不適切なコンテンツを報告
2 返信


@sugai さんは書きました:

(中略)

弊社ではcreated_at の時刻を基準に売上成立を識別し、データ取得を行っているため困っています。


 上記補足しますと、売上データ取得は毎時40分の定期バッチ処理を行っており、バッチ実行時の過去1時間分のデータを取得する形となっています。その際に「過去1時間分」を識別するためにcreated_atの時刻を利用しております。

 

今回見つけた事象ですと、売上が成立した時刻に定期バッチ処理によってorderを取得したいのですが、created_atは過去1時間以上前の時刻になってしまうため、データの取得が叶いません。updated_atによる識別が必須である場合はバッチプログラムの仕様変更を検討する必要があります。

 

ただ、バッチプログラム開発検討時にSquare社のエンジニアの方と相談をしたことがあるのですが、updated_atはSquareの管理画面でorder情報をWebUI上選択するだけでも変更がかかるケースがあるようでして、updated_atを利用するのは避けた…、という経緯があります。

89件の閲覧回数
メッセージ2/3
不適切なコンテンツを報告

ベストアンサー

@sugai さん

 

created_at = 作成日
updated_at = 更新日
closed_at = 決済完了日

となります。

 

"created_at": "2024-03-03T10:14:49Z",
"updated_at": "2024-03-03T10:14:50.000Z",
これは、created_atにオーダーが作成され、その直後に決済が行われた(updated_at=closed_at)


"created_at": "2024-04-10T04:16:08.229Z",
"updated_at": "2024-04-11T03:55:04.000Z",
これは、created_atにオーダーが作成され、翌日に決済された(updated_at=closed_at) 

ものとなります。


決済が完了するとclosed_atにタイムスタンプが入り、その際にオーダーのデータが更新されるので、updated_atの値も同時に上書きされる、とのことでございました。お心当たりのケースでは、上記は妥当と考えられますでしょうか...?

 

こちらについて、さらにSquareあるいはエンジニアからの回答が必要な場合は、恐れ入りますが英語で開発者サポートまでお問い合わせ下さい。

他のAPI利用者から回答が得られやすい、開発者用コミュニティもご活用ください:Square Developer Forum

 

開発者向けリソース・サポート

間宮 −Mamiya
Square コミュニティ管理者
解決策や有用な回答には、ログイン して ベストアンサーとしてマークをクリックしましょう!
39件の閲覧回数
メッセージ3/3
不適切なコンテンツを報告